The ITimeline graph node interface. More...

#include "murl_graph_i_timeline.h"

Inheritance diagram for Murl::Graph::ITimeline:

Public Member Functions

virtual INodeGetNodeInterface ()=0
 Get the mutable Graph::INode interface. More...
 
virtual const INodeGetNodeInterface () const =0
 Get the constant Graph::INode interface. More...
 
virtual ITimelineNodeTargetGetParentTimelineNodeTarget ()=0
 Get the mutable container holding an optional parent timeline. More...
 
virtual const ITimelineNodeTargetGetParentTimelineNodeTarget () const =0
 Get the constant container holding an optional parent timeline. More...
 
virtual ITimelineNodeTargetGetSubTimelineNodeTarget ()=0
 Get the mutable container holding the optional sub-timelines. More...
 
virtual const ITimelineNodeTargetGetSubTimelineNodeTarget () const =0
 Get the constant container holding the optional sub-timelines. More...
 
virtual IAnimationResourceTargetGetAnimationResourceTarget ()=0
 Get a mutable Graph::IAnimationResourceTarget container. More...
 
virtual const IAnimationResourceTargetGetAnimationResourceTarget () const =0
 Get a constant Graph::IAnimationResourceTarget container. More...
 
virtual Bool Reset ()=0
 Reset the timeline. More...
 
virtual Bool ResetTo (Real startTime)=0
 Reset the timeline to a specified start time. More...
 
virtual Bool Start ()=0
 Start or continue the timeline. More...
 
virtual Bool Start (Real startTime, Real endTime)=0
 Start the timeline with specified parameters. More...
 
virtual Bool Start (Real startTime, Real endTime, SInt32 numberOfLoops)=0
 Start the timeline with specified parameters. More...
 
virtual Bool Start (Real startTime, Real endTime, Real loopStartTime, Real loopEndTime, SInt32 numberOfLoops)=0
 Start the timeline with specified parameters. More...
 
virtual Bool Pause ()=0
 Pause the timeline. More...
 
virtual Bool Stop ()=0
 Stop the timeline. More...
 
virtual Bool Rewind ()=0
 Rewind the timeline. More...
 
virtual Bool Stall () const =0
 Stall the timeline. More...
 
virtual Bool SetClipIndex (UInt32 clipIndex)=0
 Set the clip index. More...
 
virtual UInt32 GetClipIndex () const =0
 Get the clip index. More...
 
virtual Bool SetClipName (const String &clipName)=0
 Set the current clip by name. More...
 
virtual String GetClipName () const =0
 Get the current clip's name. More...
 
virtual Bool SetStartTime (Real startTime)=0
 Set the start time. More...
 
virtual Real GetStartTime () const =0
 Get the start time. More...
 
virtual Bool SetEndTime (Real endTime)=0
 Set the end time. More...
 
virtual Real GetEndTime () const =0
 Get the end time. More...
 
virtual Bool SetLoopStartTime (Real startTime)=0
 Set the loop start time. More...
 
virtual Real GetLoopStartTime () const =0
 Get the loop start time. More...
 
virtual Bool SetLoopEndTime (Real endTime)=0
 Set the loop end time. More...
 
virtual Real GetLoopEndTime () const =0
 Get the loop end time. More...
 
virtual Bool SetStartLoop (SInt32 startLoop)=0
 Set the start loop. More...
 
virtual SInt32 GetStartLoop () const =0
 Get the start loop. More...
 
virtual Bool SetNumberOfLoops (SInt32 numberOfLoops)=0
 Set the number of loops. More...
 
virtual SInt32 GetNumberOfLoops () const =0
 Get the number of loops. More...
 
virtual Bool SetTimeShift (Double timeShift)=0
 Set the time shift value. More...
 
virtual Double GetTimeShift () const =0
 Get the time shift value. More...
 
virtual Bool SetTimeOffset (Double timeOffset)=0
 Set the time offset value. More...
 
virtual Double GetTimeOffset () const =0
 Get the time offset value. More...
 
virtual Bool SetTimeScale (Real timeScale)=0
 Set the time scale factor. More...
 
virtual Real GetTimeScale () const =0
 Get the time scale factor. More...
 
virtual Bool SetTriggerGroupMask (UInt32 mask)=0
 Set the active trigger groups for this timeline. More...
 
