The ITimeController interface.
More...
#include <murl_graph_i_time_controller.h>
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.
◆ GetControllerInterface() [1/2]
virtual IController* Murl::Graph::ITimeController::GetControllerInterface |
( |
| ) |
|
|
pure virtual |
◆ GetControllerInterface() [2/2]
virtual const IController* Murl::Graph::ITimeController::GetControllerInterface |
( |
| ) |
const |
|
pure virtual |
◆ SetTimeShift()
virtual Bool Murl::Graph::ITimeController::SetTimeShift |
( |
Double |
timeShift | ) |
|
|
pure virtual |
Set the time shift value used for evaluation.
- Parameters
-
timeShift | The time shift value. |
- Returns
- true if successful.
◆ GetTimeShift()
virtual Double Murl::Graph::ITimeController::GetTimeShift |
( |
| ) |
const |
|
pure virtual |
Get the time shift value used for evaluation.
- Returns
- The time shift value.
◆ SetTimeOffset()
virtual Bool Murl::Graph::ITimeController::SetTimeOffset |
( |
Double |
timeOffset | ) |
|
|
pure virtual |
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()
virtual Double Murl::Graph::ITimeController::GetTimeOffset |
( |
| ) |
const |
|
pure virtual |
Get the time offset value used for evaluation.
- Returns
- The time offset value.
◆ SetTimeScale()
virtual Bool Murl::Graph::ITimeController::SetTimeScale |
( |
Double |
timeScale | ) |
|
|
pure virtual |
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()
virtual Double Murl::Graph::ITimeController::GetTimeScale |
( |
| ) |
const |
|
pure virtual |
Get the time scale value used for evaluation.
- Returns
- The time scale value.
◆ SetTimelineUnitEnabled()
virtual Bool Murl::Graph::ITimeController::SetTimelineUnitEnabled |
( |
UInt32 |
unit, |
|
|
Bool |
enabled |
|
) |
| |
|
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()
virtual Bool Murl::Graph::ITimeController::IsTimelineUnitEnabled |
( |
UInt32 |
unit | ) |
const |
|
pure virtual |
Check if a given timeline unit is used.
- Parameters
-
- Returns
- true if used.
◆ SetBlendFactorNormalizationEnabled()
virtual Bool Murl::Graph::ITimeController::SetBlendFactorNormalizationEnabled |
( |
Bool |
enabled | ) |
|
|
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()
virtual Bool Murl::Graph::ITimeController::IsBlendFactorNormalizationEnabled |
( |
| ) |
const |
|
pure virtual |
Check if blend factor normalization is enabled.
- Returns
- true if enabled.
◆ SetResponseGroupMask()
virtual Bool Murl::Graph::ITimeController::SetResponseGroupMask |
( |
UInt32 |
mask | ) |
|
|
pure virtual |
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()
virtual UInt32 Murl::Graph::ITimeController::GetResponseGroupMask |
( |
| ) |
const |
|
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