#include <lljointsolverrp3.h>
Collaboration diagram for LLJointSolverRP3:

| Public Member Functions | |
| LLJointSolverRP3 () | |
| virtual | ~LLJointSolverRP3 () | 
| void | setupJoints (LLJoint *jointA, LLJoint *jointB, LLJoint *jointC, LLJoint *jointGoal) | 
| const LLVector3 & | getPoleVector () | 
| void | setPoleVector (const LLVector3 &poleVector) | 
| void | setBAxis (const LLVector3 &bAxis) | 
| F32 | getTwist () | 
| void | setTwist (F32 twist) | 
| void | solve () | 
| Protected Attributes | |
| LLJoint * | mJointA | 
| LLJoint * | mJointB | 
| LLJoint * | mJointC | 
| LLJoint * | mJointGoal | 
| F32 | mLengthAB | 
| F32 | mLengthBC | 
| LLVector3 | mPoleVector | 
| LLVector3 | mBAxis | 
| BOOL | mbUseBAxis | 
| F32 | mTwist | 
| BOOL | mFirstTime | 
| LLMatrix4 | mSavedJointAMat | 
| LLMatrix4 | mSavedInvPlaneMat | 
| LLQuaternion | mJointABaseRotation | 
| LLQuaternion | mJointBBaseRotation | 
Definition at line 92 of file lljointsolverrp3.h.
| LLJointSolverRP3::LLJointSolverRP3 | ( | ) | 
Definition at line 47 of file lljointsolverrp3.cpp.
References f, FALSE, mbUseBAxis, mFirstTime, mJointA, mJointB, mJointC, mJointGoal, mLengthAB, mLengthBC, mPoleVector, mTwist, NULL, LLVector3::setVec(), and TRUE.
| LLJointSolverRP3::~LLJointSolverRP3 | ( | ) |  [virtual] | 
Definition at line 65 of file lljointsolverrp3.cpp.
| const LLVector3 & LLJointSolverRP3::getPoleVector | ( | ) | 
| F32 LLJointSolverRP3::getTwist | ( | ) | 
Definition at line 113 of file lljointsolverrp3.cpp.
References mBAxis, mbUseBAxis, LLVector3::normVec(), and TRUE.
Referenced by LLKeyframeStandMotion::onActivate(), and LLEditingMotion::onInitialize().
Definition at line 103 of file lljointsolverrp3.cpp.
References mPoleVector, and LLVector3::normVec().
Referenced by LLKeyframeStandMotion::onActivate(), and LLEditingMotion::onInitialize().
| void LLJointSolverRP3::setupJoints | ( | LLJoint * | jointA, | |
| LLJoint * | jointB, | |||
| LLJoint * | jointC, | |||
| LLJoint * | jointGoal | |||
| ) | 
Definition at line 73 of file lljointsolverrp3.cpp.
References LLJoint::getPosition(), LLJoint::getRotation(), LLVector3::magVec(), mJointA, mJointABaseRotation, mJointB, mJointBBaseRotation, mJointC, mJointGoal, mLengthAB, and mLengthBC.
Referenced by LLEditingMotion::onInitialize(), and LLKeyframeStandMotion::onUpdate().
| void LLJointSolverRP3::solve | ( | ) | 
Definition at line 141 of file lljointsolverrp3.cpp.
References angle_between(), are_parallel(), f, F_PI, LLJoint::getParent(), LLJoint::getWorldMatrix(), LLJoint::getWorldPosition(), LLJoint::getWorldRotation(), LLVector3::magVec(), LLVector3::magVecSquared(), mBAxis, mbUseBAxis, mJointA, mJointABaseRotation, mJointB, mJointBBaseRotation, mJointC, mJointGoal, mPoleVector, mTwist, LLVector3::normVec(), rotate_vector(), LLQuaternion::setQuat(), LLJoint::setRotation(), LLJoint::setWorldRotation(), and LLQuaternion::shortestArc().
Referenced by LLKeyframeStandMotion::onUpdate(), and LLEditingMotion::onUpdate().
| LLVector3 LLJointSolverRP3::mBAxis  [protected] | 
| BOOL LLJointSolverRP3::mbUseBAxis  [protected] | 
Definition at line 105 of file lljointsolverrp3.h.
Referenced by LLJointSolverRP3(), setBAxis(), and solve().
| BOOL LLJointSolverRP3::mFirstTime  [protected] | 
| LLJoint* LLJointSolverRP3::mJointA  [protected] | 
Definition at line 95 of file lljointsolverrp3.h.
Referenced by LLJointSolverRP3(), setupJoints(), and solve().
| LLQuaternion LLJointSolverRP3::mJointABaseRotation  [protected] | 
| LLJoint* LLJointSolverRP3::mJointB  [protected] | 
Definition at line 96 of file lljointsolverrp3.h.
Referenced by LLJointSolverRP3(), setupJoints(), and solve().
| LLQuaternion LLJointSolverRP3::mJointBBaseRotation  [protected] | 
| LLJoint* LLJointSolverRP3::mJointC  [protected] | 
Definition at line 97 of file lljointsolverrp3.h.
Referenced by LLJointSolverRP3(), setupJoints(), and solve().
| LLJoint* LLJointSolverRP3::mJointGoal  [protected] | 
Definition at line 98 of file lljointsolverrp3.h.
Referenced by LLJointSolverRP3(), setupJoints(), and solve().
| F32 LLJointSolverRP3::mLengthAB  [protected] | 
Definition at line 100 of file lljointsolverrp3.h.
Referenced by LLJointSolverRP3(), and setupJoints().
| F32 LLJointSolverRP3::mLengthBC  [protected] | 
Definition at line 101 of file lljointsolverrp3.h.
Referenced by LLJointSolverRP3(), and setupJoints().
| LLVector3 LLJointSolverRP3::mPoleVector  [protected] | 
Definition at line 103 of file lljointsolverrp3.h.
Referenced by getPoleVector(), LLJointSolverRP3(), setPoleVector(), and solve().
| LLMatrix4 LLJointSolverRP3::mSavedInvPlaneMat  [protected] | 
Definition at line 111 of file lljointsolverrp3.h.
| LLMatrix4 LLJointSolverRP3::mSavedJointAMat  [protected] | 
Definition at line 110 of file lljointsolverrp3.h.
| F32 LLJointSolverRP3::mTwist  [protected] | 
Definition at line 107 of file lljointsolverrp3.h.
Referenced by getTwist(), LLJointSolverRP3(), setTwist(), and solve().
 1.4.7
 1.4.7