virtual UInt32 GetTriggerGroupMask () const =0
 Get the active trigger groups for this timeline. More...
 
virtual Bool SetAutoRewindEnabled (Bool enabled)=0
 Enable/disable automatic rewind. More...
 
virtual Bool IsAutoRewindEnabled () const =0
 Check if automatic rewind is enabled. More...
 
virtual Bool SetStartOnActivateEnabled (Bool enabled)=0
 Enable/disable starting on node activation. More...
 
virtual Bool IsStartOnActivateEnabled () const =0
 Check if starting on node activation is enabled. More...
 
virtual Bool SetStopOnDeactivateEnabled (Bool enabled)=0
 Enable/disable stopping on node deactivation. More...
 
virtual Bool IsStopOnDeactivateEnabled () const =0
 Check if stopping on node deactivation is enabled. More...
 
virtual Bool IsRunning () const =0
 Check if the timeline is running. More...
 
virtual Bool IsPaused () const =0
 Check if the timeline is paused. More...
 
virtual Bool IsStopped () const =0
 Check if the timeline is stopped. More...
 
virtual Bool WasStarted () const =0
 Check if the timeline was started from the beginning. More...
 
virtual Bool WasRunning () const =0
 Check if the timeline has stopped running. More...
 
virtual Bool IsOrWasRunning () const =0
 Check if the timeline is or was running. More...
 
virtual Bool HasPassedTime (Real time) const =0
 Check if the current time has passed a specified time within the most recent tick. More...
 
virtual Bool HasPassedLoop (SInt32 loop=-1) const =0
 Check if the current loop has passed a specified loop number within the most recent tick. More...
 
virtual Double GetRecentTime () const =0
 Get the recent time. More...
 
virtual Double GetCurrentTime () const =0
 Get the current time. More...
 
virtual Double GetRemainingTime () const =0
 Get the remaining time. More...
 
virtual void SetCurrentTime (Double time)=0
 Set the current time. More...
 
virtual SInt32 GetRecentLoop () const =0
 Get the recent loop. More...
 
virtual SInt32 GetCurrentLoop () const =0
 Get the current loop. More...
 
virtual SInt32 GetRemainingLoops () const =0
 Get the remaining loops. More...
 
virtual Bool SetCurrentLoop (SInt32 loop)=0
 Set the current loop. More...
 
virtual IEnums::AnimationState GetRecentState () const =0
 Get the recent animation state. More...
 
virtual IEnums::AnimationState GetCurrentState () const =0
 Get the current animation state. More...
 
virtual UInt32 GetNumberOfStages () const =0
 Get the timeline's number of stages. More...
 
virtual const ITimelineGetTimeline (UInt32 stage) const =0
 Get the timeline's actual node at a given stage. More...
 
- Public Member Functions inherited from Murl::Graph::IStateUnit
virtual Bool SetUnit (UInt32 unit)=0
 Set the unit index to use. More...
 
virtual UInt32 GetUnit () const =0
 Get the unit index to use. More...
 
- Public Member Functions inherited from Murl::Graph::IBlendable
virtual Bool SetBlendFactor (UInt32 stageIndex, Real blendFactor)=0
 Set the blend factor for a given stage. More...
 
virtual Real GetBlendFactor (UInt32 stageIndex) const =0
 Get the blend factor set for a given stage. More...
 

Detailed Description

The ITimeline graph node interface.

The timeline node is evaluated each logic traversal if activated.
A simple timeline is specified by a start/end time.
The timeline can be controlled by Start(), Pause() and Stop() calls.
All setters are taking effect immediately even if the timeline is running.
A more detailed timeline can use a loop start/end time, resulting in 3 phases:

  • Intro running from start to loop start time.
  • Loop running from loop start to loop end time several times.
  • Outro running from loop end to end time.

The number of loops specifies the counter for of the loop phase.
Endless looping can be achieved by setting number of loops to < 0.
If number of loops is 0 the loop start/end time is ignored which means the timeline simply runs from start to end time.
If the start time is equal to the loop start time the intro phase is skipped.
If the end time is equal to the loop end time the outro phase is skipped.

Timelines may depend on an optional parent timeline, which is in control of actually starting and stopping the current timeline. See GetParentTimelineNodeTarget().

Optionally, a Resource::IAnimation object may be defined, which can be used to retrieve the time range of an animation clip, which is then used for playback. See GetAnimationResourceTarget(), SetClipIndex() and SetClipName().

