Murl::Graph::IClipTransition Interface Referenceabstract

The IClipTransition graph node interface. More...

#include "murl_graph_i_clip_transition.h"

Inheritance diagram for Murl::Graph::IClipTransition:

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 Bool SetTriggerConditionEnabled (IEnums::TriggerCondition condition, Bool enabled)=0
 Enable/disable a given trigger condition. More...
 
virtual Bool IsTriggerConditionEnabled (IEnums::TriggerCondition condition) const =0
 Check if a given trigger condition is enabled. More...
 
virtual IVariableNodeTargetGetTriggerVariableNodeTarget ()=0
 Get the mutable Graph::IVariableNodeTarget container referencing a trigger variable. More...
 
virtual const IVariableNodeTargetGetTriggerVariableNodeTarget () const =0
 Get the constant Graph::IVariableNodeTarget container referencing a trigger variable. More...
 
virtual IClipNodeTargetGetFromClipNodeTarget ()=0
 Get the mutable Graph::IClipNodeTarget container referencing the "from" clip. More...
 
virtual const IClipNodeTargetGetFromClipNodeTarget () const =0
 Get the constant Graph::IClipNodeTarget container referencing the "from" clip. More...
 
virtual IClipNodeTargetGetToClipNodeTarget ()=0
 Get the mutable Graph::IClipNodeTarget container referencing the "to" clip. More...
 
virtual const IClipNodeTargetGetToClipNodeTarget () const =0
 Get the constant Graph::IClipNodeTarget container referencing the "to" clip. More...
 
virtual Bool SetOutDuration (Double duration)=0
 Set the duration of the "from" node's out transition. More...
 
virtual Double GetOutDuration () const =0
 Get the duration of the "from" node's out transition. More...
 
virtual Bool SetOutOffset (Double offset)=0
 Set the out transition time offset. More...
 
virtual Double GetOutOffset () const =0
 Get the out transition time offset. More...
 
virtual Bool SetInDuration (Double duration)=0
 Set the duration of the "to" node's in transition. More...
 
virtual Double GetInDuration () const =0
 Get the duration of the "to" node's in transition. More...
 
virtual Bool SetInOffset (Double offset)=0
 Set the in transition time offset. More...
 
virtual Double GetInOffset () const =0
 Get the in transition time offset. More...
 

Detailed Description

The IClipTransition graph node interface.

Clip transition nodes must be defined as direct children of a node implementing the Graph::IClipSequencer interface, which is responsible for managing any transitions between those clips. See Graph::IClipSequencer and Graph::IClip.

A clip transition must always reference exactly two Graph::IClip nodes: one representing the "from" state and another one for the "to" state. See GetFromClipNodeTarget() and GetToClipNodeTarget().

When a transition is triggered, the given "from" node is blended out (towards a blend factor of 0.0). and the "to" node is synchronously blended in (towards 1.0), both with their respective duration and offset.

The actual trigger used to start a transition can be any combination of bits from the IEnums::TriggerCondition enumeration, set via SetTriggerConditionEnabled(). The following trigger types are available:

  • IEnums::TRIGGER_CONDITION_CLIP_FINISHED: The transition is started when the timelines defined in the "from" clip are about to expire (see Graph::IClip::GetRemainingClipTime()). This takes into account the given out duration and offset values; the transition is started before the timelines are actually finished so that both transition and timelines expire at the same time. Negative offset values result in the transition being started earlier, positive values add a delay.
  • IEnums::TRIGGER_CONDITION_LOOP_FINISHED: Similar to CLIP_FINISHED, but the transition is started when a timeline in the "from" clip is about to finish its next loop. This is useful for timelines that loop forever, where it is desired to synchronize a transition to a whole loop (e.g. when the feet are on the ground in a walk cycle animation).
  • IEnums::TRIGGER_CONDITION_VARIABLE: When using this trigger, a Graph::IVariable node must be defined via GetTriggerVariableNodeTarget(), of type IEnums::VARIABLE_TYPE_BOOL. The transition is started immediately when the variable's value equals true. This means, that in this case negative offset values cannot have an effect and are clamped to zero.

Note, that if a transition to a certain clip is started, and there is another transition for that new clip whose condition is true at the same moment, that transition gets also started at the same time. This means, that it is possible to chain transitions together without any delay. However, the same clip cannot be processed twice in the same tick, otherwise an infinite loop would occur. In such a case, the transition is delayed until the next tick.

Member Function Documentation

◆ GetNodeInterface() [1/2]

virtual INode* Murl::Graph::IClipTransition::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::IClipTransition::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

◆ SetTriggerConditionEnabled()

virtual Bool Murl::Graph::IClipTransition::SetTriggerConditionEnabled ( IEnums::TriggerCondition  condition,
Bool  enabled 
)
pure virtual

