You.i Engine
YiTimeline.h
Go to the documentation of this file.
1 // © You i Labs Inc. 2000-2020. All rights reserved.
2 #ifndef _YI_TIMELINE_H_
3 #define _YI_TIMELINE_H_
4 
7 
12 class CYIEventDispatcher;
13 class CYIMarkerData;
14 class CYISceneNode;
15 class CYITimelinePriv;
16 
54 {
55 public:
62  CYITimeline(std::shared_ptr<CYITimelineBackingStore> pBackingStore, CYISceneNode *pRootNode = nullptr);
63 
70  CYITimeline(std::shared_ptr<CYITimelineBackingStore> pBackingStore, const CYIMarkerData *pMarker, CYISceneNode *pRootNode = nullptr);
71 
76  CYITimeline(std::shared_ptr<CYITimelineBackingStore> pBackingStore, uint64_t startTime, uint64_t duration, CYISceneNode *pRootNode = nullptr);
77 
78  virtual ~CYITimeline();
79 
83  void SetTrackTargetNode(uint32_t trackID, CYISceneNode *pTargetNode);
84 
88  void SetTrackSource(uint32_t trackID, const CYIVariant &source);
89 
93  void SetTrackTarget(uint32_t trackID, const CYIVariant &target);
94 
98  void DeleteTrack(uint32_t trackID);
99 
105  void SetTrackSource(CYISceneNode *pNode, CYITimelineTrack::AttributeType type, const CYIVariant &source);
106 
112  void SetTrackTarget(CYISceneNode *pNode, CYITimelineTrack::AttributeType type, const CYIVariant &target);
113 
117  bool TrackTargetNameExists(const CYIString &trackTargetName);
118 
122  bool RemapTrackAttributes(const CYIString &oldTrackTarget, CYISceneNode *pNewTarget, bool ignoreOtherTracks = true);
123 
127  void UnmapAllTracks();
128 
132  void GetOrderedTrackTargets(std::vector<CYISceneNode *> *pTargets);
133 
139  const CYITimelineTrack *GetTimelineTrack(size_t index) const;
140 
146  size_t GetTrackCount() const;
147 
154 
160  FrameMode GetEndFrameMode() const;
161 
165  const CYIString &GetMarkerName() const;
166 
167 private:
168  const CYITimelinePriv *GetPriv() const;
169  CYITimelinePriv *GetPriv();
170 
173 };
174 
177 #endif // _YI_TIMELINE_H_
size_t GetTrackCount() const
The base class for the timeline framework.
Definition: YiAbstractTimeline.h:29
CYITimeline(std::shared_ptr< CYITimelineBackingStore > pBackingStore, CYISceneNode *pRootNode=nullptr)
#define YI_DISALLOW_COPY_AND_ASSIGN(TypeName)
Delete the copy constructor and assignment operator (and consequently the move constructor as well) ...
Definition: YiPredef.h:122
A container class for common data types.
Definition: YiVariant.h:33
FrameMode GetStartFrameMode() const
bool TrackTargetNameExists(const CYIString &trackTargetName)
A timeline which sources its data from a backing store.
Definition: YiTimeline.h:53
void SetTrackSource(uint32_t trackID, const CYIVariant &source)
Container class for Unicode strings. Conceptually, a CYIString object is a sequence of Unicode charac...
Definition: YiString.h:36
AttributeType
Definition: YiTimelineTrack.h:31
void GetOrderedTrackTargets(std::vector< CYISceneNode *> *pTargets)
A representation of a single track of a CYITimeline.
Definition: YiTimelineTrack.h:25
A scene node is the base type for all nodes which are used by the scene manager; it is an integral pa...
Definition: YiSceneNode.h:99
void UnmapAllTracks()
void DeleteTrack(uint32_t trackID)
FrameMode
Definition: YiAbstractTimeline.h:40
void SetTrackTargetNode(uint32_t trackID, CYISceneNode *pTargetNode)
const CYIString & GetMarkerName() const
void SetTrackTarget(uint32_t trackID, const CYIVariant &target)
Stores, queues and dispatches events as well as sending notifications to IYIEventDispatcherListener o...
Definition: YiEventDispatcher.h:66
FrameMode GetEndFrameMode() const
#define YI_TYPE_BASES(CLASS, BASES...)
Definition: YiRtti.h:257
bool RemapTrackAttributes(const CYIString &oldTrackTarget, CYISceneNode *pNewTarget, bool ignoreOtherTracks=true)
Contains information on an exported marker from After Effects.
Definition: YiMarkerData.h:32
const CYITimelineTrack * GetTimelineTrack(size_t index) const
virtual ~CYITimeline()