A timeline also implements the Graph::IBlendable interface, in order to blend multiple timelines together. Blending can be performed both between multiple timeline units as well as multiple stages from a Graph::MultiTimeline. See GetSubTimelineNodeTarget() for latter case.

It is possible to define a bit mask of up to 32 different global trigger groups, which can be used to selectively enable/disable the timeline's effect on e.g. controllers that implement the Graph::ITimeController interface. See SetTriggerGroupMask() and Graph::ITimeController::SetResponseGroupMask(). By default, all 32 groups are triggered.

See Output-States, Slots und Units for an overview of state handling during scene graph traversal.
See Graph::ITimelineState for activating a timeline.

Member Function Documentation

◆ GetNodeInterface() [1/2]

virtual INode* Murl::Graph::ITimeline::GetNodeInterface ( )
pure virtual

Get the mutable Graph::INode interface.

This method returns a mutable pointer to the node's Graph::INode interface, to be able to query or modify common node properties such as active state, visibility or ID.

Returns
The mutable Graph::INode interface, or null if not available

◆ GetNodeInterface() [2/2]

virtual const INode* Murl::Graph::ITimeline::GetNodeInterface ( ) const
pure virtual

Get the constant Graph::INode interface.

This method returns a constant pointer to the node's Graph::INode interface, to be able to query common node properties such as active state, visibility or ID.

Returns
The constant Graph::INode interface, or null if not available

◆ GetParentTimelineNodeTarget() [1/2]

virtual ITimelineNodeTarget* Murl::Graph::ITimeline::GetParentTimelineNodeTarget ( )
pure virtual

Get the mutable container holding an optional parent timeline.

This method returns a mutable pointer to the node's Graph::ITimelineNodeTarget parent container, which is used to store an optional timeline parent to inherit values from.

Returns
The mutable Graph::ITimelineNodeTarget container, or null if not available.

◆ GetParentTimelineNodeTarget() [2/2]

virtual const ITimelineNodeTarget* Murl::Graph::ITimeline::GetParentTimelineNodeTarget ( ) const
pure virtual

Get the constant container holding an optional parent timeline.

This method returns a constant pointer to the node's Graph::ITimelineNodeTarget parent container, which is used to store an optional timeline parent to inherit values from.

Returns
The constant Graph::ITimelineNodeTarget container, or null if not available.

◆ GetSubTimelineNodeTarget() [1/2]

virtual ITimelineNodeTarget* Murl::Graph::ITimeline::GetSubTimelineNodeTarget ( )
pure virtual

Get the mutable container holding the optional sub-timelines.

This method returns a mutable pointer to the node's Graph::ITimelineNodeTarget sub container, which is used to store multiple sub-timeline stages.

Returns
The mutable Graph::ITimelineNodeTarget container, or null if not available.

◆ GetSubTimelineNodeTarget() [2/2]

virtual const ITimelineNodeTarget* Murl::Graph::ITimeline::GetSubTimelineNodeTarget ( ) const
pure virtual

Get the constant container holding the optional sub-timelines.

This method returns a constant pointer to the node's Graph::ITimelineNodeTarget sub container, which is used to store multiple sub-timeline stages.

Returns
The constant Graph::ITimelineNodeTarget container, or null if not available.

◆ GetAnimationResourceTarget() [1/2]

virtual IAnimationResourceTarget* Murl::Graph::ITimeline::GetAnimationResourceTarget ( )
pure virtual

Get a mutable Graph::IAnimationResourceTarget container.

This method returns a mutable pointer to a Graph::IAnimationResourceTarget container, which allows to add, remove or query the optional animation resource that can be used to configure the timeline to play back the time range of a specific animation clip from the resource. See also ITimeline::SetClipIndex().

Returns
The mutable Graph::IAnimationResourceTarget container.

◆ GetAnimationResourceTarget() [2/2]

virtual const IAnimationResourceTarget* Murl::Graph::ITimeline::GetAnimationResourceTarget ( ) const
pure virtual

Get a constant Graph::IAnimationResourceTarget container.

This method returns a constant pointer to a Graph::IAnimationResourceTarget container, which allows to query the optional animation resource that can be used to configure the timeline to play back the time range of a specific animation clip from the resource. See also ITimeline::SetClipIndex().

Returns
The constant Graph::IAnimationResourceTarget container.

