LLMotionController Class Reference

#include <llmotioncontroller.h>

Collaboration diagram for LLMotionController:

Collaboration graph
[legend]

List of all members.

Public Types

typedef std::list< LLMotion * > motion_list_t
typedef std::set< LLMotion * > motion_set_t

Public Member Functions

 LLMotionController ()
virtual ~LLMotionController ()
void setCharacter (LLCharacter *character)
BOOL addMotion (const LLUUID &id, LLMotionConstructor create)
LLMotioncreateMotion (const LLUUID &id)
void removeMotion (const LLUUID &id)
BOOL startMotion (const LLUUID &id, F32 start_offset)
BOOL stopMotionLocally (const LLUUID &id, BOOL stop_immediate)
void updateMotion ()
void clearBlenders ()
void flushAllMotions ()
void deactivateAllMotions ()
void pause ()
void unpause ()
BOOL isPaused ()
void setTimeStep (F32 step)
void setTimeFactor (F32 time_factor)
F32 getTimeFactor ()
motion_list_tgetActiveMotions ()
bool isMotionActive (LLMotion *motion)
bool isMotionLoading (LLMotion *motion)
LLMotionfindMotion (const LLUUID &id)

Protected Types

typedef std::map< LLUUID,
LLMotion * > 
motion_map_t

Protected Member Functions

void deleteAllMotions ()
void addLoadedMotion (LLMotion *motion)
BOOL activateMotionInstance (LLMotion *motion, F32 time)
BOOL deactivateMotionInstance (LLMotion *motion)
void deprecateMotionInstance (LLMotion *motion)
BOOL stopMotionInstance (LLMotion *motion, BOOL stop_imemdiate)
void removeMotionInstance (LLMotion *motion)
void updateRegularMotions ()
void updateAdditiveMotions ()
void resetJointSignatures ()
void updateMotionsByType (LLMotion::LLMotionBlendType motion_type)

Protected Attributes

F32 mTimeFactor
LLPoseBlender mPoseBlender
LLCharactermCharacter
motion_map_t mAllMotions
motion_set_t mLoadingMotions
motion_list_t mLoadedMotions
motion_list_t mActiveMotions
motion_set_t mDeprecatedMotions
LLFrameTimer mTimer
F32 mTime
F32 mTimeOffset
F32 mLastTime
BOOL mHasRunOnce
BOOL mPaused
F32 mTimeStep
S32 mTimeStepCount
F32 mLastInterp
F32 mPauseTime
U8 mJointSignature [2][LL_CHARACTER_MAX_JOINTS]

Static Protected Attributes

static LLMotionRegistry sRegistry


Detailed Description

Definition at line 112 of file llmotioncontroller.h.


Member Typedef Documentation

Definition at line 115 of file llmotioncontroller.h.

Definition at line 116 of file llmotioncontroller.h.

typedef std::map<LLUUID, LLMotion*> LLMotionController::motion_map_t [protected]

Definition at line 216 of file llmotioncontroller.h.


Constructor & Destructor Documentation

LLMotionController::LLMotionController (  ) 

LLMotionController::~LLMotionController (  )  [virtual]

Definition at line 177 of file llmotioncontroller.cpp.

References deleteAllMotions().

Here is the call graph for this function:


Member Function Documentation

void LLMotionController::setCharacter ( LLCharacter character  ) 

Definition at line 276 of file llmotioncontroller.cpp.

References mCharacter.

Referenced by LLCharacter::LLCharacter().

Here is the caller graph for this function:

BOOL LLMotionController::addMotion ( const LLUUID id,
LLMotionConstructor  create 
)

Definition at line 285 of file llmotioncontroller.cpp.

References LLMotionRegistry::addMotion(), and sRegistry.

Referenced by LLCharacter::addMotion().

Here is the call graph for this function:

Here is the caller graph for this function:

LLMotion * LLMotionController::createMotion ( const LLUUID id  ) 

void LLMotionController::removeMotion ( const LLUUID id  ) 

Definition at line 293 of file llmotioncontroller.cpp.

References findMotion(), mAllMotions, and removeMotionInstance().

