From c7f5a9419b4b93efdc04ebfbb8e05a2ef0e09142 Mon Sep 17 00:00:00 2001 From: prep linden Date: Fri, 24 Sep 2010 13:11:53 -0400 Subject: Added support for joint offsets --- indra/llcharacter/lljoint.cpp | 15 +++++++++++++++ indra/llcharacter/lljoint.h | 4 ++++ 2 files changed, 19 insertions(+) (limited to 'indra/llcharacter') diff --git a/indra/llcharacter/lljoint.cpp b/indra/llcharacter/lljoint.cpp index 5c49214051..2449b01e15 100755 --- a/indra/llcharacter/lljoint.cpp +++ b/indra/llcharacter/lljoint.cpp @@ -239,6 +239,21 @@ void LLJoint::setPosition( const LLVector3& pos ) } } +//-------------------------------------------------------------------- +// storeCurrentXform() +//-------------------------------------------------------------------- +void LLJoint::storeCurrentXform( const LLVector3& pos ) +{ + mOldXform = mXform; + setPosition( pos ); +} +//-------------------------------------------------------------------- +// restoreOldXform() +//-------------------------------------------------------------------- +void LLJoint::restoreOldXform( void ) +{ + mXform = mOldXform; +} //-------------------------------------------------------------------- // getWorldPosition() diff --git a/indra/llcharacter/lljoint.h b/indra/llcharacter/lljoint.h index 0473d1599a..cf644e899f 100755 --- a/indra/llcharacter/lljoint.h +++ b/indra/llcharacter/lljoint.h @@ -86,6 +86,7 @@ protected: // explicit transformation members LLXformMatrix mXform; + LLXformMatrix mOldXform; public: U32 mDirtyFlags; @@ -178,6 +179,9 @@ public: S32 getJointNum() const { return mJointNum; } void setJointNum(S32 joint_num) { mJointNum = joint_num; } + + void restoreOldXform( void ); + void storeCurrentXform( const LLVector3& pos ); }; #endif // LL_LLJOINT_H -- cgit v1.2.3