Enable/disable a given trigger condition.

Parameters
conditionThe condition to enable or disable
enabledIf true, the given condition gets enabled.
Returns
true if successful.

◆ IsTriggerConditionEnabled()

virtual Bool Murl::Graph::IClipTransition::IsTriggerConditionEnabled ( IEnums::TriggerCondition  condition) const
pure virtual

Check if a given trigger condition is enabled.

Parameters
conditionThe condition to check.
Returns
true if enabled.

◆ GetTriggerVariableNodeTarget() [1/2]

virtual IVariableNodeTarget* Murl::Graph::IClipTransition::GetTriggerVariableNodeTarget ( )
pure virtual

Get the mutable Graph::IVariableNodeTarget container referencing a trigger variable.

This method returns a mutable pointer to the node's Graph::IVariableNodeTarget container, which allows to set or query a reference to an optional trigger variable.

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

◆ GetTriggerVariableNodeTarget() [2/2]

virtual const IVariableNodeTarget* Murl::Graph::IClipTransition::GetTriggerVariableNodeTarget ( ) const
pure virtual

Get the constant Graph::IVariableNodeTarget container referencing a trigger variable.

This method returns a constant pointer to the node's Graph::IVariableNodeTarget container, which allows to query a reference to an optional trigger variable.

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

◆ GetFromClipNodeTarget() [1/2]

virtual IClipNodeTarget* Murl::Graph::IClipTransition::GetFromClipNodeTarget ( )
pure virtual

Get the mutable Graph::IClipNodeTarget container referencing the "from" clip.

This method returns a mutable pointer to the node's Graph::IClipNodeTarget container, which allows to set or query a reference to the "from" clip node.

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

◆ GetFromClipNodeTarget() [2/2]

virtual const IClipNodeTarget* Murl::Graph::IClipTransition::GetFromClipNodeTarget ( ) const
pure virtual

Get the constant Graph::IClipNodeTarget container referencing the "from" clip.

This method returns a constant pointer to the node's Graph::IClipNodeTarget container, which allows to query a reference to the "from" clip node.

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

◆ GetToClipNodeTarget() [1/2]

virtual IClipNodeTarget* Murl::Graph::IClipTransition::GetToClipNodeTarget ( )
pure virtual

Get the mutable Graph::IClipNodeTarget container referencing the "to" clip.

This method returns a mutable pointer to the node's Graph::IClipNodeTarget container, which allows to set or query a reference to the "to" clip node.

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

◆ GetToClipNodeTarget() [2/2]

virtual const IClipNodeTarget* Murl::Graph::IClipTransition::GetToClipNodeTarget ( ) const
pure virtual

Get the constant Graph::IClipNodeTarget container referencing the "to" clip.

This method returns a constant pointer to the node's Graph::IClipNodeTarget container, which allows to query a reference to the "to" clip node.

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

◆ SetOutDuration()

virtual Bool Murl::Graph::IClipTransition::SetOutDuration ( Double  duration)
pure virtual

Set the duration of the "from" node's out transition.

Parameters
durationThe duration in seconds.
Returns
true if successful.

◆ GetOutDuration()

virtual Double Murl::Graph::IClipTransition::GetOutDuration ( ) const
pure virtual

Get the duration of the "from" node's out transition.

Returns
The duration in seconds.

◆ SetOutOffset()

virtual Bool Murl::Graph::IClipTransition::SetOutOffset ( Double  offset)
pure virtual

Set the out transition time offset.

Parameters
offsetThe offset in seconds, with positive values in the future.
Returns
true if successful.

◆ GetOutOffset()

virtual Double Murl::Graph::IClipTransition::GetOutOffset ( ) const
pure virtual

Get the out transition time offset.

Returns
The offset in seconds.

◆ SetInDuration()

virtual Bool Murl::Graph::IClipTransition::SetInDuration ( Double  duration)
pure virtual

Set the duration of the "to" node's in transition.

Parameters
durationThe duration in seconds.
Returns
true if successful.

◆ GetInDuration()

virtual Double Murl::Graph::IClipTransition::GetInDuration ( ) const
pure virtual

Get the duration of the "to" node's in transition.

Returns
The duration in seconds.

◆ SetInOffset()

virtual Bool Murl::Graph::IClipTransition::SetInOffset ( Double  offset)
pure virtual

Set the in transition time offset.

Parameters
offsetThe offset in seconds, with positive values in the future.
Returns
true if successful.

◆ GetInOffset()

virtual Double Murl::Graph::IClipTransition::GetInOffset ( ) const
pure virtual

Get the in transition time offset.

Returns
The offset in seconds.

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


Copyright © 2011-2024 Spraylight GmbH.