Referenced by addLoadedMotion(), and LLCharacter::removeMotion().

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL LLMotionController::startMotion ( const LLUUID id,
F32  start_offset 
)

BOOL LLMotionController::stopMotionLocally ( const LLUUID id,
BOOL  stop_immediate 
)

Definition at line 413 of file llmotioncontroller.cpp.

References findMotion(), and stopMotionInstance().

Referenced by LLCharacter::stopMotion().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLMotionController::updateMotion (  ) 

void LLMotionController::clearBlenders (  )  [inline]

Definition at line 160 of file llmotioncontroller.h.

References LLPoseBlender::clearBlenders(), and mPoseBlender.

Referenced by updateMotion().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLMotionController::flushAllMotions (  ) 

Definition at line 953 of file llmotioncontroller.cpp.

References LLMotion::deactivate(), deleteAllMotions(), LLMotion::getID(), LLMotion::mActivationTimestamp, mActiveMotions, mCharacter, mTime, LLCharacter::removeAnimationData(), and startMotion().

Referenced by LLCharacter::flushAllMotions().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLMotionController::deactivateAllMotions (  ) 

Definition at line 935 of file llmotioncontroller.cpp.

References LLMotion::deactivate(), deleteAllMotions(), and mAllMotions.

Referenced by LLCharacter::deactivateAllMotions().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLMotionController::pause (  ) 

Definition at line 985 of file llmotioncontroller.cpp.

References LLFrameTimer::getElapsedTimeF32(), mPaused, mPauseTime, mTimer, and TRUE.

Referenced by LLCharacter::requestPause(), LLVOAvatar::updateCharacter(), and LLCharacter::updateMotion().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLMotionController::unpause (  ) 

Definition at line 999 of file llmotioncontroller.cpp.

References FALSE, mPaused, mPauseTime, mTimer, LLFrameTimer::reset(), and LLFrameTimer::setAge().

Referenced by LLVOAvatar::updateCharacter(), and LLCharacter::updateMotion().

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL LLMotionController::isPaused (  )  [inline]

Definition at line 172 of file llmotioncontroller.h.

References mPaused.

Referenced by LLCharacter::areAnimationsPaused(), LLVOAvatar::updateCharacter(), and LLCharacter::updateMotion().

Here is the caller graph for this function:

void LLMotionController::setTimeStep ( F32  step  ) 

void LLMotionController::setTimeFactor ( F32  time_factor  ) 

Definition at line 267 of file llmotioncontroller.cpp.

References LLFrameTimer::getElapsedTimeAndResetF32(), mTimeFactor, mTimeOffset, and mTimer.

Referenced by LLCharacter::setAnimTimeFactor().

Here is the call graph for this function:

Here is the caller graph for this function:

F32 LLMotionController::getTimeFactor (  )  [inline]

Definition at line 177 of file llmotioncontroller.h.

References mTimeFactor.

motion_list_t& LLMotionController::getActiveMotions (  )  [inline]

Definition at line 179 of file llmotioncontroller.h.

References mActiveMotions.

Referenced by LLVOAvatar::updateCharacter().

Here is the caller graph for this function:

bool LLMotionController::isMotionActive ( LLMotion motion  ) 

Definition at line 910 of file llmotioncontroller.cpp.

References LLMotion::isActive().

Referenced by addLoadedMotion(), LLCharacter::isMotionActive(), startMotion(), and stopMotionInstance().

Here is the call graph for this function:

Here is the caller graph for this function:

bool LLMotionController::isMotionLoading ( LLMotion motion  ) 

Definition at line 918 of file llmotioncontroller.cpp.

References mLoadingMotions.

Referenced by stopMotionInstance().

Here is the caller graph for this function:

LLMotion * LLMotionController::findMotion ( const LLUUID id  ) 

Definition at line 927 of file llmotioncontroller.cpp.

References mAllMotions, and NULL.

Referenced by addLoadedMotion(), createMotion(), LLVOAvatar::findMotion(), LLCharacter::isMotionActive(), removeMotion(), startMotion(), and stopMotionLocally().

