HBhvAnimation Class Reference
The
HBhvAnimation class defines an animation.
More...
#include <HBhvAnimation.h>
List of all members.
|
Public Member Functions |
void | AddChildAnimation (HBhvAnimation *childanimation) |
void | AddInterpolator (HBhvInterpolator *interpolator) |
void | AdjustKeyframe (int keyframe, int delta, bool doall=true, bool relative=false) |
void | AdjustToTick (int totalticks) |
virtual bool | Animate (float currenttime, float starttime) |
virtual bool | Animate (float currenttime) |
void | CleanWithoutDelete () |
HBhvAnimation * | CreateInstance () |
void | DeleteKeyframe (int keyframe) |
void | Duplicate (int newkeyframe, int oldkeyframe) |
void | DuplicateNextOrPrevious (int keyframe, bool next) |
void | Evaluate (float currenttick, bool &hasPos, HPoint &pos, bool &hasQuat, HQuat &quat, bool &hasScale, HPoint &scale) |
bool | ExecuteOnce () |
HBhvBehaviorManager * | GetBehaviorManager () |
struct vlist_s * | GetChildAnimationList () |
bool | GetCurrentlyRunning () |
float | GetCurrentTick () |
bool | GetDefaultActive () |
int | GetDelay () |
int | GetFirstTick () |
HBhvAnimation * | GetInstancedAnimation () |
bool | GetInterpolator (int time, int &interval, HKeyframe **keyframe) |
HBhvInterpolator * | GetInterpolator () |
struct vlist_s * | GetInterpolatorList () |
int | GetLastTick () |
int | GetLoop () |
const char * | GetName () |
HBhvAnimation * | GetParentAnimation () |
HBhvTargetObject * | GetTarget () |
HBhvTimeline * | GetTimeline () |
virtual const char * | GetType () |
| HBhvAnimation (const char *name, HBhvBehaviorManager *BehaviorManager, HBhvAnimation *parentanimation=0) |
void | PlotCurve (bool rotations) |
void | Reset () |
virtual void | Serialize (HUtilityXMLGenerator *xmlgen) |
virtual void | Serialize (HUtilityXMLGenerator *xmlgen, HUtilityXMLTag *xmlt) |
void | SetBehaviorManager (HBhvBehaviorManager *behaviourmanager) |
void | SetCurrentlyRunning (bool running) |
void | SetDefaultActive (bool active) |
void | SetDelay (int delay) |
void | SetExecuteOnce (bool once) |
void | SetInstancedAnimation (HBhvAnimation *animation) |
void | SetLoop (int loop) |
void | SetName (const char *name) |
void | SetTarget (HBhvTargetObject *target) |
void | SetTargetByPath (const char *name, const char *targetpath) |
void | SetTargetByPath (const char *targetpath) |
void | SetTimeline (HBhvTimeline *timeline) |
virtual | ~HBhvAnimation () |
Static Public Member Functions |
static void * | XMLCallback (HUtilityXMLTag *xt, bool open, void *m_pExtraData) |
Protected Member Functions |
virtual bool | AnimateInternal (float currenttick) |
void | CloneAnimation () |
virtual void | SerializeTarget (HUtilityXMLTag *xmlt) |
void | SetInstanceOf (const char *name) |
Protected Attributes |
bool | m_bCurrentlyRunning |
bool | m_bDefaultActive |
bool | m_bExecuteOnce |
struct vlist_s * | m_ChildAnimationList |
int | m_Delay |
char | m_InstanceOf [BHV_MAX_NAME_LENGTH] |
struct vlist_s * | m_InterpolatorList |
int | m_Loop |
char | m_Name [BHV_MAX_NAME_LENGTH] |
HBhvBehaviorManager * | m_pBehaviorManager |
HBhvAnimation * | m_pInstancedAnimation |
HBhvAnimation * | m_pParentAnimation |
HBhvTimeline * | m_pTimeline |
HBhvTimelineInstance * | m_pTimelineInstance |
HBhvTargetObject * | m_Target |
Detailed Description
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.
Constructor & Destructor Documentation
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::~HBhvAnimation |
( |
|
) |
[virtual] |
Member Function Documentation
void HBhvAnimation::AddChildAnimation |
( |
HBhvAnimation * |
childanimation |
) |
|
Adds an animation to the child animation list.
- Parameters:
-
| childanimation | The child animation to be added. |
Adds an interpolator to the interpolator list.
- Parameters:
-
| interpolator | The interpolator to be added. |
void HBhvAnimation::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 HBhvAnimation::AdjustToTick |
( |
int |
totalticks |
) |
|
This method has been deprecated.
virtual bool HBhvAnimation::Animate |
( |
float |
currenttime, |
|
|
float |
starttime | |
|
) |
| | [virtual] |
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 |
virtual bool HBhvAnimation::Animate |
( |
float |
currenttime |
) |
[virtual] |
Performs animation based on the given time.
- Parameters:
-
| currenttime | Time (in ticks) relative to start time of overall animation. |
virtual bool HBhvAnimation::AnimateInternal |
( |
float |
currenttick |
) |
[protected, virtual] |
This is a helper function for Animate(). It checks that the current tick is valid for the associated timeline and then animates the interpolators.
- Parameters:
-
| currenttick | Current Time in ticks of animation |
void HBhvAnimation::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.
void HBhvAnimation::CloneAnimation |
( |
|
) |
[protected] |
Creates an animation instance.
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.
void HBhvAnimation::DeleteKeyframe |
( |
int |
keyframe |
) |
|
This method deletes a given keyframe in the timeline and interpolators for this animation.
- Parameters:
-
| keyframe | Number of keyframe |
void HBhvAnimation::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 HBhvAnimation::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. |
bool HBhvAnimation::ExecuteOnce |
( |
|
) |
[inline] |
- Returns:
- True if the animation is flagged to only run for one update.
struct vlist_s* HBhvAnimation::GetChildAnimationList |
( |
|
) |
[inline, read] |
- Returns:
- A pointer to the list of child animations associated to this animation.
bool HBhvAnimation::GetCurrentlyRunning |
( |
|
) |
[inline] |
- Returns:
- True if the animation is running and false if it is not running
float HBhvAnimation::GetCurrentTick |
( |
|
) |
|
- Returns:
- The current "tick" (i.e. frame) as reported by the behavior manager.
bool HBhvAnimation::GetDefaultActive |
( |
|
) |
[inline] |
- 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.
int HBhvAnimation::GetDelay |
( |
|
) |
[inline] |
- Returns:
- The initial delay time for this animation.
int HBhvAnimation::GetFirstTick |
( |
|
) |
|
- Returns:
- The value of first entry in the timeline.
- Returns:
- A pointer to the animation that this animation references.
bool HBhvAnimation::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.
- Returns:
- The first interpolator in the interpolator list.
struct vlist_s* HBhvAnimation::GetInterpolatorList |
( |
|
) |
[inline, read] |
- Returns:
- A pointer to the list of interpolators for this animation.
int HBhvAnimation::GetLastTick |
( |
|
) |
|
- Returns:
- The value of last entry in the timeline.
int HBhvAnimation::GetLoop |
( |
|
) |
[inline] |
- 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.
const char* HBhvAnimation::GetName |
( |
|
) |
[inline] |
- Returns:
- Name of the animation.
- Returns:
- Parent animation for this animation.
- Returns:
- A pointer to target object of this animation.
- Returns:
- A pointer to the timeline associated to this animation.
virtual const char* HBhvAnimation::GetType |
( |
|
) |
[inline, virtual] |
- Returns:
- The type of animation which is 'HBhvAnimation'.
void HBhvAnimation::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 HBhvAnimation::Reset |
( |
|
) |
|
Stop the animation if it is currently running and resets all the interpolators associated with this animation.
virtual void HBhvAnimation::Serialize |
( |
HUtilityXMLGenerator * |
xmlgen |
) |
[virtual] |
This method writes XML data to a buffer.
virtual void HBhvAnimation::Serialize |
( |
HUtilityXMLGenerator * |
xmlgen, |
|
|
HUtilityXMLTag * |
xmlt | |
|
) |
| | [virtual] |
This method writes XML data to a buffer.
virtual void HBhvAnimation::SerializeTarget |
( |
HUtilityXMLTag * |
xmlt |
) |
[protected, virtual] |
This method writes XML Data for this animation's target to a buffer.
void HBhvAnimation::SetCurrentlyRunning |
( |
bool |
running |
) |
[inline] |
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. |
void HBhvAnimation::SetDefaultActive |
( |
bool |
active |
) |
[inline] |
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. |
void HBhvAnimation::SetDelay |
( |
int |
delay |
) |
[inline] |
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.
void HBhvAnimation::SetExecuteOnce |
( |
bool |
once |
) |
[inline] |
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 HBhvAnimation::SetInstancedAnimation |
( |
HBhvAnimation * |
animation |
) |
[inline] |
Sets pointer to animation that you want this animation to reference.
- Parameters:
-
| animation | A pointer to the animation to reference. |
void HBhvAnimation::SetInstanceOf |
( |
const char * |
name |
) |
[protected] |
Sets name of the animation that this animation references.
- Parameters:
-
| name | The name of the referenced animation. |
void HBhvAnimation::SetLoop |
( |
int |
loop |
) |
[inline] |
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. |
void HBhvAnimation::SetName |
( |
const char * |
name |
) |
|
Sets the name of the animation.
Associates a given target object with this animation.
void HBhvAnimation::SetTargetByPath |
( |
const char * |
name, |
|
|
const char * |
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 HBhvAnimation::SetTargetByPath |
( |
const char * |
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 |
This method associates the passed timeline with this animation.
- Parameters:
-
| timeline | The timeline to be associated with this animation. |
static void* HBhvAnimation::XMLCallback |
( |
HUtilityXMLTag * |
xt, |
|
|
bool |
open, |
|
|
void * |
m_pExtraData | |
|
) |
| | [static] |
This is XML read callback which parses XML data and then populates the member variables with the associated values.
Member Data Documentation
The value is true if the animation is currently running and false if otherwise.
The value is true if the animation is active by default and false if otherwise.
A flag that determines if animation should only run for one update.
A pointer to the list of child animations.
Initial delay for this animation
The name of the referenced animation.
A pointer to the interpolator list.
A value of 1 means that this animation should be looped while a value of 0 means the animation should stop when it reaches the end of the timeline.
A pointer to the BehaviorManager object that this animation belongs to.
A pointer to the referenced animation (if any).
A pointer to the parent animation.
A pointer to the timeline object.
A pointer to the referenced timeline (if any).
A pointer to the target object of this animation.
The documentation for this class was generated from the following file: