HBhvAnimation
Functions
Detailed Description
- 
class 
HBhvAnimation The HBhvAnimation class defines an animation.
By combining a timeline with one or more interpolators and a target object, the animation class defines a single animation. Animations must be added to the behaviour manager for execution. They can either be active by default or be activated by a sensor action. The animation class also defines various helper functions to manage interpolator keyframes and to set and retrieve various properties of the animation.
Public Functions
- 
HBhvAnimation(char const *name, HBhvBehaviorManager *BehaviorManager, HBhvAnimation *parentanimation = 0) Constructs an HBhvAnimation object.
Parameters: - name – Name of the animation. This name should be unique.
 - BehaviorManager – A pointer to HBhvBehaviorManager object that this animation belongs to.
 - parentanimation – A pointer to parent animation if it exists. This value can be null if there is not parent animation.
 
- 
virtual 
~HBhvAnimation() Destructor of the HBhvAnimation object.
- 
inline virtual char const *
GetType() Returns: The type of animation which is ‘HBhvAnimation’. 
- 
inline char const *
GetName() Returns: Name of the animation. 
- 
void 
SetName(char const *name) Sets the name of the animation.
- 
virtual bool 
Animate(float currenttime) Performs animation based on the given time.
Parameters: currenttime – Time (in ticks) relative to start time of overall animation. 
- 
virtual bool 
Animate(float currenttime, float starttime) Performs animation based on the given time in relation to given start time.
Parameters: - currenttime – Time (in ticks) relative to given start time (second parameter)
 - starttime – Start time (in ticks) to evaluate animation from
 
- 
void 
DeleteKeyframe(int keyframe) This method deletes a given keyframe in the timeline and interpolators for this animation.
Parameters: keyframe – Number of keyframe 
- 
void 
DuplicateNextOrPrevious(int keyframe, bool next) Copies the next or previous keyframe to the given target keyframe.
Parameters: - keyframe – The keyframe to copy to.
 - next – Pass false for the previous keyframe and true for the next keyframe.
 
- 
void 
Duplicate(int newkeyframe, int oldkeyframe) This method makes a copy of newkeyframe and then replaces oldkeyframe with the copy.
Parameters: - newkeyframe – Keyframe to copy to
 - oldkeyframe – Keyframe to copy from
 
- 
void 
PlotCurve(bool rotations) This method plots a curve on the scene representing the path of this animation.
Parameters: rotations – Pass true to include rotation in the curve or false to not include it. 
- 
void 
AdjustToTick(int totalticks) This method has been deprecated.
- 
virtual void 
Serialize(HUtilityXMLGenerator *xmlgen, HUtilityXMLTag *xmlt) This method writes XML data to a buffer.
- 
virtual void 
Serialize(HUtilityXMLGenerator *xmlgen) This method writes XML data to a buffer.
- 
inline HBhvBehaviorManager *
GetBehaviorManager() Returns: A pointer to the HBhvBehaviorManager object associated with this animation. 
- 
inline void 
SetBehaviorManager(HBhvBehaviorManager *behaviourmanager) Sets the HBhvBehaviorManager Object associated to this animation.
- 
int 
GetFirstTick() Returns: The value of first entry in the timeline. 
- 
int 
GetLastTick() Returns: The value of last entry in the timeline. 
- 
inline int 
GetLoop() Returns: A value of 1 if the animation will be looped or 0 if the animation stops when it reaches the end of the timeline. 
- 
inline void 
SetLoop(int loop) Use this method to indicate if animation is looped or plays once.
Parameters: loop – Pass 1 if the animation should loop or 0 if the animation should stop when it reaches the end of the timeline. 
- 
inline HBhvTimeline *
GetTimeline() Returns: A pointer to the timeline associated to this animation. 
- 
void 
SetTimeline(HBhvTimeline *timeline) This method associates the passed timeline with this animation.
Parameters: timeline – The timeline to be associated with this animation. 
- 
HBhvAnimation *
CreateInstance() In special cases, you may want an animation that references this animation without changing it. Use this method to create such an animation.
Returns: A pointer to newly created animation that refers to this animation. 
- 
inline struct vlist_s *
GetInterpolatorList() Returns: A pointer to the list of interpolators for this animation. 
- 
inline struct vlist_s *
GetChildAnimationList() Returns: A pointer to the list of child animations associated to this animation. 
- 
HBhvInterpolator *
GetInterpolator() Returns: The first interpolator in the interpolator list. 
- 
void 
AddInterpolator(HBhvInterpolator *interpolator) Adds an interpolator to the interpolator list.
Parameters: interpolator – The interpolator to be added. 
- 
void 
AddChildAnimation(HBhvAnimation *childanimation) Adds an animation to the child animation list.
Parameters: childanimation – The child animation to be added. 
- 
inline HBhvAnimation *
GetParentAnimation() Returns: Parent animation for this animation. 
- 
inline void 
SetDelay(int delay) Sets initial delay time for this animation. A delay can be used to prevent this animation from occuring at exactly the same time as other items in the HBhvBehaviorManager’s animation list.
- 
inline int 
GetDelay() Returns: The initial delay time for this animation. 
- 
inline HBhvTargetObject *
GetTarget() Returns: A pointer to target object of this animation. 
- 
inline HBhvAnimation *
GetInstancedAnimation() Returns: A pointer to the animation that this animation references. 
- 
inline void 
SetInstancedAnimation(HBhvAnimation *animation) Sets pointer to animation that you want this animation to reference.
Parameters: animation – A pointer to the animation to reference. 
- 
void 
Reset() Stop the animation if it is currently running and resets all the interpolators associated with this animation.
- 
void 
SetTargetByPath(char const *targetpath) This method creates a target object using the given target path and then attaches it to this animation.
Parameters: targetpath – Segment path to target 
- 
void 
SetTargetByPath(char const *name, char const *targetpath) This method creates a target object using the given target path and name. Then it attaches the newly created target to this animation.
Parameters: - name – Name of newly created target object
 - targetpath – Segment path to target
 
