The ITimeController interface. More...
#include "murl_graph_i_time_controller.h"
Public Member Functions | |
virtual IController * | GetControllerInterface ()=0 |
Get the mutable IController interface. More... | |
virtual const IController * | GetControllerInterface () const =0 |
Get the constant IController interface. More... | |
virtual Bool | SetTimeShift (Double timeShift)=0 |
Set the time shift value used for evaluation. More... | |
virtual Double | GetTimeShift () const =0 |
Get the time shift value used for evaluation. More... | |
virtual Bool | SetTimeOffset (Double timeOffset)=0 |
Set the time offset value used for evaluation. More... | |
virtual Double | GetTimeOffset () const =0 |
Get the time offset value used for evaluation. More... | |
virtual Bool | SetTimeScale (Double timeScale)=0 |
Set the time scale value used for evaluation. More... | |
virtual Double | GetTimeScale () const =0 |
Get the time scale value used for evaluation. More... | |
virtual Bool | SetTimelineUnitEnabled (UInt32 unit, Bool enabled)=0 |
Activate/deactivate processing of a timeline at a given unit. More... | |
virtual Bool | IsTimelineUnitEnabled (UInt32 unit) const =0 |
Check if a given timeline unit is used. More... | |
virtual Bool | SetBlendFactorNormalizationEnabled (Bool enabled)=0 |
Enable/disable blend factor normalization. More... | |
virtual Bool | IsBlendFactorNormalizationEnabled () const =0 |
Check if blend factor normalization is enabled. More... | |
virtual Bool | SetResponseGroupMask (UInt32 mask)=0 |
Set the active response groups for this controller. More... | |
virtual UInt32 | GetResponseGroupMask () const =0 |
Get the active response groups for this controller. More... | |
Detailed Description
The ITimeController interface.
This interface provides a way to automatically manipulate individual properties of a given Graph::INode by via individual Graph::ITimeEvaluator objects created upon initialization.
The Graph::TimeController class implementing this interface provides a default implementation that can be used to add individual custom Graph::ITimeEvaluator objects for the purpose of manipulating different node properties.
The Graph::AnimationTimeController class is a specialized implementation that acts on a given Resource::IAnimation object, with different evaluators for each individual type of key frame defined in the animation.
See Graph::Node for details on creating controllers via an XML scene graph description.
Member Function Documentation
◆ GetControllerInterface() [1/2]
|
pure virtual |
Get the mutable IController interface.
- Returns
- The mutable IController interface.
◆ GetControllerInterface() [2/2]
|
pure virtual |
Get the constant IController interface.
- Returns
- The constant IController interface.
◆ SetTimeShift()
Set the time shift value used for evaluation.
- Parameters
-
timeShift The time shift value.
- Returns
- true if successful.
◆ GetTimeShift()
|
pure virtual |
Get the time shift value used for evaluation.
- Returns
- The time shift value.
◆ SetTimeOffset()
Set the time offset value used for evaluation.
A positive value represents an actual controller start time after the given input time t, which results in an already started animation for t=0. Negative values result in a delay before the animation is started (at t=0 the controller's shifted time is still negative and has has not reached its actual start time). By default, the time shift value is 0.
- Parameters
-
timeOffset The time offset value.
- Returns
- true if successful.
◆ GetTimeOffset()
|
pure virtual |
Get the time offset value used for evaluation.
- Returns
- The time offset value.
◆ SetTimeScale()
Set the time scale value used for evaluation.
By default, the time scale value equals 1.0. Values less than 1.0 result in a reduced animation time, for values higher than 1.0 the animation is running faster than normal. Time scaling is applied before shifting, so the time scale value does not affect a given time shift value.
- Parameters
-
timeScale The time scale value.
- Returns
- true if successful.
◆ GetTimeScale()
|
pure virtual |
Get the time scale value used for evaluation.
- Returns
- The time scale value.
◆ SetTimelineUnitEnabled()
|
pure virtual |
Activate/deactivate processing of a timeline at a given unit.
- Parameters
-
unit The timeline unit. enabled If true, a timeline at the given unit is processed.
- Returns
- true if successful.
◆ IsTimelineUnitEnabled()
Check if a given timeline unit is used.
- Parameters
-
unit The timeline unit.
- Returns
- true if used.
◆ SetBlendFactorNormalizationEnabled()
|
pure virtual |
Enable/disable blend factor normalization.
If set to true, the blend factors of all currently relevant timelines are summed up, and each of them is divided by that sum so that the total sum of the blend factors equals 1.
- Parameters
-
enabled If true, normalization is enabled.
- Returns
- true if successful.
◆ IsBlendFactorNormalizationEnabled()
|
pure virtual |
Check if blend factor normalization is enabled.
- Returns
- true if enabled.
◆ SetResponseGroupMask()
Set the active response groups for this controller.
An active controller can be configured to only react on timelines belonging to one or more specific groups. Group assignment is done via a UInt32 bit mask, allowing up to 32 individual groups. The controller processes a given timeline only if at least one specific group bit is set both in the timeline's trigger mask and the controller's response mask. By default, a controller reacts on all trigger groups (the mask is set to 0xffffffff). See Graph::ITimeline::SetTriggerGroupMask().
- Parameters
-
mask The response group bit mask.
- Returns
- true if successful.
◆ GetResponseGroupMask()
|
pure virtual |
Get the active response groups for this controller.
- Returns
- The bit mask specifying active response groups.
The documentation for this interface was generated from the following file:
- murl_graph_i_time_controller.h