10 #ifndef _H_HBhvAnimation_H
11 #define _H_HBhvAnimation_H
24 class HBhvTimelineInstance;
26 class HBhvInterpolatorInstance;
27 class HUtilityXMLGenerator;
31 class HBhvAnimationInstance;
57 virtual const char *
GetType() {
return "HBhvAnimation"; }
64 void SetName(
const char *name);
68 virtual bool Animate(
float currenttime);
73 virtual bool Animate(
float currenttime,
float starttime);
78 void DeleteKeyframe(
int keyframe);
83 void DuplicateNextOrPrevious(
int keyframe,
bool next);
88 void Duplicate(
int newkeyframe,
int oldkeyframe);
93 void PlotCurve(
bool rotations);
96 void AdjustToTick(
int totalticks);
99 virtual void Serialize(HUtilityXMLGenerator *xmlgen, HUtilityXMLTag *xmlt);
101 virtual void Serialize(HUtilityXMLGenerator *xmlgen);
106 static void *XMLCallback(HUtilityXMLTag *xt,
bool open,
void *m_pExtraData);
184 void SetTargetByPath(
const char *targetpath);
190 void SetTargetByPath(
const char *name,
const char *targetpath);
200 bool GetInterpolator(
int time,
int &interval,
HKeyframe **keyframe);
219 float GetCurrentTick();
228 void AdjustKeyframe(
int keyframe,
int delta,
bool doall =
true,
bool relative =
false);
233 void CleanWithoutDelete();
244 void Evaluate(
float currenttick,
bool &hasPos,
HPoint &pos,
bool &hasQuat,
HQuat &quat,
bool &hasScale,
HPoint &scale);
252 void SetInstanceOf(
const char *name);
257 virtual bool AnimateInternal(
float currenttick);
260 void CloneAnimation();
263 virtual void SerializeTarget(HUtilityXMLTag *xmlt);
void SetExecuteOnce(bool once)
Definition: HBhvAnimation.h:242
The HBhvTimeline class encpasulates an animation timeline.
Definition: HBhvTimeline.h:38
The HKeyframe class is the base class for all keyframe types.
Definition: HBhvUtility.h:257
The HQuat class defines the data type of a Quaternion.
Definition: HBhvUtility.h:83
virtual const char * GetType()
Definition: HBhvAnimation.h:57
bool ExecuteOnce()
Definition: HBhvAnimation.h:237
The HBhvBehaviorManager class stores and manages all animation related data.
Definition: HBhvBehaviorManager.h:237
struct vlist_s * m_InterpolatorList
Definition: HBhvAnimation.h:274
HBhvBehaviorManager * m_pBehaviorManager
Definition: HBhvAnimation.h:271
void SetInstancedAnimation(HBhvAnimation *animation)
Definition: HBhvAnimation.h:176
HBhvAnimation * GetInstancedAnimation()
Definition: HBhvAnimation.h:172
#define BHV_MAX_NAME_LENGTH
Maximum Length of "Names" in animations.
Definition: HBhvUtility.h:41
HBhvAnimation * m_pInstancedAnimation
Definition: HBhvAnimation.h:265
HBhvTargetObject * m_Target
Definition: HBhvAnimation.h:268
bool m_bDefaultActive
Definition: HBhvAnimation.h:270
int m_Loop
Definition: HBhvAnimation.h:277
HBhvTimelineInstance * m_pTimelineInstance
Definition: HBhvAnimation.h:266
bool GetDefaultActive()
Definition: HBhvAnimation.h:209
bool m_bCurrentlyRunning
Definition: HBhvAnimation.h:269
int GetLoop()
Definition: HBhvAnimation.h:122
struct vlist_s * GetChildAnimationList()
Definition: HBhvAnimation.h:145
HBhvAnimation * m_pParentAnimation
Definition: HBhvAnimation.h:272
The HBhvTargetObject class encapsulates various target types for animations and sensors.
Definition: HBhvBehaviorManager.h:82
void SetDefaultActive(bool active)
Definition: HBhvAnimation.h:205
The HBhvInterpolator class is the abstract base class for all interpolator types. ...
Definition: HBhvInterpolator.h:64
void SetLoop(int loop)
Definition: HBhvAnimation.h:127
void SetCurrentlyRunning(bool running)
Definition: HBhvAnimation.h:213
int GetDelay()
Definition: HBhvAnimation.h:166
The HPoint class is the data type of a three-dimensional point.
Definition: HGlobals.h:121
HBhvAnimation * GetParentAnimation()
Definition: HBhvAnimation.h:159
struct vlist_s * GetInterpolatorList()
Definition: HBhvAnimation.h:142
HBhvBehaviorManager * GetBehaviorManager()
Definition: HBhvAnimation.h:109
HBhvTimeline * GetTimeline()
Definition: HBhvAnimation.h:130
int m_Delay
Definition: HBhvAnimation.h:278
struct vlist_s * m_ChildAnimationList
Definition: HBhvAnimation.h:275
The HBhvAnimation class defines an animation.
Definition: HBhvAnimation.h:43
void SetBehaviorManager(HBhvBehaviorManager *behaviourmanager)
Definition: HBhvAnimation.h:112
HBhvTargetObject * GetTarget()
Definition: HBhvAnimation.h:169
HBhvTimeline * m_pTimeline
Definition: HBhvAnimation.h:273
bool m_bExecuteOnce
Definition: HBhvAnimation.h:279
bool GetCurrentlyRunning()
Definition: HBhvAnimation.h:216
void SetDelay(int delay)
Definition: HBhvAnimation.h:163
const char * GetName()
Definition: HBhvAnimation.h:61