You.i Engine
CYISerialTimelineGroup Class Reference

Detailed Description

This kind of timeline group will play its children in sequence, possibly with specified offsets (delays) inbetween.

Child timelines can be added to the group at the beginning, at the end, or inserted after another child.

Offsets are be specified as preceding a timeline (or following if the group is played in reverse). If a timeline at the beginning of the group has an offset, the offset is skipped and the first timeline starts playing immediately. The offset of this timeline is not lost, and will be used if another timeline is added preceding it.

#include <animation/YiSerialTimelineGroup.h>

Inheritance diagram for CYISerialTimelineGroup:

Public Member Functions

 CYISerialTimelineGroup ()
 
virtual ~CYISerialTimelineGroup ()
 
void AddTimelineToStart (CYIAbstractTimeline *pTimeline)
 
void AddTimelineToEnd (CYIAbstractTimeline *pTimeline)
 
void AddTimelineAfter (CYIAbstractTimeline *pTimeline, const CYIAbstractTimeline *pPrevTimeline)
 
void AddTimelineToEndWithOffset (CYIAbstractTimeline *pTimeline, uint64_t millis)
 
void AddTimelineAfterWithOffset (CYIAbstractTimeline *pTimeline, const CYIAbstractTimeline *pPrevTimeline, uint64_t millis)
 
- Public Member Functions inherited from CYITimelineGroup
virtual ~CYITimelineGroup ()
 
void AddTimeline (CYIAbstractTimeline *pTimeline)
 
void AddTimelineWithOffset (CYIAbstractTimeline *pTimeline, uint64_t millis)
 
size_t GetTimelineCount () const
 
std::vector< CYIAbstractTimeline * > GetTimelines () const
 
std::vector< std::pair< CYIAbstractTimeline *, uint64_t > > GetTimelinesWithOffsets (CYIAbstractTimeline::Direction direction=CYIAbstractTimeline::Direction::Forward) const
 
uint64_t GetTimelineOffset (CYIAbstractTimeline *pTimeline, CYIAbstractTimeline::Direction direction=CYIAbstractTimeline::Direction::Forward) const
 
void RemoveTimeline (CYIAbstractTimeline *pTimeline)
 
void RemoveAllTimelines ()
 
void RemoveTimelinesIf (const std::function< bool(CYIAbstractTimeline *)> &predicate)
 
void UpdateOffsetOfTimeline (const CYIAbstractTimeline *pTimeline, uint64_t millis)
 
- Public Member Functions inherited from CYIAbstractTimeline
virtual ~CYIAbstractTimeline ()
 
void Start ()
 
void Finish ()
 
void Pause ()
 
void Continue ()
 
void SetDirection (Direction direction)
 
Direction GetDirection () const
 
Status GetStatus () const
 
uint64_t GetStartTime () const
 
uint64_t GetCurrentTime () const
 
float GetTimeAsPercentage () const
 
uint64_t GetTotalTime () const
 
void SeekToPercentage (float percentage)
 
void SeekToTime (uint64_t millis)
 
void Abort ()
 
void SetDisablesInput (bool disablesInput)
 
void Track ()
 
void Untrack ()
 
void StartForward ()
 
void StartReverse ()
 
void ContinueForward ()
 
void ContinueReverse ()
 
void SetDirectionForward ()
 
void SetDirectionReverse ()
 
void SetFrameModes (FrameMode startFrameMode, FrameMode endFrameMode)
 
bool SetSourcePositions (CYISceneNode *pNode, const glm::vec3 &position)
 
bool ClearSourcePositions (CYISceneNode *pNode)
 
bool SetTargetPositions (CYISceneNode *pNode, const glm::vec3 &position)
 
bool ClearTargetPositions (CYISceneNode *pNode)
 
bool SetSourceScales (CYISceneNode *pNode, const glm::vec3 &scale)
 
bool ClearSourceScales (CYISceneNode *pNode)
 
void SetLooping (bool isLooping)
 
bool GetLooping () const
 
const std::shared_ptr< CYITimelineProxy > & GetProxy () const
 
void SetRootNode (CYISceneNode *pRootNode)
 
const std::shared_ptr< CYISceneNodeProxy > & GetRootNode () const
 
- Public Member Functions inherited from CYISignalHandler
 CYISignalHandler ()
 
 CYISignalHandler (const CYISignalHandler &rSignalHandler)
 
virtual ~CYISignalHandler ()
 
CYISignalHandleroperator= (const CYISignalHandler &rSignalHandler)
 
void MoveToThread (CYIThread *pThread)
 This function allows the user to override the default thread affinity to any CYIThread that may or may not be running. More...
 
CYIThreadHandle GetThreadAffinity () const
 
