Open 3D Engine LyShine Gem API Reference  23.05.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
TUiAnimTrack< KeyType > Class Template Referenceabstract

#include <AnimTrack.h>

Inherits IUiAnimTrack.

Public Member Functions

 AZ_RTTI ((TUiAnimTrack,"{5513FA16-991D-40DD-99B2-9C5531AC872C}", KeyType), IUiAnimTrack)
 
EUiAnimCurveType GetCurveType () override
 
EUiAnimValue GetValueType () override
 
int GetSubTrackCount () const override
 
IUiAnimTrackGetSubTrack ([[maybe_unused]] int nIndex) const override
 
AZStd::string GetSubTrackName ([[maybe_unused]] int nIndex) const override
 
void SetSubTrackName ([[maybe_unused]] int nIndex, [[maybe_unused]] const char *name) override
 
const CUiAnimParamTypeGetParameterType () const override
 
void SetParameterType (CUiAnimParamType type) override
 
const UiAnimParamDataGetParamData () const override
 
void SetParamData (const UiAnimParamData &param) override
 
void add_ref () override
 
void release () override
 
bool IsKeySelected (int key) const override
 
void SelectKey (int key, bool select) override
 
int GetNumKeys () const override
 Return number of keys in track.
 
bool HasKeys () const override
 Return true if keys exists in this track.
 
void SetNumKeys (int numKeys) override
 
void RemoveKey (int num) override
 Remove specified key.
 
int CreateKey (float time) override
 
int CloneKey (int fromKey) override
 
int CopyKey (IUiAnimTrack *pFromTrack, int nFromKey) override
 
void GetKey (int index, IKey *key) const override
 
float GetKeyTime (int index) const override
 
int FindKey (float time) override
 
int GetKeyFlags (int index) override
 
void SetKey (int index, IKey *key) override
 
void SetKeyTime (int index, float time) override
 Set time of specified key.
 
void SetKeyFlags (int index, int flags) override
 Set flags of specified key.
 
void SortKeys () override
 Sort keys in track (after time of keys was modified).
 
int GetFlags () override
 Get track flags.
 
bool IsMasked ([[maybe_unused]] const uint32 mask) const override
 Check if track is masked.
 
void SetFlags (int flags) override
 Set track flags.
 
void GetValue ([[maybe_unused]] float time, [[maybe_unused]] float &value) override
 
void GetValue ([[maybe_unused]] float time, [[maybe_unused]] Vec3 &value) override
 
void GetValue ([[maybe_unused]] float time, [[maybe_unused]] Vec4 &value) override
 
void GetValue ([[maybe_unused]] float time, [[maybe_unused]] Quat &value) override
 
void GetValue ([[maybe_unused]] float time, [[maybe_unused]] bool &value) override
 
void GetValue ([[maybe_unused]] float time, [[maybe_unused]] AZ::Vector2 &value) override
 
void GetValue ([[maybe_unused]] float time, [[maybe_unused]] AZ::Vector3 &value) override
 
void GetValue ([[maybe_unused]] float time, [[maybe_unused]] AZ::Vector4 &value) override
 
void GetValue ([[maybe_unused]] float time, [[maybe_unused]] AZ::Color &value) override
 
void SetValue ([[maybe_unused]] float time, [[maybe_unused]] const float &value, [[maybe_unused]] bool bDefault=false) override
 
void SetValue ([[maybe_unused]] float time, [[maybe_unused]] const Vec3 &value, [[maybe_unused]] bool bDefault=false) override
 
void SetValue ([[maybe_unused]] float time, [[maybe_unused]] const Vec4 &value, [[maybe_unused]] bool bDefault=false) override
 
void SetValue ([[maybe_unused]] float time, [[maybe_unused]] const Quat &value, [[maybe_unused]] bool bDefault=false) override
 
void SetValue ([[maybe_unused]] float time, [[maybe_unused]] const bool &value, [[maybe_unused]] bool bDefault=false) override
 
void SetValue ([[maybe_unused]] float time, [[maybe_unused]] const AZ::Vector2 &value, [[maybe_unused]] bool bDefault=false) override
 
void SetValue ([[maybe_unused]] float time, [[maybe_unused]] const AZ::Vector3 &value, [[maybe_unused]] bool bDefault=false) override
 