◆ Reset()

virtual Bool Murl::Graph::ITimeline::Reset ( )
pure virtual

Reset the timeline.

Stop the timeline, reset the WasRunning() state and call Rewind().

Returns
true if successful.

Referenced by Murl::Logic::GraphSoundObject::StopPlaying().

◆ ResetTo()

virtual Bool Murl::Graph::ITimeline::ResetTo ( Real  startTime)
pure virtual

Reset the timeline to a specified start time.

Set the start time and call Reset().

Parameters
startTimeThe start time in seconds.
Returns
true if successful.

◆ Start() [1/4]

virtual Bool Murl::Graph::ITimeline::Start ( )
pure virtual

Start or continue the timeline.

Does not modify the current time and loop.

Returns
true if successful.

Referenced by Murl::Logic::GraphSoundObject::ContinuePlaying(), and Murl::Logic::GraphSoundObject::StartPlaying().

◆ Start() [2/4]

virtual Bool Murl::Graph::ITimeline::Start ( Real  startTime,
Real  endTime 
)
pure virtual

Start the timeline with specified parameters.

Set start/end time, calls Rewind() and Start().

Parameters
startTimeThe start time in seconds.
endTimeThe end time in seconds.
Returns
true if successful.

◆ Start() [3/4]

virtual Bool Murl::Graph::ITimeline::Start ( Real  startTime,
Real  endTime,
SInt32  numberOfLoops 
)
pure virtual

Start the timeline with specified parameters.

Set start/end time, number of loops, calls Rewind() and Start().

Parameters
startTimeThe start time in seconds.
endTimeThe end time in seconds.
numberOfLoopsNumber of loops.
Returns
true if successful.

◆ Start() [4/4]

virtual Bool Murl::Graph::ITimeline::Start ( Real  startTime,
Real  endTime,
Real  loopStartTime,
Real  loopEndTime,
SInt32  numberOfLoops 
)
pure virtual

Start the timeline with specified parameters.

Set start/end time, loop start/end time, number of loops, calls Rewind() and Start().

Parameters
startTimeThe start time in seconds.
endTimeThe end time in seconds.
loopStartTimeThe loop start time in seconds.
loopEndTimeThe loop end time in seconds.
numberOfLoopsNumber of loops.
Returns
true if successful.

◆ Pause()

virtual Bool Murl::Graph::ITimeline::Pause ( )
pure virtual

Pause the timeline.

Returns
true if timeline was paused, false if timeline is not running.

Referenced by Murl::Logic::GraphSoundObject::PausePlaying().

◆ Stop()

virtual Bool Murl::Graph::ITimeline::Stop ( )
pure virtual

Stop the timeline.

Rewind() is called if auto rewind is enabled.

Returns
true if timeline was stopped, false if timeline is already stopped.

Referenced by Murl::Logic::GraphSoundObject::StopPlaying().

◆ Rewind()

virtual Bool Murl::Graph::ITimeline::Rewind ( )
pure virtual

Rewind the timeline.

Sets the current time to the start time and the current loop to the start loop. Does not affect the current running state.

Returns
true if successful.

◆ Stall()

virtual Bool Murl::Graph::ITimeline::Stall ( ) const
pure virtual

Stall the timeline.

This method acts as a trigger to pause the timeline for a single logic tick. Usually this is called by some node that depends on a steady flow of input data (such as a movie stream) whenever it has to wait for new input data in order to continue decoding. In this case, the timeline may be stalled so that other animations depending on that timeline are kept in sync.

Returns
true if successful.

◆ SetClipIndex()

virtual Bool Murl::Graph::ITimeline::SetClipIndex ( UInt32  clipIndex)
pure virtual

Set the clip index.

Setting the clip index works in conjunction with an animation resource set via the resource target obtained from GetAnimationResourceTarget().

Parameters
clipIndexThe clip index to set.
Returns
true if successful.

◆ GetClipIndex()

virtual UInt32 Murl::Graph::ITimeline::GetClipIndex ( ) const
pure virtual

Get the clip index.

Returns
The clip index.

◆ SetClipName()

virtual Bool Murl::Graph::ITimeline::SetClipName ( const String clipName)
pure virtual

Set the current clip by name.

Setting the clip works only in conjunction with an animation resource set via the resource target obtained from GetAnimationResourceTarget(), from which the actual clip index is retrieved by its name. This method fails if the given clip name is empty, no animation resource is set, or no clip with that name was found in the animation resource.