void SetThreadAffinity (const CYIThreadHandle &rThreadAffinity)
 
virtual bool IsConnected () const
 
virtual bool IsConnected (const CYISignalBase &rSignal) const
 
void Disconnect (CYISignalBase &rSignal)
 
void DisconnectFromAllSignals ()
 
- Public Member Functions inherited from CYIThread::Listener
 Listener ()
 
virtual ~Listener ()
 
virtual void OnThreadStarted (CYIThread *)
 
virtual void OnThreadTerminated (CYIThread *)
 
virtual void OnThreadFinished (CYIThread *)
 

Additional Inherited Members

- Public Types inherited from CYIAbstractTimeline
enum  FrameMode : uint8_t {
  FrameMode::Absolute,
  FrameMode::Relative
}
 
enum  Status : uint8_t {
  Status::Stopped,
  Status::Playing
}
 
enum  Direction : uint8_t {
  Direction::Forward,
  Direction::Reverse
}
 
- Public Attributes inherited from CYITimelineGroup
CYISignal< CYIAbstractTimeline * > ChildTimelineCompleted
 called whenever execution of one of the contained timelines completes normally More...
 
- Public Attributes inherited from CYIAbstractTimeline
CYISignal Playing
 called whenever the timeline starts playing (from any position) More...
 
CYISignal Paused
 called whenever the timeline stops playing, including if the timeline execution completes normally More...
 
CYISignal Aborted
 called when the timeline execution is aborted by the Abort() function More...
 
CYISignal Started
 called when playback of the timeline is initiated by one of the Start() functions More...
 
CYISignal Completed
 called when playback of the timeline completes normally (or when the Finish() function is called) More...
 
CYISignal TimelineLooped
 called whenever a loop completes and the next loop starts More...
 
CYISignal PlayingForward
 same as Playing, but triggered only when direction is forward More...
 
CYISignal PlayingReverse
 same as Playing, but triggered only when direction is reverse More...
 
CYISignal PausedForward
 same as Paused, but triggered only when direction is forward More...
 
CYISignal PausedReverse
 same as Paused, but triggered only when direction is reverse More...
 
CYISignal StartedForward
 same as Started, but triggered only when direction is forward More...
 
CYISignal StartedReverse
 same as Started, but triggered only when direction is reverse More...
 
CYISignal CompletedForward
 same as Completed, but triggered only when direction is forward More...
 
CYISignal CompletedReverse
 same as Completed, but triggered only when direction is reverse More...
 
- Protected Member Functions inherited from CYITimelineGroup
 CYITimelineGroup (std::unique_ptr< CYITimelineGroupPriv > pPriv)
 
- Protected Member Functions inherited from CYIAbstractTimeline
 CYIAbstractTimeline (std::unique_ptr< CYIAbstractTimelinePriv > pPriv)
 
- Protected Attributes inherited from CYIAbstractTimeline
std::unique_ptr< CYIAbstractTimelinePriv > m_pPriv
 

Constructor & Destructor Documentation

◆ CYISerialTimelineGroup()

CYISerialTimelineGroup::CYISerialTimelineGroup ( )

◆ ~CYISerialTimelineGroup()

virtual CYISerialTimelineGroup::~CYISerialTimelineGroup ( )
virtual

Member Function Documentation

◆ AddTimelineAfter()

void CYISerialTimelineGroup::AddTimelineAfter ( CYIAbstractTimeline pTimeline,
const CYIAbstractTimeline pPrevTimeline 
)

Finds pPrevTimeline in this group, and inserts pTimeline in the group after pPrevTimeline with no offset.

If pPrevTimeline is not found, pTimeline is not added.

◆ AddTimelineAfterWithOffset()

void CYISerialTimelineGroup::AddTimelineAfterWithOffset ( CYIAbstractTimeline pTimeline,
const CYIAbstractTimeline pPrevTimeline,
uint64_t  millis 
)

Finds pPrevTimeline in this group, and inserts pTimeline in the group after pPrevTimeline with an offset of millis.

If pPrevTimeline is not found, pTimeline is not added to this group.

◆ AddTimelineToEnd()

void CYISerialTimelineGroup::AddTimelineToEnd ( CYIAbstractTimeline pTimeline)

Adds pTimeline to the end of the group with no offset.

◆ AddTimelineToEndWithOffset()

void CYISerialTimelineGroup::AddTimelineToEndWithOffset ( CYIAbstractTimeline pTimeline,
uint64_t  millis 
)

Adds pTimeline to the end of the group with an offset of millis.

◆ AddTimelineToStart()

void CYISerialTimelineGroup::AddTimelineToStart ( CYIAbstractTimeline pTimeline)

Adds pTimeline to the beginning of the group with no offset.


The documentation for this class was generated from the following file: