aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/llcharacter/llcharacter.h
diff options
context:
space:
mode:
Diffstat (limited to 'linden/indra/llcharacter/llcharacter.h')
-rw-r--r--linden/indra/llcharacter/llcharacter.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/linden/indra/llcharacter/llcharacter.h b/linden/indra/llcharacter/llcharacter.h
index 7a841ef..ba807bc 100644
--- a/linden/indra/llcharacter/llcharacter.h
+++ b/linden/indra/llcharacter/llcharacter.h
@@ -137,13 +137,16 @@ public:
137 //------------------------------------------------------------------------- 137 //-------------------------------------------------------------------------
138 // registers a motion with the character 138 // registers a motion with the character
139 // returns true if successfull 139 // returns true if successfull
140 BOOL addMotion( const LLUUID& id, LLMotionConstructor create ); 140 BOOL registerMotion( const LLUUID& id, LLMotionConstructor create );
141 141
142 void removeMotion( const LLUUID& id ); 142 void removeMotion( const LLUUID& id );
143 143
144 // returns an instance of a registered motion 144 // returns an instance of a registered motion, creating one if necessary
145 LLMotion* createMotion( const LLUUID &id ); 145 LLMotion* createMotion( const LLUUID &id );
146 146
147 // returns an existing instance of a registered motion
148 LLMotion* findMotion( const LLUUID &id );
149
147 // start a motion 150 // start a motion
148 // returns true if successful, false if an error occurred 151 // returns true if successful, false if an error occurred
149 virtual BOOL startMotion( const LLUUID& id, F32 start_offset = 0.f); 152 virtual BOOL startMotion( const LLUUID& id, F32 start_offset = 0.f);
@@ -161,12 +164,16 @@ public:
161 virtual void requestStopMotion( LLMotion* motion ); 164 virtual void requestStopMotion( LLMotion* motion );
162 165
163 // periodic update function, steps the motion controller 166 // periodic update function, steps the motion controller
164 void updateMotion(BOOL force_update = FALSE); 167 enum e_update_t { NORMAL_UPDATE, HIDDEN_UPDATE, FORCE_UPDATE };
168 void updateMotions(e_update_t update_type);
165 169
166 LLAnimPauseRequest requestPause(); 170 LLAnimPauseRequest requestPause();
167 BOOL areAnimationsPaused() { return mMotionController.isPaused(); } 171 BOOL areAnimationsPaused() { return mMotionController.isPaused(); }
168 void setAnimTimeFactor(F32 factor) { mMotionController.setTimeFactor(factor); } 172 void setAnimTimeFactor(F32 factor) { mMotionController.setTimeFactor(factor); }
169 void setTimeStep(F32 time_step) { mMotionController.setTimeStep(time_step); } 173 void setTimeStep(F32 time_step) { mMotionController.setTimeStep(time_step); }
174
175 LLMotionController& getMotionController() { return mMotionController; }
176
170 // Releases all motion instances which should result in 177 // Releases all motion instances which should result in
171 // no cached references to character joint data. This is 178 // no cached references to character joint data. This is
172 // useful if a character wants to rebuild it's skeleton. 179 // useful if a character wants to rebuild it's skeleton.