llhudeffecttrail.h

Go to the documentation of this file.
00001 
00032 #ifndef LL_LLHUDEFFECTTRAIL_H
00033 #define LL_LLHUDEFFECTTRAIL_H
00034 
00035 #include "llhudeffect.h"
00036 
00037 #include "llframetimer.h"
00038 
00039 #include "llinterp.h"
00040 #include "llviewerpartsim.h"
00041 
00042 class LLViewerObject;
00043 
00044 const U32 NUM_TRAIL_POINTS = 40;
00045 
00046 
00047 class LLHUDEffectSpiral : public LLHUDEffect
00048 {
00049 public:
00050         /*virtual*/ void markDead();
00051         /*virtual*/ void setTargetObject(LLViewerObject* objectp);
00052         void setVMag(F32 vmag) { mVMag = vmag; }
00053         void setVOffset(F32 offset) { mVOffset = offset; }
00054         void setInitialRadius(F32 radius) { mInitialRadius = radius; }
00055         void setFinalRadius(F32 radius) { mFinalRadius = radius; }
00056         void setScaleBase(F32 scale) { mScaleBase = scale; }
00057         void setScaleVar(F32 scale) { mScaleVar = scale; }
00058         void setSpinRate(F32 rate) { mSpinRate = rate; }
00059         void setFlickerRate(F32 rate) { mFlickerRate = rate; }
00060 
00061         // Start the effect playing locally.
00062         void triggerLocal();
00063 
00064         friend class LLHUDObject;
00065 protected:
00066         LLHUDEffectSpiral(const U8 type);
00067         ~LLHUDEffectSpiral();
00068 
00069         /*virtual*/ void render();
00070         /*virtual*/ void packData(LLMessageSystem *mesgsys);
00071         /*virtual*/ void unpackData(LLMessageSystem *mesgsys, S32 blocknum);
00072 private:
00073         /*
00074         void setupParticle(const S32 i, const F32 start_time);
00075 
00076         
00077         LLInterpExp<F32>                                mRadius[NUM_TRAIL_POINTS];
00078         LLInterpLinear<LLVector3d>              mDistance[NUM_TRAIL_POINTS];
00079         LLInterpLinear<F32>                             mScale[NUM_TRAIL_POINTS];
00080         F32                                                             mOffset[NUM_TRAIL_POINTS];
00081         */
00082 
00083         BOOL                                                    mbInit;
00084         LLPointer<LLViewerPartSource>   mPartSourcep;
00085 
00086         F32                                                             mKillTime;
00087         F32                                                             mVMag;
00088         F32                                                             mVOffset;
00089         F32                                                             mInitialRadius;
00090         F32                                                             mFinalRadius;
00091         F32                                                             mSpinRate;
00092         F32                                                             mFlickerRate;
00093         F32                                                             mScaleBase;
00094         F32                                                             mScaleVar;
00095         LLFrameTimer                                    mTimer;
00096         LLInterpLinear<F32>                             mFadeInterp;
00097 };
00098 
00099 #endif // LL_LLHUDEFFECTGLOW_H

Generated on Thu Jul 1 06:08:42 2010 for Second Life Viewer by  doxygen 1.4.7