diff options
author | James Cook <james@lindenlab.com> | 2007-01-02 08:33:20 +0000 |
---|---|---|
committer | James Cook <james@lindenlab.com> | 2007-01-02 08:33:20 +0000 |
commit | 420b91db29485df39fd6e724e782c449158811cb (patch) | |
tree | b471a94563af914d3ed3edd3e856d21cb1b69945 /indra/newview/llhudeffectbeam.h |
Print done when done.
Diffstat (limited to 'indra/newview/llhudeffectbeam.h')
-rw-r--r-- | indra/newview/llhudeffectbeam.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/indra/newview/llhudeffectbeam.h b/indra/newview/llhudeffectbeam.h new file mode 100644 index 0000000000..9cb28ac1dc --- /dev/null +++ b/indra/newview/llhudeffectbeam.h @@ -0,0 +1,51 @@ +/** + * @file llhudeffectbeam.h + * @brief LLHUDEffectBeam class definition + * + * Copyright (c) 2002-$CurrentYear$, Linden Research, Inc. + * $License$ + */ + +#ifndef LL_LLHUDEFFECTBEAM_H +#define LL_LLHUDEFFECTBEAM_H + +#include "llhudeffect.h" + +#include "llframetimer.h" + +#include "llinterp.h" + +class LLViewerObject; + +const S32 NUM_POINTS = 5; + +class LLHUDEffectBeam : public LLHUDEffect +{ +public: + /*virtual*/ void setSourceObject(LLViewerObject *objp); + + // A beam can have either a target object or a target position + void setTargetObject(LLViewerObject *objp); + void setTargetPos(const LLVector3d &target_pos_global); + + friend class LLHUDObject; +protected: + LLHUDEffectBeam(const U8 type); + ~LLHUDEffectBeam(); + + /*virtual*/ void render(); + /*virtual*/ void packData(LLMessageSystem *mesgsys); + /*virtual*/ void unpackData(LLMessageSystem *mesgsys, S32 blocknum); +private: + void setupParticle(const S32 i); + + + F32 mKillTime; + LLFrameTimer mTimer; + LLInterpLinear<LLVector3d> mInterp[NUM_POINTS]; + LLInterpLinear<F32> mInterpFade[NUM_POINTS]; + LLInterpLinear<F32> mFadeInterp; + LLVector3d mTargetPos; +}; + +#endif // LL_LLHUDEFFECTBEAM_H |