14 #ifndef _H_HBhvAnimation_H
15 #define _H_HBhvAnimation_H
28 class HBhvTimelineInstance;
30 class HBhvInterpolatorInstance;
31 class HUtilityXMLGenerator;
35 class HBhvAnimationInstance;
61 virtual const char *
GetType() {
return "HBhvAnimation"; }
68 void SetName(
const char *name);
72 virtual bool Animate(
float currenttime);
77 virtual bool Animate(
float currenttime,
float starttime);
82 void DeleteKeyframe(
int keyframe);
87 void DuplicateNextOrPrevious(
int keyframe,
bool next);
92 void Duplicate(
int newkeyframe,
int oldkeyframe);
97 void PlotCurve(
bool rotations);
100 void AdjustToTick(
int totalticks);
103 virtual void Serialize(HUtilityXMLGenerator *xmlgen, HUtilityXMLTag *xmlt);
105 virtual void Serialize(HUtilityXMLGenerator *xmlgen);
110 static void *XMLCallback(HUtilityXMLTag *xt,
bool open,
void *m_pExtraData);
188 void SetTargetByPath(
const char *targetpath);
194 void SetTargetByPath(
const char *name,
const char *targetpath);
204 bool GetInterpolator(
int time,
int &interval,
HKeyframe **keyframe);
223 float GetCurrentTick();
232 void AdjustKeyframe(
int keyframe,
int delta,
bool doall =
true,
bool relative =
false);
237 void CleanWithoutDelete();
248 void Evaluate(
float currenttick,
bool &hasPos,
HPoint &pos,
bool &hasQuat,
HQuat &quat,
bool &hasScale,
HPoint &scale);
256 void SetInstanceOf(
const char *name);
261 virtual bool AnimateInternal(
float currenttick);
264 void CloneAnimation();
267 virtual void SerializeTarget(HUtilityXMLTag *xmlt);
void SetExecuteOnce(bool once)
Definition: HBhvAnimation.h:246
The HBhvTimeline class encpasulates an animation timeline.
Definition: HBhvTimeline.h:42
The HKeyframe class is the base class for all keyframe types.
Definition: HBhvUtility.h:260
The HQuat class defines the data type of a Quaternion.
Definition: HBhvUtility.h:86
virtual const char * GetType()
Definition: HBhvAnimation.h:61
bool ExecuteOnce()
Definition: HBhvAnimation.h:241
The HBhvBehaviorManager class stores and manages all animation related data.
Definition: HBhvBehaviorManager.h:241
struct vlist_s * m_InterpolatorList
Definition: HBhvAnimation.h:278
HBhvBehaviorManager * m_pBehaviorManager
Definition: HBhvAnimation.h:275
void SetInstancedAnimation(HBhvAnimation *animation)
Definition: HBhvAnimation.h:180
HBhvAnimation * GetInstancedAnimation()
Definition: HBhvAnimation.h:176
#define BHV_MAX_NAME_LENGTH
Maximum Length of "Names" in animations.
Definition: HBhvUtility.h:44
HBhvAnimation * m_pInstancedAnimation
Definition: HBhvAnimation.h:269
HBhvTargetObject * m_Target
Definition: HBhvAnimation.h:272
bool m_bDefaultActive
Definition: HBhvAnimation.h:274
int m_Loop
Definition: HBhvAnimation.h:281
HBhvTimelineInstance * m_pTimelineInstance
Definition: HBhvAnimation.h:270
bool GetDefaultActive()
Definition: HBhvAnimation.h:213
bool m_bCurrentlyRunning
Definition: HBhvAnimation.h:273
int GetLoop()
Definition: HBhvAnimation.h:126
struct vlist_s * GetChildAnimationList()
Definition: HBhvAnimation.h:149
HBhvAnimation * m_pParentAnimation
Definition: HBhvAnimation.h:276
The HBhvTargetObject class encapsulates various target types for animations and sensors.
Definition: HBhvBehaviorManager.h:86
void SetDefaultActive(bool active)
Definition: HBhvAnimation.h:209
The HBhvInterpolator class is the abstract base class for all interpolator types. ...
Definition: HBhvInterpolator.h:67
void SetLoop(int loop)
Definition: HBhvAnimation.h:131
void SetCurrentlyRunning(bool running)
Definition: HBhvAnimation.h:217
int GetDelay()
Definition: HBhvAnimation.h:170
The HPoint class is the data type of a three-dimensional point.
Definition: HGlobals.h:126
HBhvAnimation * GetParentAnimation()
Definition: HBhvAnimation.h:163
struct vlist_s * GetInterpolatorList()
Definition: HBhvAnimation.h:146
HBhvBehaviorManager * GetBehaviorManager()
Definition: HBhvAnimation.h:113
HBhvTimeline * GetTimeline()
Definition: HBhvAnimation.h:134
int m_Delay
Definition: HBhvAnimation.h:282
struct vlist_s * m_ChildAnimationList
Definition: HBhvAnimation.h:279
The HBhvAnimation class defines an animation.
Definition: HBhvAnimation.h:47
void SetBehaviorManager(HBhvBehaviorManager *behaviourmanager)
Definition: HBhvAnimation.h:116
HBhvTargetObject * GetTarget()
Definition: HBhvAnimation.h:173
HBhvTimeline * m_pTimeline
Definition: HBhvAnimation.h:277
bool m_bExecuteOnce
Definition: HBhvAnimation.h:283
bool GetCurrentlyRunning()
Definition: HBhvAnimation.h:220
void SetDelay(int delay)
Definition: HBhvAnimation.h:167
const char * GetName()
Definition: HBhvAnimation.h:65