You.i Engine
YiTimeline.h
Go to the documentation of this file.
1 // © You i Labs Inc. 2000-2017. All rights reserved.
2 #ifndef _YI_TIMELINE_H_
3 #define _YI_TIMELINE_H_
4 
7 
13 class CYIEventDispatcher;
14 class CYIMarkerData;
15 class CYISceneNode;
16 class CYITimelinePriv;
17 
55 {
56 public:
63  CYITimeline(std::shared_ptr<CYITimelineBackingStore> pBackingStore, CYISceneNode *pRootNode = nullptr);
64 
71  CYITimeline(std::shared_ptr<CYITimelineBackingStore> pBackingStore, CYIMarkerData *pMarker, CYISceneNode *pRootNode = nullptr);
72 
77  CYITimeline(std::shared_ptr<CYITimelineBackingStore> pBackingStore, uint64_t uStartTime, uint64_t uDuration, CYISceneNode *pRootNode = nullptr);
78 
79  virtual ~CYITimeline();
80 
84  void SetTrackTargetNode(uint32_t nTrackID, CYISceneNode *pTargetNode);
85 
89  void SetTrackSource(uint32_t nTrackID, const CYIVariant &source);
90 
94  void SetTrackTarget(uint32_t nTrackID, const CYIVariant &target);
95 
99  void DeleteTrack(uint32_t nTrackID);
100 
106  void SetTrackSource(CYISceneNode *pNode, CYITimelineTrack::ATTRIBUTE_TYPE eType, const CYIVariant &source);
107 
113  void SetTrackTarget(CYISceneNode *pNode, CYITimelineTrack::ATTRIBUTE_TYPE eType, const CYIVariant &target);
114 
118  bool TrackTargetNameExists(const CYIString &trackTargetName);
119 
123  bool RemapTrackAttributes(const CYIString &oldTrackTarget, CYISceneNode *pNewTarget, bool bIgnoreOtherTracks = true);
124 
128  void UnmapAllTracks();
129 
133  void GetOrderedTrackTargets(std::vector<CYISceneNode*> *pTargets);
134 
140  const CYITimelineTrack *GetTimelineTrack(uint32_t uIndex) const;
141 
147  uint32_t GetTrackCount() const;
148 
155 
162 
166  const CYIString &GetMarkerName() const;
167 
168 private:
171 };
172 
175 #endif // _YI_TIMELINE_H_
The base class for the timeline framework.
Definition: YiAbstractTimeline.h:29
const CYITimelineTrack * GetTimelineTrack(uint32_t uIndex) const
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:114
A container class for common data types.
Definition: YiVariant.h:33
YI_FRAME_MODE GetStartFrameMode() const
bool TrackTargetNameExists(const CYIString &trackTargetName)
A timeline which sources its data from a backing store.
Definition: YiTimeline.h:54
Container class for Unicode strings. Conceptually, a CYIString object is a sequence of Unicode charac...
Definition: YiString.h:35
A representation of a single track of a CYITimeline.
Definition: YiTimelineTrack.h:26
#define YI_TYPE_BASES(...)
Definition: YiRtti.h:350
void DeleteTrack(uint32_t nTrackID)
bool RemapTrackAttributes(const CYIString &oldTrackTarget, CYISceneNode *pNewTarget, bool bIgnoreOtherTracks=true)
YI_FRAME_MODE GetEndFrameMode() const
void SetTrackTargetNode(uint32_t nTrackID, CYISceneNode *pTargetNode)
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:114
void UnmapAllTracks()
uint32_t GetTrackCount() const
void SetTrackSource(uint32_t nTrackID, const CYIVariant &source)
void GetOrderedTrackTargets(std::vector< CYISceneNode * > *pTargets)
void SetTrackTarget(uint32_t nTrackID, const CYIVariant &target)
Stores, queues and dispatches events as well as sending notifications to IYIEventDispatcherListener o...
Definition: YiEventDispatcher.h:65
YI_FRAME_MODE
Definition: YiAbstractTimeline.h:40
Contains information on an exported marker from After Effects.
Definition: YiMarkerData.h:32
ATTRIBUTE_TYPE
Definition: YiTimelineTrack.h:33
const CYIString & GetMarkerName() const
virtual ~CYITimeline()