Parameters
clipNameThe clip name.
Returns
true if successful.

◆ GetClipName()

virtual String Murl::Graph::ITimeline::GetClipName ( ) const
pure virtual

Get the current clip's name.

This method returns an empty string when no animation resource is defined or the currently active clip is unnamed.

Returns
The clip name if available.

◆ SetStartTime()

virtual Bool Murl::Graph::ITimeline::SetStartTime ( Real  startTime)
pure virtual

Set the start time.

Parameters
startTimeThe start time in seconds.
Returns
true if successful.

◆ GetStartTime()

virtual Real Murl::Graph::ITimeline::GetStartTime ( ) const
pure virtual

Get the start time.

Returns
The start time in seconds.

◆ SetEndTime()

virtual Bool Murl::Graph::ITimeline::SetEndTime ( Real  endTime)
pure virtual

Set the end time.

Parameters
endTimeThe end time in seconds.
Returns
true if successful.

◆ GetEndTime()

virtual Real Murl::Graph::ITimeline::GetEndTime ( ) const
pure virtual

Get the end time.

Returns
The end time in seconds.

◆ SetLoopStartTime()

virtual Bool Murl::Graph::ITimeline::SetLoopStartTime ( Real  startTime)
pure virtual

Set the loop start time.

Parameters
startTimeThe loop start time in seconds.
Returns
true if successful.

◆ GetLoopStartTime()

virtual Real Murl::Graph::ITimeline::GetLoopStartTime ( ) const
pure virtual

Get the loop start time.

Returns
The loop start time in seconds.

◆ SetLoopEndTime()

virtual Bool Murl::Graph::ITimeline::SetLoopEndTime ( Real  endTime)
pure virtual

Set the loop end time.

Parameters
endTimeThe loop end time in seconds.
Returns
true if successful.

◆ GetLoopEndTime()

virtual Real Murl::Graph::ITimeline::GetLoopEndTime ( ) const
pure virtual

Get the loop end time.

Returns
The loop end time in seconds.

◆ SetStartLoop()

virtual Bool Murl::Graph::ITimeline::SetStartLoop ( SInt32  startLoop)
pure virtual

Set the start loop.

Loop #0 is considered the intro, if it is desired to start right in the middle of the first actual loop, the start loop should be set to 1.

Parameters
startLoopThe start loop.
Returns
true if successful.

◆ GetStartLoop()

virtual SInt32 Murl::Graph::ITimeline::GetStartLoop ( ) const
pure virtual

Get the start loop.

Returns
The start loop.

◆ SetNumberOfLoops()

virtual Bool Murl::Graph::ITimeline::SetNumberOfLoops ( SInt32  numberOfLoops)
pure virtual

Set the number of loops.

Parameters
numberOfLoopsNumber of loops.
Returns
true if successful.

◆ GetNumberOfLoops()

virtual SInt32 Murl::Graph::ITimeline::GetNumberOfLoops ( ) const
pure virtual

Get the number of loops.

Returns
The number of loops.

◆ SetTimeShift()

virtual Bool Murl::Graph::ITimeline::SetTimeShift ( Double  timeShift)
pure virtual

Set the time shift value.

Parameters
timeShiftThe time shift value.
Returns
true if successful.

◆ GetTimeShift()

virtual Double Murl::Graph::ITimeline::GetTimeShift ( ) const
pure virtual

Get the time shift value.

Returns
The time shift value.

◆ SetTimeOffset()

virtual Bool Murl::Graph::ITimeline::SetTimeOffset ( Double  timeOffset)
pure virtual

Set the time offset value.

Parameters
timeOffsetThe time offset value.
Returns
true if successful.

◆ GetTimeOffset()

virtual Double Murl::Graph::ITimeline::GetTimeOffset ( ) const
pure virtual

Get the time offset value.

Returns
The time offset value.

◆ SetTimeScale()

virtual Bool Murl::Graph::ITimeline::SetTimeScale ( Real  timeScale)
pure virtual

Set the time scale factor.

The recent tick duration is multiplied by the time scale factor and added to the current time each logic tick. The default time scale factor is 1.

Parameters
timeScaleThe time scale factor.
Returns
true if successful.

◆ GetTimeScale()