void SetValue ([[maybe_unused]] float time, [[maybe_unused]] const AZ::Vector4 &value, [[maybe_unused]] bool bDefault=false) override
 
void SetValue ([[maybe_unused]] float time, [[maybe_unused]] const AZ::Color &value, [[maybe_unused]] bool bDefault=false) override
 
void OffsetKeyPosition ([[maybe_unused]] const Vec3 &value) override
 
void SetTimeRange (const Range &timeRange) override
 
bool Serialize (IUiAnimationSystem *uiAnimationSystem, XmlNodeRef &xmlNode, bool bLoading, bool bLoadEmptyTracks=true) override
 
bool SerializeSelection (XmlNodeRef &xmlNode, bool bLoading, bool bCopySelected=false, float fTimeOffset=0) override
 
virtual void SerializeKey (KeyType &key, XmlNodeRef &keyNode, bool bLoading)=0
 
int GetActiveKey (float time, KeyType *key)
 
void GetKeyValueRange (float &fMin, float &fMax) const override
 
void SetKeyValueRange (float fMin, float fMax) override
 
- Public Member Functions inherited from IUiAnimTrack
virtual ColorB GetCustomColor () const =0
 
virtual void SetCustomColor (ColorB color)=0
 
virtual bool HasCustomColor () const =0
 
virtual void ClearCustomColor ()=0
 
virtual IUiAnimTrackGetSubTrack (int nIndex) const =0
 
virtual AZStd::string GetSubTrackName (int nIndex) const =0
 
virtual void SetSubTrackName (int nIndex, const char *name)=0
 
virtual bool IsMasked (const uint32 mask) const =0
 Check if track is masked by mask.
 
virtual void GetKeyInfo (int key, const char *&description, float &duration)=0
 
virtual void GetValue (float time, float &value)=0
 
virtual void GetValue (float time, Vec3 &value)=0
 
virtual void GetValue (float time, Vec4 &value)=0
 
virtual void GetValue (float time, Quat &value)=0
 
virtual void GetValue (float time, bool &value)=0
 
virtual void GetValue (float time, AZ::Vector2 &value)=0
 
virtual void GetValue (float time, AZ::Vector3 &value)=0
 
virtual void GetValue (float time, AZ::Vector4 &value)=0
 
virtual void GetValue (float time, AZ::Color &value)=0
 
virtual void SetValue (float time, const float &value, bool bDefault=false)=0
 
virtual void SetValue (float time, const Vec3 &value, bool bDefault=false)=0
 
virtual void SetValue (float time, const Vec4 &value, bool bDefault=false)=0
 
virtual void SetValue (float time, const Quat &value, bool bDefault=false)=0
 
virtual void SetValue (float time, const bool &value, bool bDefault=false)=0
 
virtual void SetValue (float time, const AZ::Vector2 &value, bool bDefault=false)=0
 
virtual void SetValue (float time, const AZ::Vector3 &value, bool bDefault=false)=0
 
virtual void SetValue (float time, const AZ::Vector4 &value, bool bDefault=false)=0
 
virtual void SetValue (float time, const AZ::Color &value, bool bDefault=false)=0
 
virtual void OffsetKeyPosition (const Vec3 &value)=0
 
virtual void InitPostLoad (IUiAnimSequence *)
 
virtual void Animate ([[maybe_unused]] SUiAnimContext &ec)
 For custom track animate parameters.
 
virtual ISplineInterpolator * GetSpline () const
 
virtual bool IsKeySelected ([[maybe_unused]] int key) const
 
virtual void SelectKey ([[maybe_unused]] int key, [[maybe_unused]] bool select)
 
virtual int NextKeyByTime (int key) const
 
virtual int GetAnimationLayerIndex () const
 Get the animation layer index assigned. (only for character/look-at tracks ATM)
 
virtual void SetAnimationLayerIndex ([[maybe_unused]] int index)
 Set the animation layer index. (only for character/look-at tracks ATM)
 

Static Public Member Functions

static void Reflect (AZ::SerializeContext *serializeContext)
 

Protected Types

typedef AZStd::vector< KeyType > Keys
 

Protected Member Functions

void CheckValid ()
 
void Invalidate ()
 

Protected Attributes

int m_refCount
 
Keys m_keys
 
Range m_timeRange
 
CUiAnimParamType m_nParamType
 
unsigned int m_currKey: 31
 
