LLJointStateBlender Class Reference

#include <llpose.h>

Collaboration diagram for LLJointStateBlender:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 LLJointStateBlender ()
 ~LLJointStateBlender ()
void blendJointStates (BOOL apply_now=TRUE)
BOOL addJointState (LLJointState *joint_state, S32 priority, BOOL additive_blend)
void interpolate (F32 u)
void clear ()
void resetCachedJoint ()

Public Attributes

LLJoint mJointCache

Protected Attributes

LLJointStatemJointStates [JSB_NUM_JOINT_STATES]
S32 mPriorities [JSB_NUM_JOINT_STATES]
BOOL mAdditiveBlends [JSB_NUM_JOINT_STATES]

Detailed Description

Definition at line 89 of file llpose.h.


Constructor & Destructor Documentation

LLJointStateBlender::LLJointStateBlender (  ) 

Definition at line 185 of file llpose.cpp.

References i, JSB_NUM_JOINT_STATES, mJointStates, mPriorities, NULL, S32, and S32_MIN.

LLJointStateBlender::~LLJointStateBlender (  ) 

Definition at line 194 of file llpose.cpp.


Member Function Documentation

BOOL LLJointStateBlender::addJointState ( LLJointState joint_state,
S32  priority,
BOOL  additive_blend 
)

Definition at line 202 of file llpose.cpp.

References FALSE, LLJointState::getJoint(), i, j, JSB_NUM_JOINT_STATES, llassert, mAdditiveBlends, mJointStates, mPriorities, NULL, S32, and TRUE.

Referenced by LLPoseBlender::addMotion().

void LLJointStateBlender::blendJointStates ( BOOL  apply_now = TRUE  ) 

Definition at line 244 of file llpose.cpp.

References f, LLJointState::getJoint(), LLJoint::getPosition(), LLJoint::getRotation(), LLJoint::getScale(), i, JSB_NUM_JOINT_STATES, lerp(), llmin(), mAdditiveBlends, mJointCache, mJointStates, nlerp(), NULL, LLJointState::POS, LLJointState::ROT, S32, LLJointState::SCALE, LLJoint::setPosition(), LLJoint::setRotation(), and LLJoint::setScale().

void LLJointStateBlender::clear (  ) 

Definition at line 427 of file llpose.cpp.

References i, JSB_NUM_JOINT_STATES, mJointStates, NULL, and S32.

void LLJointStateBlender::interpolate ( F32  u  ) 

Definition at line 405 of file llpose.cpp.

References LLJointState::getJoint(), LLJoint::getPosition(), LLJoint::getRotation(), LLJoint::getScale(), lerp(), mJointCache, mJointStates, nlerp(), LLJoint::setPosition(), LLJoint::setRotation(), and LLJoint::setScale().

void LLJointStateBlender::resetCachedJoint (  ) 

Definition at line 439 of file llpose.cpp.

References LLJointState::getJoint(), LLJoint::getPosition(), LLJoint::getRotation(), LLJoint::getScale(), mJointCache, mJointStates, LLJoint::setPosition(), LLJoint::setRotation(), and LLJoint::setScale().


Member Data Documentation

BOOL LLJointStateBlender::mAdditiveBlends[JSB_NUM_JOINT_STATES] [protected]

Definition at line 94 of file llpose.h.

Referenced by addJointState(), and blendJointStates().

LLJoint LLJointStateBlender::mJointCache

Definition at line 105 of file llpose.h.

Referenced by blendJointStates(), interpolate(), and resetCachedJoint().

LLJointState* LLJointStateBlender::mJointStates[JSB_NUM_JOINT_STATES] [protected]

Definition at line 92 of file llpose.h.

Referenced by addJointState(), blendJointStates(), clear(), interpolate(), LLJointStateBlender(), and resetCachedJoint().

S32 LLJointStateBlender::mPriorities[JSB_NUM_JOINT_STATES] [protected]

Definition at line 93 of file llpose.h.

Referenced by addJointState(), and LLJointStateBlender().


The documentation for this class was generated from the following files:
Generated on Thu Jul 1 06:11:26 2010 for Second Life Viewer by  doxygen 1.4.7