- 
void 
SetTarget(HBhvTargetObject *target) Associates a given target object with this animation.
- 
bool 
GetInterpolator(int time, int &interval, HKeyframe **keyframe) For a given time, this method finds the closest keyframe and interval in the interpolator.
Parameters: - time – Time in which you are looking for the closest keyframe.
 - interval – Returns the interval in timeline which the given time falls between.
 - keyframe – Returns an Hkeyframe object for given time.
 
Returns: True if a keyframe and interval were found and false if none was found.
- 
inline void 
SetDefaultActive(bool active) Sets default active parameter for this animation. If you pass false, then the animation is inactive by default which means that it can only be triggered by a sensor action.
Parameters: active – Pass true if you want this animation to be active by default or false if otherwise. 
- 
inline bool 
GetDefaultActive() Returns: True if the animation is active by default and false if otherwise. If the animation is not active by default then it can only become activated by a sensor or by calling SetDefaultActive and passing true. 
- 
inline void 
SetCurrentlyRunning(bool running) Sets the currently running flag which indicates whether an animation is currently executing.
Parameters: running – Pass true to indicate that this animation is currently running and false if it is not running. 
- 
inline bool 
GetCurrentlyRunning() Returns: True if the animation is running and false if it is not running 
- 
float 
GetCurrentTick() Returns: The current “tick” (i.e. frame) as reported by the behavior manager. 
- 
void 
AdjustKeyframe(int keyframe, int delta, bool doall = true, bool relative = false) Adjusts keyframe intervals by the given number of ticks.
Parameters: - keyframe – Start keyframe to adjust.
 - delta – Amount of ticks to offset the keyframe time.
 - doall – Pass true to adjust all keyframes after the start keyframe.
 - relative – Adjust keyframes all keyframes after the given keyframe so that they will also have an additional delta offset between the next keyframe.
 
- 
void 
CleanWithoutDelete() This method set disassociates the current timeline from this animation and clears the interpolator list without deleting any of the previous associated timeline or interpolator objects.
- 
inline bool 
ExecuteOnce() Returns: True if the animation is flagged to only run for one update. 
- 
inline void 
SetExecuteOnce(bool once) Use this method to indicate if this animation should only run for one update.
Parameters: once – Pass true if you want the animation to be disabled after the next update or false if you want to the animation to run normally. 
- 
void 
Evaluate(float currenttick, bool &hasPos, HPoint &pos, bool &hasQuat, HQuat &quat, bool &hasScale, HPoint &scale) 
- 
void 
SetTargetScaleMatrix(float const *target_matrix) Given the target modelling matrix, it extracts its scaling elements.
- 
inline float *
GetTargetScaleMatrix() 
Public Static Functions
- 
static void *
XMLCallback(HUtilityXMLTag *xt, bool open, void *m_pExtraData) This is XML read callback which parses XML data and then populates the member variables with the associated values.
-