#include <llpose.h>
Public Member Functions | |
LLJointStateBlender () | |
~LLJointStateBlender () | |
void | blendJointStates (BOOL apply_now=TRUE) |
BOOL | addJointState (const LLPointer< LLJointState > &joint_state, S32 priority, BOOL additive_blend) |
void | interpolate (F32 u) |
void | clear () |
void | resetCachedJoint () |
Public Attributes | |
LLJoint | mJointCache |
Protected Attributes | |
LLPointer< LLJointState > | mJointStates [JSB_NUM_JOINT_STATES] |
S32 | mPriorities [JSB_NUM_JOINT_STATES] |
BOOL | mAdditiveBlends [JSB_NUM_JOINT_STATES] |
Definition at line 87 of file llpose.h.
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.
void LLJointStateBlender::blendJointStates | ( | BOOL | apply_now = TRUE |
) |
Definition at line 244 of file llpose.cpp.
References LLVector3::clearVec(), LLJointState::getPosition(), LLJoint::getPosition(), LLJointState::getRotation(), LLJoint::getRotation(), LLJointState::getScale(), LLJoint::getScale(), LLJointState::getUsage(), LLJointState::getWeight(), i, LLVector3::isFinite(), JSB_NUM_JOINT_STATES, lerp(), llmin(), mAdditiveBlends, mJointCache, mJointStates, nlerp(), LLPointer< Type >::notNull(), NULL, LLJointState::POS, LLJointState::ROT, S32, LLJointState::SCALE, LLJoint::setPosition(), LLJoint::setRotation(), LLJoint::setScale(), and LLVector3::setVec().
Referenced by LLPoseBlender::blendAndApply(), and LLPoseBlender::blendAndCache().
BOOL LLJointStateBlender::addJointState | ( | const LLPointer< LLJointState > & | joint_state, | |
S32 | priority, | |||
BOOL | additive_blend | |||
) |
Definition at line 202 of file llpose.cpp.
References FALSE, i, j, JSB_NUM_JOINT_STATES, llassert, mAdditiveBlends, mJointStates, mPriorities, S32, and TRUE.
Referenced by LLPoseBlender::addMotion().
void LLJointStateBlender::interpolate | ( | F32 | u | ) |
Definition at line 410 of file llpose.cpp.
References LLJoint::getPosition(), LLJoint::getRotation(), LLJoint::getScale(), lerp(), mJointCache, mJointStates, nlerp(), LLJoint::setPosition(), LLJoint::setRotation(), and LLJoint::setScale().
Referenced by LLPoseBlender::interpolate().
void LLJointStateBlender::clear | ( | ) |
Definition at line 432 of file llpose.cpp.
References i, JSB_NUM_JOINT_STATES, mJointStates, NULL, and S32.
Referenced by LLPoseBlender::clearBlenders().
void LLJointStateBlender::resetCachedJoint | ( | ) |
Definition at line 444 of file llpose.cpp.
References LLJoint::getPosition(), LLJoint::getRotation(), LLJoint::getScale(), mJointCache, mJointStates, LLJoint::setPosition(), LLJoint::setRotation(), and LLJoint::setScale().
Referenced by LLPoseBlender::blendAndCache().
Definition at line 90 of file llpose.h.
Referenced by addJointState(), blendJointStates(), clear(), interpolate(), LLJointStateBlender(), and resetCachedJoint().
S32 LLJointStateBlender::mPriorities[JSB_NUM_JOINT_STATES] [protected] |
BOOL LLJointStateBlender::mAdditiveBlends[JSB_NUM_JOINT_STATES] [protected] |
Definition at line 103 of file llpose.h.
Referenced by blendJointStates(), interpolate(), and resetCachedJoint().