Here is the caller graph for this function:

void LLMotionController::deleteAllMotions (  )  [protected]

Definition at line 185 of file llmotioncontroller.cpp.

References mActiveMotions, mAllMotions, mLoadedMotions, and mLoadingMotions.

Referenced by deactivateAllMotions(), flushAllMotions(), and ~LLMotionController().

Here is the caller graph for this function:

void LLMotionController::addLoadedMotion ( LLMotion motion  )  [protected]

Definition at line 198 of file llmotioncontroller.cpp.

References LLPoseBlender::clearBlenders(), findMotion(), LLMotion::getID(), isMotionActive(), MAX_MOTION_INSTANCES, mLoadedMotions, mPoseBlender, and removeMotion().

Referenced by createMotion(), and updateMotion().

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL LLMotionController::activateMotionInstance ( LLMotion motion,
F32  time 
) [protected]

BOOL LLMotionController::deactivateMotionInstance ( LLMotion motion  )  [protected]

Definition at line 877 of file llmotioncontroller.cpp.

References LLMotion::deactivate(), mActiveMotions, mDeprecatedMotions, removeMotionInstance(), and TRUE.

Referenced by stopMotionInstance(), and updateMotionsByType().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLMotionController::deprecateMotionInstance ( LLMotion motion  )  [protected]

Definition at line 897 of file llmotioncontroller.cpp.

References FALSE, LLMotion::getID(), mAllMotions, mDeprecatedMotions, and stopMotionInstance().

Referenced by startMotion().

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL LLMotionController::stopMotionInstance ( LLMotion motion,
BOOL  stop_imemdiate 
) [protected]

void LLMotionController::removeMotionInstance ( LLMotion motion  )  [protected]

Definition at line 305 of file llmotioncontroller.cpp.

References mActiveMotions, mLoadedMotions, mLoadingMotions, stopMotionInstance(), and TRUE.

Referenced by deactivateMotionInstance(), and removeMotion().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLMotionController::updateRegularMotions (  )  [protected]

Definition at line 456 of file llmotioncontroller.cpp.

References LLMotion::NORMAL_BLEND, and updateMotionsByType().

Referenced by updateMotion().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLMotionController::updateAdditiveMotions (  )  [protected]

Definition at line 464 of file llmotioncontroller.cpp.

References LLMotion::ADDITIVE_BLEND, and updateMotionsByType().

Referenced by updateMotion().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLMotionController::resetJointSignatures (  )  [protected]

Definition at line 472 of file llmotioncontroller.cpp.

References LL_CHARACTER_MAX_JOINTS, and mJointSignature.

Referenced by updateMotion().

Here is the caller graph for this function:

void LLMotionController::updateMotionsByType ( LLMotion::LLMotionBlendType  motion_type  )  [protected]


Member Data Documentation

Definition at line 203 of file llmotioncontroller.h.

Referenced by addMotion(), createMotion(), and updateMotion().

Definition at line 220 of file llmotioncontroller.h.

Referenced by addLoadedMotion(), deleteAllMotions(), and removeMotionInstance().

Definition at line 222 of file llmotioncontroller.h.

Referenced by deactivateMotionInstance(), and deprecateMotionInstance().

Definition at line 224 of file llmotioncontroller.h.

Referenced by pause(), setTimeFactor(), stopMotionInstance(), unpause(), and updateMotion().

Definition at line 227 of file llmotioncontroller.h.

Referenced by LLMotionController(), and updateMotion().

Definition at line 228 of file llmotioncontroller.h.

Referenced by LLMotionController(), updateMotion(), and updateMotionsByType().

Definition at line 231 of file llmotioncontroller.h.

Referenced by LLMotionController(), and updateMotion().

Definition at line 232 of file llmotioncontroller.h.

Referenced by LLMotionController(), and updateMotion().

Definition at line 233 of file llmotioncontroller.h.

Referenced by LLMotionController(), pause(), and unpause().


The documentation for this class was generated from the following files:

Generated on Fri May 16 08:54:02 2008 for SecondLife by  doxygen 1.5.5