Open 3D Engine Maestro Gem API Reference  24.09
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
CCharacterTrack Class Reference

#include <CharacterTrack.h>

Inherits TAnimTrack< ICharacterKey >.

Public Member Functions

 AZ_CLASS_ALLOCATOR (CCharacterTrack, AZ::SystemAllocator)
 
 AZ_RTTI (CCharacterTrack, "{3F701860-78BC-451A-B1DD-90F75DB9A7A2}", IAnimTrack)
 
bool Serialize (XmlNodeRef &xmlNode, bool bLoading, bool bLoadEmptyTracks)
 
void GetKeyInfo (int key, const char *&description, float &duration)
 
void SerializeKey (ICharacterKey &key, XmlNodeRef &keyNode, bool bLoading)
 
float GetKeyDuration (int key) const
 
int GetAnimationLayerIndex () const
 
void SetAnimationLayerIndex (int index)
 
virtual AnimValueType GetValueType ()
 
float GetEndTime () const
 
- Public Member Functions inherited from TAnimTrack< ICharacterKey >
 AZ_CLASS_ALLOCATOR (TAnimTrack, AZ::SystemAllocator)
 
 AZ_RTTI ((TAnimTrack, "{D6E0F0E3-8843-46F0-8484-7B6E130409AE}", ICharacterKey), IAnimTrack)
 
EAnimCurveType GetCurveType () override
 
AnimValueType GetValueType () override
 
void SetNode (IAnimNode *node) override
 
IAnimNode * GetNode () override
 
int GetSubTrackCount () const override
 
IAnimTrack * GetSubTrack ([[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 CAnimParamType & GetParameterType () const override
 
void SetParameterType (CAnimParamType type) override
 
void add_ref () override
 
void release () override
 
bool IsKeySelected (int key) const override
 
void SelectKey (int key, bool select) override
 
bool IsSortMarkerKey (unsigned int key) const override
 
void SetSortMarkerKey (unsigned int key, bool enabled) 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 (IAnimTrack *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,[[maybe_unused]] bool applyMultiplier=false) override
 
void GetValue ([[maybe_unused]] float time,[[maybe_unused]] Vec3 &value,[[maybe_unused]] bool applyMultiplier=false) override
 
void GetValue ([[maybe_unused]] float time,[[maybe_unused]] Vec4 &value,[[maybe_unused]] bool applyMultiplier=false) 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]] Maestro::AssetBlends< AZ::Data::AssetData > &value) override
 
void SetValue ([[maybe_unused]] float time,[[maybe_unused]] const float &value,[[maybe_unused]] bool bDefault=false,[[maybe_unused]] bool applyMultiplier=false) override
 
void SetValue ([[maybe_unused]] float time,[[maybe_unused]] const Vec3 &value,[[maybe_unused]] bool bDefault=false,[[maybe_unused]] bool applyMultiplier=false) override
 
void SetValue ([[maybe_unused]] float time,[[maybe_unused]] const Vec4 &value,[[maybe_unused]] bool bDefault=false,[[maybe_unused]] bool applyMultiplier=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 Maestro::AssetBlends< AZ::Data::AssetData > &value,[[maybe_unused]] bool bDefault=false) override
 
void OffsetKeyPosition ([[maybe_unused]] const AZ::Vector3 &value) override
 
void UpdateKeyDataAfterParentChanged ([[maybe_unused]] const AZ::Transform &oldParentWorldTM,[[maybe_unused]] const AZ::Transform &newParentWorldTM) override
 
void SetTimeRange (const Range &timeRange) override
 
bool Serialize (XmlNodeRef &xmlNode, bool bLoading, bool bLoadEmptyTracks=true) override
 
bool SerializeSelection (XmlNodeRef &xmlNode, bool bLoading, bool bCopySelected=false, float fTimeOffset=0) override
 
int GetActiveKey (float time, ICharacterKey *key)
 
void GetKeyValueRange (float &fMin, float &fMax) const override
 
void SetKeyValueRange (float fMin, float fMax) override
 
void SetMultiplier (float trackMultiplier) override
 
void SetExpanded ([[maybe_unused]] bool expanded) override
 
bool GetExpanded () const override
 
unsigned int GetId () const override
 
void SetId (unsigned int id) override
 

Static Public Member Functions

static void Reflect (AZ::ReflectContext *context)
 
- Static Public Member Functions inherited from TAnimTrack< ICharacterKey >
static void Reflect ([[maybe_unused]] AZ::ReflectContext *context)
 

Additional Inherited Members

- Protected Types inherited from TAnimTrack< ICharacterKey >
typedef AZStd::vector< ICharacterKey > Keys
 
- Protected Member Functions inherited from TAnimTrack< ICharacterKey >
void CheckValid ()
 
void Invalidate ()
 
- Protected Attributes inherited from TAnimTrack< ICharacterKey >
int m_refCount
 
Keys m_keys
 
Range m_timeRange
 
CAnimParamType m_nParamType
 
int m_currKey
 
int m_bModified
 
float m_lastTime
 
int m_flags
 
float m_fMinKeyValue
 
float m_fMaxKeyValue
 
IAnimNode * m_node
 
float m_trackMultiplier
 
unsigned int m_id
 

Detailed Description

CCharacterTrack contains entity keys, when time reach event key, it fires script event or start animation etc...

Member Function Documentation

◆ GetKeyDuration()

float CCharacterTrack::GetKeyDuration ( int  key) const

Gets the duration of an animation key. If it's a looped animation, a special consideration is required to compute the actual duration.

◆ SerializeKey()

void CCharacterTrack::SerializeKey ( ICharacterKey &  key,
XmlNodeRef &  keyNode,
bool  bLoading 
)
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.

Implements TAnimTrack< ICharacterKey >.


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