The IClip graph node interface. More...
#include "murl_graph_i_clip.h"
Public Member Functions | |
virtual INode * | GetNodeInterface ()=0 |
Get the mutable Graph::INode interface. More... | |
virtual const INode * | GetNodeInterface () const =0 |
Get the constant Graph::INode interface. More... | |
virtual ITimelineNodeTarget * | GetTimelineNodeTarget ()=0 |
Get the mutable Graph::ITimelineNodeTarget container. More... | |
virtual const ITimelineNodeTarget * | GetTimelineNodeTarget () const =0 |
Get the constant Graph::ITimelineNodeTarget container. More... | |
virtual IBlendableNodeTarget * | GetBlendableNodeTarget ()=0 |
Get the mutable Graph::IBlendableNodeTarget container. More... | |
virtual const IBlendableNodeTarget * | GetBlendableNodeTarget () const =0 |
Get the constant Graph::IBlendableNodeTarget container. More... | |
virtual Bool | ResetTransitions ()=0 |
Reset all transitions. More... | |
virtual Bool | TriggerInTransition (Double startTime, Double duration)=0 |
Trigger an "in" transition for the clip. More... | |
virtual Bool | TriggerOutTransition (Double startTime, Double duration)=0 |
Trigger an "out" transition for the clip. More... | |
virtual Bool | IsInTransitionFinished () const =0 |
Check if the "in" transition is finished. More... | |
virtual Bool | IsOutTransitionFinished () const =0 |
Check if the "out" transition is finished. More... | |
virtual Double | GetRemainingClipTime () const =0 |
Get the total remaining clip time. More... | |
virtual Double | GetRemainingLoopTime () const =0 |
Get the remaining loop time. More... | |
Detailed Description
The IClip graph node interface.
Clip 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::IClipTransition for details.
Each clip can reference any number of Graph::ITimeline nodes from within its sub-graph. All referenced timelines are started whenever that clip starts an "in" transition, and stopped whenever the clip finished an "out" transition (of course, if a referenced timeline expires before an "out" transition is finished, it is also stopped).
Additionally, a clip can reference any number of nodes implementing the Graph::IBlendable interface (also from the nodes within its sub-graph), which receive the current "in" or "out" transition value in the range from 0.0 (hidden) to 1.0 (fully visible).
Note: If it is desired to start a specific Graph::ITimeline and also blend that timeline, (as Graph::ITimeline also implements the Graph::IBlendable interface), the same node must be specified in both node targets (GetTimelineNodeTarget() and GetBlendableNodeTarget()).
A clip can also signal the expiration of the last active timeline (or the last loop), in order to perform automatic transitions. See GetRemainingClipTime(), GetRemainingLoopTime() and the Graph::IClipTransition interface.
Member Function Documentation
◆ GetNodeInterface() [1/2]
|
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]
|
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
◆ GetTimelineNodeTarget() [1/2]
|
pure virtual |
Get the mutable Graph::ITimelineNodeTarget container.
This method returns a mutable pointer to the node's Graph::ITimelineNodeTarget container, which allows to set or query the timelines that are affected by the clip.
- Returns
- The mutable Graph::ITimelineNodeTarget container, or null if not available.
◆ GetTimelineNodeTarget() [2/2]
|
pure virtual |
Get the constant Graph::ITimelineNodeTarget container.
This method returns a constant pointer to the node's Graph::ITimelineNodeTarget container, which allows to query the timelines that are affected by the clip.
- Returns
- The constant Graph::ITimelineNodeTarget container, or null if not available.
◆ GetBlendableNodeTarget() [1/2]
|
pure virtual |
Get the mutable Graph::IBlendableNodeTarget container.
This method returns a mutable pointer to the node's Graph::IBlendableNodeTarget container, which allows to set or query any blendable objects that are affected by the clip.
- Returns
- The mutable Graph::ITimelineNodeTarget container, or null if not available.
◆ GetBlendableNodeTarget() [2/2]
|
pure virtual |
Get the constant Graph::IBlendableNodeTarget container.
This method returns a constant pointer to the node's Graph::IBlendableNodeTarget container, which allows to query any blendable objects that are affected by the clip.
- Returns
- The constant Graph::ITimelineNodeTarget container, or null if not available.
◆ ResetTransitions()
|
pure virtual |
Reset all transitions.
- Returns
- true if successful.
◆ TriggerInTransition()
|
pure virtual |
Trigger an "in" transition for the clip.
This method gets called by the parent Graph::IClipSequencer whenever the clip is supposed to become visible. The startTime parameter represents the actual start time for the transition, given as an absolute logic time value in seconds. If the startTime value is greater than the current absolute logic tick time, the transition is delayed.
- Parameters
-
startTime The absolute start time when the transition shall start. duration The transition duration.
- Returns
- true if successful.
◆ TriggerOutTransition()
|
pure virtual |
Trigger an "out" transition for the clip.
- Parameters
-
startTime The absolute start time when the transition shall start. duration The transition duration.
- Returns
- true if successful.
◆ IsInTransitionFinished()
|
pure virtual |
Check if the "in" transition is finished.
This method returns true only when all transitions are finished and the clip is fully visible.
- Returns
- true if the clip is fully visible.
◆ IsOutTransitionFinished()
|
pure virtual |
Check if the "out" transition is finished.
This method returns true only when all transitions are finished and the clip is fully hidden.
- Returns
- true if the clip is fully hidden.
◆ GetRemainingClipTime()
|
pure virtual |
Get the total remaining clip time.
This method returns the remaining time until all timelines have expired, i.e. including the durations for intro, outro and all loops.
- Returns
- The total remaining time.
◆ GetRemainingLoopTime()
|
pure virtual |
Get the remaining loop time.
This method returns the remaining time until all loops have finished for all timelines affected by the clip, i.e. including only the durations for intro and loops, without outro durations.
- Returns
- The remaining loop time.
The documentation for this interface was generated from the following file:
- murl_graph_i_clip.h