virtual Real Murl::Graph::ITimeline::GetTimeScale ( ) const
pure virtual

Get the time scale factor.

Returns
true The time scale factor.

◆ SetTriggerGroupMask()

virtual Bool Murl::Graph::ITimeline::SetTriggerGroupMask ( UInt32  mask)
pure virtual

Set the active trigger groups for this timeline.

A timeline can be configured to influence a number of user-defined controller groups stored as a UInt32 bit mask, allowing up to 32 individual groups. See Graph::IController::SetResponseGroupMask().

Parameters
maskThe trigger group bit mask.
Returns
true if successful.

◆ GetTriggerGroupMask()

virtual UInt32 Murl::Graph::ITimeline::GetTriggerGroupMask ( ) const
pure virtual

Get the active trigger groups for this timeline.

Returns
The bit mask specifying active trigger groups.

◆ SetAutoRewindEnabled()

virtual Bool Murl::Graph::ITimeline::SetAutoRewindEnabled ( Bool  enabled)
pure virtual

Enable/disable automatic rewind.

Automatic rewind is calling Rewind() when the timeline is stopped.

Parameters
enabledEnable automatic rewind if true.
Returns
true if successful.

◆ IsAutoRewindEnabled()

virtual Bool Murl::Graph::ITimeline::IsAutoRewindEnabled ( ) const
pure virtual

Check if automatic rewind is enabled.

Returns
true if automatic rewind.

◆ SetStartOnActivateEnabled()

virtual Bool Murl::Graph::ITimeline::SetStartOnActivateEnabled ( Bool  enabled)
pure virtual

Enable/disable starting on node activation.

If the timeline node or a sub-tree containing the node is changed to active the Start() method is called within the next logic traversal.

Parameters
enabledEnable starting if true.
Returns
true if successful.

◆ IsStartOnActivateEnabled()

virtual Bool Murl::Graph::ITimeline::IsStartOnActivateEnabled ( ) const
pure virtual

Check if starting on node activation is enabled.

Returns
true if enabled.

◆ SetStopOnDeactivateEnabled()

virtual Bool Murl::Graph::ITimeline::SetStopOnDeactivateEnabled ( Bool  enabled)
pure virtual

Enable/disable stopping on node deactivation.

If the timeline node or a sub-tree containing the node is changed to inactive the Stop() method is called within the next logic traversal. For potential sideffects see WasRunning().

Parameters
enabledEnable stopping if true.
Returns
true if successful.

◆ IsStopOnDeactivateEnabled()

virtual Bool Murl::Graph::ITimeline::IsStopOnDeactivateEnabled ( ) const
pure virtual

Check if stopping on node deactivation is enabled.

Returns
true if enabled.

◆ IsRunning()

virtual Bool Murl::Graph::ITimeline::IsRunning ( ) const
pure virtual

Check if the timeline is running.

A timeline can be started by calling Start() and stopped by calling Stop().

Returns
true if running.

Referenced by Murl::Logic::GraphSoundObject::IsPlaying().

◆ IsPaused()

virtual Bool Murl::Graph::ITimeline::IsPaused ( ) const
pure virtual

Check if the timeline is paused.

A timeline can be paused by calling Pause() and continued by calling Start().

Returns
true if paused.

Referenced by Murl::Logic::GraphSoundObject::ContinuePlaying().

◆ IsStopped()

virtual Bool Murl::Graph::ITimeline::IsStopped ( ) const
pure virtual

Check if the timeline is stopped.

A timeline can be stopped by calling Stop() and started by calling Start().

Returns
true if stopped.

◆ WasStarted()

virtual Bool Murl::Graph::ITimeline::WasStarted ( ) const
pure virtual

Check if the timeline was started from the beginning.

Returns
true if started.

◆ WasRunning()

virtual Bool Murl::Graph::ITimeline::WasRunning ( ) const
pure virtual

Check if the timeline has stopped running.

If the timeline is stopped this state is true within the current logic tick only and will be cleared at the next logic traversal.
(!) This state remains unchanged if the timeline node or a sub-tree containing the node is set to inactive within the current logic tick or if SetStopOnDeactivateEnabled() is enabled. In such a case the Reset() method can be called to clear the state.

Returns
true if stopped.

◆ IsOrWasRunning()

virtual Bool Murl::Graph::ITimeline::IsOrWasRunning ( ) const
pure virtual

