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/llcharacter/llkeyframestandmotion.h |
Print done when done.
Diffstat (limited to 'indra/llcharacter/llkeyframestandmotion.h')
-rw-r--r-- | indra/llcharacter/llkeyframestandmotion.h | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/indra/llcharacter/llkeyframestandmotion.h b/indra/llcharacter/llkeyframestandmotion.h new file mode 100644 index 0000000000..a82c92d07f --- /dev/null +++ b/indra/llcharacter/llkeyframestandmotion.h @@ -0,0 +1,98 @@ +/** + * @file llkeyframestandmotion.h + * @brief Implementation of LLKeyframeStandMotion class. + * + * Copyright (c) 2001-$CurrentYear$, Linden Research, Inc. + * $License$ + */ + +#ifndef LL_LLKEYFRAMESTANDMOTION_H +#define LL_LLKEYFRAMESTANDMOTION_H + +//----------------------------------------------------------------------------- +// Header files +//----------------------------------------------------------------------------- +#include "llkeyframemotion.h" +#include "lljointsolverrp3.h" + + +//----------------------------------------------------------------------------- +// class LLKeyframeStandMotion +//----------------------------------------------------------------------------- +class LLKeyframeStandMotion : + public LLKeyframeMotion +{ +public: + // Constructor + LLKeyframeStandMotion(const LLUUID &id); + + // Destructor + virtual ~LLKeyframeStandMotion(); + +public: + //------------------------------------------------------------------------- + // functions to support MotionController and MotionRegistry + //------------------------------------------------------------------------- + + // static constructor + // all subclasses must implement such a function and register it + static LLMotion *create(const LLUUID &id) { return new LLKeyframeStandMotion(id); } + +public: + //------------------------------------------------------------------------- + // animation callbacks to be implemented by subclasses + //------------------------------------------------------------------------- + virtual LLMotionInitStatus onInitialize(LLCharacter *character); + virtual BOOL onActivate(); + void onDeactivate(); + virtual BOOL onUpdate(F32 time, U8* joint_mask); + +public: + //------------------------------------------------------------------------- + // Member Data + //------------------------------------------------------------------------- + LLCharacter *mCharacter; + + BOOL mFlipFeet; + + LLJointState *mPelvisState; + + LLJointState *mHipLeftState; + LLJointState *mKneeLeftState; + LLJointState *mAnkleLeftState; + + LLJointState *mHipRightState; + LLJointState *mKneeRightState; + LLJointState *mAnkleRightState; + + LLJoint mPelvisJoint; + + LLJoint mHipLeftJoint; + LLJoint mKneeLeftJoint; + LLJoint mAnkleLeftJoint; + LLJoint mTargetLeft; + + LLJoint mHipRightJoint; + LLJoint mKneeRightJoint; + LLJoint mAnkleRightJoint; + LLJoint mTargetRight; + + LLJointSolverRP3 mIKLeft; + LLJointSolverRP3 mIKRight; + + LLVector3 mPositionLeft; + LLVector3 mPositionRight; + LLVector3 mNormalLeft; + LLVector3 mNormalRight; + LLQuaternion mRotationLeft; + LLQuaternion mRotationRight; + + LLQuaternion mLastGoodPelvisRotation; + LLVector3 mLastGoodPosition; + BOOL mTrackAnkles; + + S32 mFrameNum; +}; + +#endif // LL_LLKEYFRAMESTANDMOTION_H + |