unsigned int m_bModified: 1
 
float m_lastTime
 
int m_flags
 
UiAnimParamData m_componentParamData
 
float m_fMinKeyValue
 
float m_fMaxKeyValue
 

Static Protected Attributes

static constexpr unsigned int InvalidKey = 0x7FFFFFFF
 

Additional Inherited Members

- Public Types inherited from IUiAnimTrack
enum  EUiAnimTrackFlags {
  eUiAnimTrackFlags_Linear = BIT(1), eUiAnimTrackFlags_Loop = BIT(2), eUiAnimTrackFlags_Cycle = BIT(3), eUiAnimTrackFlags_Disabled = BIT(4),
  eUiAnimTrackFlags_Hidden = BIT(5), eUiAnimTrackFlags_Muted = BIT(8)
}
 Flags that can be set on animation track. More...
 

Detailed Description

template<class KeyType>
class TUiAnimTrack< KeyType >

General templated track for event type keys. KeyType class must be derived from IKey.

Member Function Documentation

template<class KeyType >
int TUiAnimTrack< KeyType >::CloneKey ( int  key)
inlineoverridevirtual

Clone key at specified index. Index of new key.

Implements IUiAnimTrack.

template<class KeyType >
int TUiAnimTrack< KeyType >::CopyKey ( IUiAnimTrack pFromTrack,
int  nFromKey 
)
inlineoverridevirtual

Clone key at specified index from another track of SAME TYPE. Index of new key.

Implements IUiAnimTrack.

template<class KeyType >
int TUiAnimTrack< KeyType >::CreateKey ( float  time)
inlineoverridevirtual

Create key at given time, and return its index.

Returns
Index of new key.

Implements IUiAnimTrack.

template<class KeyType >
int TUiAnimTrack< KeyType >::FindKey ( float  time)
inlineoverridevirtual

Find key at given time.

Returns
Index of found key, or -1 if key with this time not found.

Implements IUiAnimTrack.

template<class KeyType>
int TUiAnimTrack< KeyType >::GetActiveKey ( float  time,
KeyType *  key 
)
inline

Get last key before specified time.

Returns
Index of key, or -1 if such key not exist.
template<class KeyType >
void TUiAnimTrack< KeyType >::GetKey ( int  index,
IKey *  key 
) const
inlineoverridevirtual

Get key at specified location.

Parameters
keyMust be valid pointer to compatible key structure, to be filled with specified key location.

Implements IUiAnimTrack.

template<class KeyType >
int TUiAnimTrack< KeyType >::GetKeyFlags ( int  index)
inlineoverridevirtual

Get flags of specified key.

Returns
key time.

Implements IUiAnimTrack.

template<class KeyType >
float TUiAnimTrack< KeyType >::GetKeyTime ( int  index) const
inlineoverridevirtual

Get time of specified key.

Returns
key time.

Implements IUiAnimTrack.

template<class KeyType>
bool TUiAnimTrack< KeyType >::Serialize ( IUiAnimationSystem uiAnimationSystem,
XmlNodeRef &  xmlNode,
bool  bLoading,
bool  bLoadEmptyTracks = true 
)
inlineoverridevirtual

Serialize this animation track to XML. Do not override this method, prefer to override SerializeKey.

Implements IUiAnimTrack.

template<class KeyType>
virtual void TUiAnimTrack< KeyType >::SerializeKey ( KeyType &  key,
XmlNodeRef &  keyNode,
bool  bLoading 
)
pure virtual

Serialize single key of this track. Override this in derived classes. Do not save time attribute, it is already saved in Serialize of the track.

Implemented in CUiTrackEventTrack.

template<class KeyType >
void TUiAnimTrack< KeyType >::SetKey ( int  index,
IKey *  key 
)
inlineoverridevirtual

Set key at specified location.

Parameters
keyMust be valid pointer to compatible key structure.

Implements IUiAnimTrack.

template<class KeyType>
void TUiAnimTrack< KeyType >::SetNumKeys ( int  numKeys)
inlineoverridevirtual

Set number of keys in track. If needed adds empty keys at end or remove keys from end.

Implements IUiAnimTrack.

template<class KeyType>
void TUiAnimTrack< KeyType >::SetTimeRange ( const Range &  timeRange)
inlineoverridevirtual

Assign active time range for this track.

Implements IUiAnimTrack.


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