Check if the timeline is or was running.

Returns (IsRunning() || WasRunning()) state.

Returns
true if IsRunning() or WasRunning() is true.

◆ HasPassedTime()

virtual Bool Murl::Graph::ITimeline::HasPassedTime ( Real  time) const
pure virtual

Check if the current time has passed a specified time within the most recent tick.

Does not consider loops, for evaluating loops see HasPassedLoop().

Parameters
timeThe time to check in seconds.
Returns
true if the current time has passed a specified time within the most recent tick.

◆ HasPassedLoop()

virtual Bool Murl::Graph::ITimeline::HasPassedLoop ( SInt32  loop = -1) const
pure virtual

Check if the current loop has passed a specified loop number within the most recent tick.

If the loop number to check is negative, true is returned each time the current loop has changed.

Parameters
loopThe loop number to check.
Returns
true if the current loop has passed a specified loop within the most recent tick.

◆ GetRecentTime()

virtual Double Murl::Graph::ITimeline::GetRecentTime ( ) const
pure virtual

Get the recent time.

Returns
The recent time in seconds.

◆ GetCurrentTime()

virtual Double Murl::Graph::ITimeline::GetCurrentTime ( ) const
pure virtual

Get the current time.

This method does not consider loops, for evaluating loops see GetCurrentLoop().

Returns
The current time in seconds.

◆ GetRemainingTime()

virtual Double Murl::Graph::ITimeline::GetRemainingTime ( ) const
pure virtual

Get the remaining time.

This method calculates GetEndTime() - GetCurrentTime() which does not consider loops, for evaluating loops see GetCurrentLoop().

Returns
The remaining time in seconds.

◆ SetCurrentTime()

virtual void Murl::Graph::ITimeline::SetCurrentTime ( Double  time)
pure virtual

Set the current time.

This method does not consider loops, for setting loops see SetCurrentLoop().

Parameters
timeThe current time to set in seconds.

◆ GetRecentLoop()

virtual SInt32 Murl::Graph::ITimeline::GetRecentLoop ( ) const
pure virtual

Get the recent loop.

Returns
The recent loop, 0 if number of loops is 0.

◆ GetCurrentLoop()

virtual SInt32 Murl::Graph::ITimeline::GetCurrentLoop ( ) const
pure virtual

Get the current loop.

The current loop provides the following information for n loops:

  • 0 Intro running from start to loop start time.
  • 1 .. n Loop running from loop start to loop end time.
  • n + 1 Outro running from loop end to end time.
Returns
The current loop, 0 if number of loops is 0.

◆ GetRemainingLoops()

virtual SInt32 Murl::Graph::ITimeline::GetRemainingLoops ( ) const
pure virtual

Get the remaining loops.

Calculates GetNumberOfLoops() - GetCurrentLoop().

Returns
The remaining loops, -1 if number of loops is < 0, 0 if number of loops is 0 or intro/outro is running.

◆ SetCurrentLoop()

virtual Bool Murl::Graph::ITimeline::SetCurrentLoop ( SInt32  loop)
pure virtual

Set the current loop.

The current loop represents the following information for n loops:

  • 0 Intro running from start to loop start time.
  • 1 .. n Loop running from loop start to loop end time.
  • n + 1 Outro running from loop end to end time.
Parameters
loopThe current loop to set.
Returns
true if successful, false if the loop number is out of range.

◆ GetRecentState()

virtual IEnums::AnimationState Murl::Graph::ITimeline::GetRecentState ( ) const
pure virtual

Get the recent animation state.

Returns
The recent animation state.

◆ GetCurrentState()

virtual IEnums::AnimationState Murl::Graph::ITimeline::GetCurrentState ( ) const
pure virtual

Get the current animation state.

Returns
The current animation state.

◆ GetNumberOfStages()

virtual UInt32 Murl::Graph::ITimeline::GetNumberOfStages ( ) const
pure virtual

Get the timeline's number of stages.

Returns
The number of stages.

◆ GetTimeline()

virtual const ITimeline* Murl::Graph::ITimeline::GetTimeline ( UInt32  stage) const
pure virtual

Get the timeline's actual node at a given stage.

Parameters
stageThe stage to query.
Returns
The timeline sub-object.

The documentation for this interface was generated from the following file:
  • murl_graph_i_timeline.h


Copyright © 2011-2018 Spraylight GmbH.