The HBhvBehaviorManager class stores and manages all animation related data. More...
#include <HBhvBehaviorManager.h>
Public Member Functions | |
void | ActivateAllAnimations () |
void | ActivateAnimationByName (const char *name, bool AllowPartial=true) |
HBhvAnimation * | AddAnimation (const char *name, const char *target, HBhvTimeline *timeline, HBhvInterpolator *interpolator) |
void | AddAnimation (HBhvAnimation *animation) |
HBhvAnimation * | AddAnimation (const char *name, const char *targetpath, HPoint *pivot) |
void | AddAttributeSwitchKeyframe (const char *animname, int tick, const char *att) |
void | AddAxisRotateKeyframe (const char *animname, int tick, float rot, HPoint *axis=0) |
void | AddColorKeyframe (const char *animname, int tick, HPoint color, const char *colorcomponent=0, const char *geomtype=0) |
void | AddColorMorphDataToAnimation (const char *animname, HPoint *md, int pnum, HBaseModel *model, int pos=-1) |
void | AddColorMorphInterpolator (const char *animname, int tick, const char *mident, bool discrete) |
void | AddInstanceCreateKeyframe (const char *animname, int tick, const char *instance) |
void | AddMatrixKeyframe (const char *animname, int tick, float matrix[]) |
void | AddPositionKeyframe (const char *animname, int tick, HPoint pos, bool linear) |
void | AddQuatSquadKeyframe (const char *animname, int tick, HQuat rot, bool linear) |
void | AddScaleKeyframe (const char *animname, int tick, HPoint scale) |
void | AddSegmentMoveKeyframe (const char *animname, int tick, char *path) |
void | AddSegmentSwitchKeyframe (const char *animname, int tick, const char *ss) |
void | AddSensor (HBhvSensor *sensor) |
void | AddTargetObject (HBhvTargetObject *targetobject) |
void | AddTrailKeyframe (const char *animname, int tick, HPoint pos, bool linear, TrailInterpolatorType *trailtype=0, int *weight=0, const char *style=0, const char *color=0) |
void | AddVertexMorphDataToAnimation (const char *animname, HPoint *md, int pnum, HBaseModel *model, int pos=-1) |
void | AddVertexMorphInterpolator (const char *animname, int tick, const char *mident, bool discrete) |
void | CameraUpdated () |
void | Continue () |
HBhvTargetObject * | CreateTargetObjectByPath (const char *name, const char *path) |
void | DeactivateAllAnimations () |
void | DeactivateAnimationByName (const char *name, bool AllowPartial=true) |
void | DeleteAllAnimations () |
void | DeleteAnimation (HBhvAnimation *animation) |
void | ExecuteAnimations (float currenttick, float starttick) |
HBhvAnimation * | FindAnimation (const char *target, const char *interpolatortype) |
HBhvAnimation * | FindAnimationByName (const char *name) |
HBhvSensor * | FindSensorByName (const char *name) |
HBhvTargetObject * | FindTargetObjectByName (const char *name) |
HBhvTargetObject * | FindTargetObjectByPath (const char *path) |
HC_KEY | GetActiveSceneKey () |
HBaseView * | GetActiveView () |
vlist_s * | GetAnimationList () |
bool | GetCameraUpdated () |
bool | GetContinuousPlay () |
float | GetCurrentTick () |
float | GetCurrentTickByPercentage () |
void | GetFov (float fov) |
int | GetFreeName () |
int | GetLastTick () |
bool | GetMerge () |
HBaseModel * | GetModel () |
int | GetNextKeyframe (int ticknum, bool forward) |
void | GetPositionMatrix (float *mat) |
bool | GetRenderEveryTick () |
void | GetTargetMatrix (float *mat) |
int | GetTicksPerSecond () |
bool | GetUpdateCamera () |
bool | HasAnimations () |
HBhvBehaviorManager (HBaseModel *model, int tps=10, int delay=0, const char *name=0, const char *version=0, const char *vendor=0) | |
bool | IsAtFinalTick () |
bool | IsPlaying () |
void | Play () |
void | RemoveScheduledAnimation (HBhvAnimation *animation) |
void | Reset () |
void | Rewind () |
void | ScheduleAllAnimations (bool reset=false) |
void | ScheduleAnimation (HBhvAnimation *animation, float currenttime) |
void | Serialize (HUtilityXMLGenerator *xmlgen) |
void | SetActiveView (HBaseView *view) |
void | SetContinuousPlay (bool cont) |
void | SetCurrentTick (float tick) |
void | SetCurrentTick () |
void | SetCurrentTickByPercentage (float percentage) |
void | SetCurrentTickByTime (float t) |
void | SetFov (float fov) |
void | SetInfinitePlay (bool inf) |
void | SetMerge (bool merge) |
void | SetPositionMatrix (float *mat) |
void | SetRenderEveryTick (bool everytick) |
void | SetStartTime (float time) |
void | SetTargetMatrix (float *mat) |
void | SetTicksPerSecond (int tps) |
void | SetUpdateCamera (bool updatecamera) |
void | Stop () |
virtual bool | Tick (float request_time, float actual_time) |
void | WriteToFile (const __wchar_t *filename) |
void | WriteToFile (const char *filename) |
![]() | |
float | GetInterval () const |
float | GetNextRequest () const |
int | GetPriority () const |
HTCStyle | GetStyle () const |
HTClientTickFunction | GetTickFunction () const |
void * | GetUserData () const |
HTClient (float interval=0.1f, HTCStyle style=HTCS_Invalid, HTClientTickFunction tick_function=0, void *user_data=0) | |
void | SetInterval (float interval) |
void | SetNextRequest (float nr) |
void | SetPriorityLowest () |
void | SetStyle (HTCStyle style) |
void | SetTickFunction (HTClientTickFunction tick_function) |
void | SetUserData (void *user_data) |
Static Public Member Functions | |
static void | ProcessXMLData (HBaseModel *model, const char *buffer) |
static void | ReadFromFile (HBaseModel *model, const __wchar_t *filename) |
static void | ReadFromFile (HBaseModel *model, const char *filename) |
static void * | XMLCallback (HUtilityXMLTag *xt, bool open, void *m_pExtraData) |
Protected Member Functions | |
HBhvInterpolator * | AddKeyframe (const char *animname, const char *IntType, HKeyframe *keyframe, int tick) |
bool | EvaluateCollision (HBhvTargetObject *tob) |
void | ResolveInstances () |
Protected Attributes | |
struct vlist_s * | m_AnimationList |
bool | m_bCameraUpdated |
bool | m_bContinuousPlay |
bool | m_bInfinitePlay |
bool | m_bMerge |
bool | m_bPlaying |
bool | m_bRenderEveryFrame |
bool | m_bShellSelectionActive |
bool | m_bUpdateCamera |
float | m_CurrentTick |
int | m_Delay |
float | m_fov |
int | m_LastTick |
char | m_Name [BHV_MAX_NAME_LENGTH] |
HBaseModel * | m_pModel |
float | m_positionmatrix [16] |
HBaseView * | m_pView |
struct vlist_s * | m_ScheduledAnimationList |
struct vlist_s * | m_SensorList |
float | m_StartTime |
float | m_targetmatrix [16] |
struct vlist_s * | m_TargetObjectList |
int | m_Tps |
char | m_Vendor [BHV_MAX_VENDOR_LENGTH] |
char | m_Version [BHV_MAX_VERSION_LENGTH] |
![]() | |
float | mt_interval |
float | mt_next_request |
int | mt_priority |
HTCStyle | mt_style |
HTClientTickFunction | mt_tick_function |
void * | mt_user_data |
The HBhvBehaviorManager class stores and manages all animation related data.
The HBhvBehaviorManager class stores a list of animations, sensors and target objects and manages them on a frame by frame basis. The animation logic assumes that it will be the only logic manipulating modelling matrices for any segment that it is operating on. If such segments already have modelling matrices, they will be replaced, and this may produce unexpected results. To address this, you could have the geometric primitives in any of these segments first be transformed through the modelling matrices.
HBhvBehaviorManager::HBhvBehaviorManager | ( | HBaseModel * | model, |
int | tps = 10 , |
||
int | delay = 0 , |
||
const char * | name = 0 , |
||
const char * | version = 0 , |
||
const char * | vendor = 0 |
||
) |
Constructs an HBhvBehaviorManager object.
model | A pointer to HBaseModel object that this BehaviorManager object belongs to. |
tps | The ticks per second value for measuring time. |
delay | The initial delay for this HBhvBehaviorManager object. |
name | The name of the behavior manager. |
version | Additional Version Information. |
vendor | Additional Vendor Information. |
void HBhvBehaviorManager::ActivateAllAnimations | ( | ) |
This method activates all items on the animation list. When animations are not active, they can only be triggered by sensors.
void HBhvBehaviorManager::ActivateAnimationByName | ( | const char * | name, |
bool | AllowPartial = true |
||
) |
This method activates an animation given its partial or full name. When an animation is deactivated, it can only be triggered by a sensor.
name | The name of the animation. |
AllowPartial | Pass true if you want to allow a partial name to be used for determining animation. |
HBhvAnimation* HBhvBehaviorManager::AddAnimation | ( | const char * | name, |
const char * | target, | ||
HBhvTimeline * | timeline, | ||
HBhvInterpolator * | interpolator | ||
) |
This method creates a new animation based on given name, target, timeline and interpolator. Then it adds the new animation to the animation list.
name | The name of the new animation. |
target | A pointer to the target for the new animation. |
timeline | A pointer to the timeline for the new animation. |
interpolator | A pointer to the interpolator for the new animation. |
void HBhvBehaviorManager::AddAnimation | ( | HBhvAnimation * | animation | ) |
This method adds a given animation to the animation list.
animation | Animation to add to animation list |
HBhvAnimation* HBhvBehaviorManager::AddAnimation | ( | const char * | name, |
const char * | targetpath, | ||
HPoint * | pivot | ||
) |
This method creates a new named animation.
name | The name of the new animation |
targetpath | Segment Path specifying the segment the animation should operate on |
pivot | Center Point of the target (allows for off-center rotation) |
void HBhvBehaviorManager::AddAttributeSwitchKeyframe | ( | const char * | animname, |
int | tick, | ||
const char * | att | ||
) |
This method creates a new Attribute Switch keyframe for a given animation. They attribute switch keyframes changes they attributes of your target object by giving it the specified style segment.
animname | The name of the animation |
tick | Location of new keyframe in timeline |
att | Path to segment containing attributes for keyframe |
void HBhvBehaviorManager::AddAxisRotateKeyframe | ( | const char * | animname, |
int | tick, | ||
float | rot, | ||
HPoint * | axis = 0 |
||
) |
This method creates a new Axis Rotate keyframe for a given animation. The axis rotate keyframe lets you specify the angle of rotation and axis of rotation for you target object.
animname | The name of the animation |
tick | Location of new keyframe in timeline |
rot | Angle of rotation of keyframe |
axis | Axis of rotation for all keyframes |
void HBhvBehaviorManager::AddColorKeyframe | ( | const char * | animname, |
int | tick, | ||
HPoint | color, | ||
const char * | colorcomponent = 0 , |
||
const char * | geomtype = 0 |
||
) |
This method creates a new color keyframe for a given animation.
animname | The name of the animation |
tick | Location of new keyframe in timeline |
color | rgb color specification for keyframe |
colorcomponent | Color component (diffuse, specular,...) for all keyframes |
geomtype | Geometry Type the color applies to for all keyframes |
void HBhvBehaviorManager::AddColorMorphDataToAnimation | ( | const char * | animname, |
HPoint * | md, | ||
int | pnum, | ||
HBaseModel * | model, | ||
int | pos = -1 |
||
) |
This method adds color morph information to a given animation. This function supplies the actual point array and associates an index to it (the first inserted point array has the index 0, the second index 1, etc) This method should be called AFTER defining the interpolator keyframe list using the AddColorMorphInterpolator method.
md | Pointer to morph data rgb color list |
pnum | Number of points in rgb color list |
model | Point to HBaseModel object |
pos | Position to add morph data to |
void HBhvBehaviorManager::AddColorMorphInterpolator | ( | const char * | animname, |
int | tick, | ||
const char * | mident, | ||
bool | discrete | ||
) |
This method creates a new color morph keyframe for a given animation. A color morph keyframe tell HOOPS to perform an interpolation on the face colors of your target object from the previous keyframe to the new keyframe. This method in conjunction with AddColorMorphDataToAnimation.
animname | The name of the animation |
tick | Location of new keyframe in timeline |
mident | Color Morph Data Index |
discrete | Specifies either discrete switching between morph data or interpolation for keyframe |
void HBhvBehaviorManager::AddInstanceCreateKeyframe | ( | const char * | animname, |
int | tick, | ||
const char * | instance | ||
) |
This method creates a new Instance Create keyframe for a given animation. This keyframe creates another instance of the target object in the segment tree specified.
animname | The name of the animation |
tick | Location of new keyframe in timeline |
instance | Path to instance which should be created for keyframe |
|
protected |
This method creates a new keyframe for a given animation
animname | The name of the animation |
IntType | Type of Interpolator to create/add to |
keyframe | Keyframe object to add to interpolator |
tick | Location of new keyframe in timeline |
void HBhvBehaviorManager::AddMatrixKeyframe | ( | const char * | animname, |
int | tick, | ||
float | matrix[] | ||
) |
This method creates a new matrix keyframe for a given animation. Pass a matrix that describe the rotation you want for your target object.
animname | The name of the animation |
tick | Location of new keyframe in timeline |
matrix | matrix describing the transformation for the keyframe |
void HBhvBehaviorManager::AddPositionKeyframe | ( | const char * | animname, |
int | tick, | ||
HPoint | pos, | ||
bool | linear | ||
) |
This method creates a new position keyframe for a given animation. The position keyframe allows you to specify a new position for your target object. The interpolated path can be a linear or spline movement.
animname | The name of the animation |
tick | Location of new keyframe in timeline |
pos | 3d coordinate of keyframe |
linear | Specifies if keyframe defines linear movement or spline movement |
void HBhvBehaviorManager::AddQuatSquadKeyframe | ( | const char * | animname, |
int | tick, | ||
HQuat | rot, | ||
bool | linear | ||
) |
This method creates a new quaternion keyframe for a given animation. The quaternion key frame lets you specify a rotation for your target object.
animname | The name of the animation |
tick | Location of new keyframe in timeline |
rot | Quaternion for keyframe |
linear | Specifies if keyframe defines linear rotation or non linear rotation |
void HBhvBehaviorManager::AddScaleKeyframe | ( | const char * | animname, |
int | tick, | ||
HPoint | scale | ||
) |
This method creates a new scale keyframe for a given animation.
animname | The name of the animation |
tick | Location of new keyframe in timeline |
pos | x/y/z/ scale values for keyframe |
void HBhvBehaviorManager::AddSegmentMoveKeyframe | ( | const char * | animname, |
int | tick, | ||
char * | path | ||
) |
This method creates a new Segment Move keyframe for a given animation. The current implementation only allows one keyframe of this animation type to exist in a timeline. The segment move keyframe allows you to change the segment path of your target object.
animname | The name of the animation |
tick | Location of new keyframe in timeline |
path | Segment path for keyframe that defines where to move segment to. The leaf segment of the path will be replaced by the name of the target segment |
void HBhvBehaviorManager::AddSegmentSwitchKeyframe | ( | const char * | animname, |
int | tick, | ||
const char * | ss | ||
) |
This method creates a new Segment Switch keyframe for a given animation. This segment switch keyframe unset the visibility of the object specified in the keyframe.
animname | The name of the animation |
tick | Location of new keyframe in timeline |
ss | Path to segment for which visibility should be turned on for keyframe |
void HBhvBehaviorManager::AddSensor | ( | HBhvSensor * | sensor | ) |
This method adds a given sensor to the sensor list.
sensor | Sensor to add to sensor list. |
void HBhvBehaviorManager::AddTargetObject | ( | HBhvTargetObject * | targetobject | ) |
This method adds the given target object to the target object list.
targetobject | The target object to added. |
void HBhvBehaviorManager::AddTrailKeyframe | ( | const char * | animname, |
int | tick, | ||
HPoint | pos, | ||
bool | linear, | ||
TrailInterpolatorType * | trailtype = 0 , |
||
int * | weight = 0 , |
||
const char * | style = 0 , |
||
const char * | color = 0 |
||
) |
This method creates a new trail keyframe for a given animation. Adding a trail keyframe tells HOOPS to draw a line from the position of the previous keyframe to the position of the keyframe you are adding.
animname | The name of the animation |
tick | Location of new keyframe in timeline |
pos | 3d coordinate of keyframe |
linear | Specifies if keyframe defines linear movement or spline movement |
trailtype | Trailtype for all keyframes |
weight | Trail weight for all keyframes |
style | Line style for all keyframes |
color | Color for all keyframes |
void HBhvBehaviorManager::AddVertexMorphDataToAnimation | ( | const char * | animname, |
HPoint * | md, | ||
int | pnum, | ||
HBaseModel * | model, | ||
int | pos = -1 |
||
) |
This method adds vertex morph information to a given animation. This function supplies the actual point array and associates an index to it (the first inserted point array has the index 0, the second index 1, etc) This method should be called AFTER defining the interpolator keyframe list using the AddVertexMorphInterpolator method.
md | Pointer to morph data vertex list |
pnum | Number of points in vertex list |
model | Point to HBaseModel object |
pos | Position to add morph data to |
void HBhvBehaviorManager::AddVertexMorphInterpolator | ( | const char * | animname, |
int | tick, | ||
const char * | mident, | ||
bool | discrete | ||
) |
This method creates a new vertex morph keyframe for a given animation. This interpolator's behavior is described in more detail under the AddVertexMorphDataToAnimation method.
animname | The name of the animation |
tick | Location of new keyframe in timeline |
mident | Vertex Morph Data Index |
discrete | Specifies either discrete switching between morph data or interpolation for keyframe |
|
inline |
Use this method to indicate that camera was updated during animation.
void HBhvBehaviorManager::Continue | ( | ) |
Reactivates the execution of items on the schedule animation list.
HBhvTargetObject* HBhvBehaviorManager::CreateTargetObjectByPath | ( | const char * | name, |
const char * | path | ||
) |
This method takes the given name and target and searches through the target object list. If a target object corresponding to the name and path exists, it returns that target object. If there are no matches, it creates a new one with the given name and path and adds it to the target object list.
name | The name of the new target object. |
path | The path of the new target object. |
void HBhvBehaviorManager::DeactivateAllAnimations | ( | ) |
This method deactivates all the items in the animation list. If an animation is deactivated, it can only be triggered by a sensor.
void HBhvBehaviorManager::DeactivateAnimationByName | ( | const char * | name, |
bool | AllowPartial = true |
||
) |
This method deactivates an animation given its full or partial name. When an animation is deactivated, it can only be triggered by a sensor.
name | The name of the animation. |
AllowPartial | Pass true if you want to allow a partial name to be used for determining animation. |
void HBhvBehaviorManager::DeleteAllAnimations | ( | ) |
This method deletes all animations and associated objects
void HBhvBehaviorManager::DeleteAnimation | ( | HBhvAnimation * | animation | ) |
Removes the given animation from the animation list and then deletes it.
animation | Pass a pointer to the animation you want to delete. |
|
protected |
Determine if any collisions have occurred for specified target object.
tob | A pointer to the target object. |
void HBhvBehaviorManager::ExecuteAnimations | ( | float | currenttick, |
float | starttick | ||
) |
Executes all the scheduled animations.
currenttick | The current time in ticks. |
starttick | The start time in ticks. If you pass -1, currenttick will be the start time. |
HBhvAnimation* HBhvBehaviorManager::FindAnimation | ( | const char * | target, |
const char * | interpolatortype | ||
) |
Searches for an animation that matches the given target string and interpolator type.
target | The target descriptor to search for in animation instance. You can use HBhvTargetObject::CreateTargetSting() to generate this string. |
interpolatortype | The interpolator type to search for in animation instance. |
HBhvAnimation* HBhvBehaviorManager::FindAnimationByName | ( | const char * | name | ) |
Searches for an animation by name.
name | The name of the animation instance. |
HBhvSensor* HBhvBehaviorManager::FindSensorByName | ( | const char * | name | ) |
Searches for a sensor by name.
name | The name of the sensor to search for. |
HBhvTargetObject* HBhvBehaviorManager::FindTargetObjectByName | ( | const char * | name | ) |
This method searches the target object list for target object by name.
name | The name of the target object. |
HBhvTargetObject* HBhvBehaviorManager::FindTargetObjectByPath | ( | const char * | path | ) |
Searches for a target object given a path.
path | The path of the target object. |
HC_KEY HBhvBehaviorManager::GetActiveSceneKey | ( | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
float HBhvBehaviorManager::GetCurrentTickByPercentage | ( | ) |
|
inline |
This method has not been implemented yet.
int HBhvBehaviorManager::GetFreeName | ( | ) |
This utility method finds a unique animation name. This method only works if you are using an incremented naming scheme.
int HBhvBehaviorManager::GetLastTick | ( | ) |
|
inline |
|
inline |
int HBhvBehaviorManager::GetNextKeyframe | ( | int | ticknum, |
bool | forward | ||
) |
Given a tick number, this method finds the next closest keyframe.
ticknum | The tick to calculate next keyframe from. |
forward | Pass true to find next closest keyframe or false to find the previous closest keyframe. |
|
inline |
Returns the position matrix used by interpolators for camera interpolation.
|
inline |
|
inline |
|
inline |
|
inline |
bool HBhvBehaviorManager::HasAnimations | ( | ) |
bool HBhvBehaviorManager::IsAtFinalTick | ( | ) |
|
inline |
void HBhvBehaviorManager::Play | ( | ) |
Starts the execution of items on the animation list, registers with MVO timer and starts playing at the start time.
|
static |
Sets up the XML parser to read animation related xml tags.
model | A pointer to the model object. |
buffer | A pointer to the memory buffer containing XML data. |
|
static |
Reads XML data containing animation tags from a file and loads it into memory.
model | A pointer to the HBaseModel object. |
filename | Filename |
void HBhvBehaviorManager::RemoveScheduledAnimation | ( | HBhvAnimation * | animation | ) |
Removes the specified animation from the animation list.
animation | A pointer to the animation that you want removed. |
void HBhvBehaviorManager::Reset | ( | ) |
Resets all animations.
|
protected |
This method is not yet implemented.
void HBhvBehaviorManager::Rewind | ( | ) |
Stops the execution of all animations and rewinds to the start.
void HBhvBehaviorManager::ScheduleAllAnimations | ( | bool | reset = false | ) |
Places all animations in the scheduled animation list.
void HBhvBehaviorManager::ScheduleAnimation | ( | HBhvAnimation * | animation, |
float | currenttime | ||
) |
This method schedules the given animation for immediate execution.
animation | A pointer to the animation you want to schedule for execution |
currenttime | The start time for the animation in ticks. |
void HBhvBehaviorManager::Serialize | ( | HUtilityXMLGenerator * | xmlgen | ) |
This method writes XML data to a buffer.
xmlgen | A pointer to an XML generator that creates valid XML blocks. |
void HBhvBehaviorManager::SetActiveView | ( | HBaseView * | view | ) |
Use this method to determine which view to apply camera manipulations.
view | A pointer to the HBaseView object. |
|
inline |
Enables/disables continuous playing of the animation list. In other words, if continuous play is on, when the last tick is reached, everything is rewound and starts playing from the beginning again. Note that if infinite play is active, it will override the continuous play behavior.
cont | Pass true to enable continuous play or false to play animations once. |
void HBhvBehaviorManager::SetCurrentTick | ( | float | tick | ) |
Set the current ticks. If the animation is currently playing, it will make an adjustment to m_StartTime based on the difference between old and new tick values.
tick | The tick value. |
void HBhvBehaviorManager::SetCurrentTick | ( | ) |
Set current tick based on current time.
void HBhvBehaviorManager::SetCurrentTickByPercentage | ( | float | percentage | ) |
Calculates the current tick based on a given percentage of total length of all animations.
percentage | The percentage value used to calculate the current tick. |
|
inline |
Sets the current tick based on a given time.
t | The time in seconds. |
|
inline |
This method has not been implemented yet.
fov |
|
inline |
Enables/disables infinite play. If infinite play is active, then once the animation begins playing, it will continue to play pass the last tick of the timeline. This means that animations that are looped will continue to play while animations that are not looped will stop. Note that if inifinite play is active, it will override continuous play.
inf | Pass true to set infinite play to active or false to set infinite play to inactive. |
|
inline |
Determines if loaded animation data is merged into existing animation.
merge | Pass true if you want to merge animation data. |
|
inline |
Sets temporary position matrix used by interpolators for camera interpolation.
mat | The position matrix. |
|
inline |
Enables/disables interpolation between ticks.
everytick | Pass true if you do not want interpolation between ticks and false if you want to interpolate between ticks. |
|
inline |
Sets the animation start time. The HBhvBehaviorManager will use this time as a referenced start time for all its calculations as it iterates through the timeline's array of keyframes.
time | The start time of the animation. |
|
inline |
Sets the temporary modelling matrix for the target object. This matrix is used by interpolators for camera interpolation.
mat | The modelling matrix. |
|
inline |
This method set the number of ticks that will occur per second.
tps | The number of ticks per second. |
|
inline |
Use this method to indicate if the camera should be updated during animations.
updatecamera | Pass True to update camera or false if otherwise. |
void HBhvBehaviorManager::Stop | ( | ) |
Pauses the execution of the items on the scheduled animation list.
|
virtual |
The timer method that gets called from the HTManager::Tick() function. This method updates the current time and executes animations that are scheduled for the current time.
Reimplemented from HTClient.
void HBhvBehaviorManager::WriteToFile | ( | const __wchar_t * | filename | ) |
Serializes all animation data to buffer and writes the buffer to a file.
filename | The filename you want to create. |
|
static |
This is XML read callback which parses XML data and then populates the member variables with the associated values.
|
protected |
The list of all animations.
|
protected |
The value is true if camera has been changed during animation, false if camera has not been changed.
|
protected |
The value is true if the animation list will rewound and played agained whenever the timeline reaches the end or false if the animation list will be played through once and stops at the end.
|
protected |
The flag that determines if animation should run infinitely. In otherwords, the ticks continue to increment.
|
protected |
The flag that determines if newly loaded animation should be merged into existing data
|
protected |
The value is true if animations are currently playing or false if no animation is playing.
|
protected |
If true, HOOPS will display every frame of animations. If false, HOOPS will display animations with interpolation.
|
protected |
The value is true if camera manipulations will be performed or false to not execute camera manipulations
|
protected |
The current time.
|
protected |
Initial execution delay for this behaviour block
|
protected |
This has not been implemented yet.
|
protected |
Final tick of all animations.
|
protected |
The name of the behavior manager object.
|
protected |
A pointer to HBaseModel object that this behavior manager belongs to.
|
protected |
The temporary position matrix for interpolators.
|
protected |
A pointer to HBaseView object that is associated to this behavior manager.
|
protected |
The list of animations scheduled for execution.
|
protected |
The list of all sensors.
|
protected |
Start of execution.
|
protected |
The temporary target matrix for interpolators.
|
protected |
The list of all target objects.
|
protected |
The number of ticks per second.
|
protected |
The additional vendor information.
|
protected |
The version string.