TalanSoft Toolkits  201707
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Groups Pages
Public Member Functions | List of all members
iAnimationKeysSet Struct Referenceabstract
Inheritance diagram for iAnimationKeysSet:
iUnknown

Detailed Description

Animation Keys Set interface.

Public Member Functions

virtual iAnimationKeysSetClone () const =0
 Clone this animation keys set. More...
 
virtual void SetName (iHString *ahspName)=0
 Set the name of the animation keys set. {Property}. More...
 
virtual iHStringGetName () const =0
 Get the name of the animation keys set. {Property}. More...
 
virtual eAnimationKeysType GetType () const =0
 Get the keys type. {Property}. More...
 
virtual void SetInterpolationType (eAnimationKeysInterpolationType aInterpolationType)=0
 Set the interpolation keys type. {Property}. More...
 
virtual
eAnimationKeysInterpolationType 
GetInterpolationType () const =0
 Get the interpolation keys type. {Property}. More...
 
virtual void ReserveKeys (tU32 aulNumKeys)=0
 Reserve the memory for the specified number of key. More...
 
virtual tBool RemoveKey (tU32 aulIdx)=0
 Remove the key at the specified index. More...
 
virtual tU32 GetNumKeys () const =0
 Get the number of keys. {Property}. More...
 
virtual tF32 GetKeyTime (tU32 aulIdx) const =0
 Get the time of the key at the given index. More...
 
virtual tBool SetKeyTime (tU32 aulIdx, tF32 afTime)=0
 Set the time of the key at the given index. {Property}. More...
 
virtual tU32 GetKeyIndex (tF32 afTime) const =0
 Get the index of the key that has the specified time. {Property}. More...
 
virtual void ScaleTime (tF32 afScale)=0
 Scale the time values of all keys. More...
 
virtual void OffsetTime (tF32 afOffset)=0
 Offset the time values of all keys. More...
 
virtual void SortKeys ()=0
 Sort the keys by time value. More...
 
virtual tBool AddKey (tPtr apValue, tF32 fTime)=0
 Add a key. More...
 
virtual tBool GetKeyValue (tU32 aulIdx, tPtr apOut) const =0
 Get the key value at the given index. More...
 
virtual tPtr GetKeyValuePtr (tU32 aulIdx) const =0
 Get a pointer to the value at the specified index. More...
 
virtual tBool GetTimeValue (tF32 afTime, tPtr apOut) const =0
 Get the value of the key at the specified time. More...
 
virtual tBool ApplyParent (tPtr apOut, const tPtr apValue, const tPtr apParentValue) const =0
 Apply a parent value to the given value. More...
 
virtual tBool AddFloatKey (tF32 aV, tF32 fTime)=0
 Add a float key. More...
 
virtual tF32 GetFloatKeyValue (tU32 aulIdx) const =0
 Get the float key value at the given index. {Property}. More...
 
virtual tF32 GetFloatTimeValue (tF32 fTime) const =0
 Get the float value of the key at the specified time. {Property}. More...
 
virtual tF32 ApplyFloatParent (tF32 aV, tF32 aParent) const =0
 Apply a float parent value to the given float value. More...
 
virtual tBool AddEulerAngleKey (tF32 aV, tF32 fTime)=0
 Add a euler angle key. More...
 
virtual tF32 GetEulerAngleKeyValue (tU32 aulIdx) const =0
 Get the euler angle key value at the given index. {Property}. More...
 
virtual tF32 GetEulerAngleTimeValue (tF32 fTime) const =0
 Get the euler angle value of the key at the specified time. {Property}. More...
 
virtual tF32 ApplyEulerAngleParent (tF32 aV, tF32 aParent) const =0
 Apply a euler angle parent value to the given euler angle value. More...
 
virtual tBool AddVec2Key (const sVec2f &aV, tF32 fTime)=0
 Add a vector2 key. More...
 
virtual sVec2f GetVec2KeyValue (tU32 aulIdx) const =0
 Get the vector2 key value at the given index. {Property}. More...
 
virtual sVec2f GetVec2TimeValue (tF32 fTime) const =0
 Get the vector2 value of the key at the specified time. {Property}. More...
 
virtual sVec2f ApplyVec2Parent (const sVec2f &aV, const sVec2f &aParent) const =0
 Apply a vector2 parent value to the given vector2 value. More...
 
virtual tBool AddVec3Key (const sVec3f &aV, tF32 fTime)=0
 Add a vector3 key. More...
 
virtual sVec3f GetVec3KeyValue (tU32 aulIdx) const =0
 Get the vector3 key value at the given index. {Property}. More...
 
virtual sVec3f GetVec3TimeValue (tF32 fTime) const =0
 Get the vector3 value of the key at the specified time. {Property}. More...
 
virtual sVec3f ApplyVec3Parent (const sVec3f &aV, const sVec3f &aParent) const =0
 Apply a vector3 parent value to the given vector3 value. More...
 
virtual tBool AddVec4Key (const sVec4f &aV, tF32 fTime)=0
 Add a vector4 key. More...
 
virtual sVec4f GetVec4KeyValue (tU32 aulIdx) const =0
 Get the vector4 key value at the given index. {Property}. More...
 
virtual sVec4f GetVec4TimeValue (tF32 fTime) const =0
 Get the vector4 value of the key at the specified time. {Property}. More...
 
virtual sVec4f ApplyVec4Parent (const sVec4f &aV, const sVec4f &aParent) const =0
 Apply a vector4 parent value to the given vector4 value. More...
 
virtual tBool AddMatrixKey (const sMatrixf &aV, tF32 fTime)=0
 Add a matrix key. More...
 
virtual sMatrixf GetMatrixKeyValue (tU32 aulIdx) const =0
 Get the matrix key value at the given index. {Property}. More...
 
virtual sMatrixf GetMatrixTimeValue (tF32 fTime) const =0
 Get the matrix value of the key at the specified time. {Property}. More...
 
virtual sMatrixf ApplyMatrixParent (const sMatrixf &aV, const sMatrixf &aParent) const =0
 Apply a matrix parent value to the given matrix value. More...
 
virtual tBool AddQuatKey (const sQuatf &aV, tF32 fTime)=0
 Add a quaterion key. More...
 
virtual sQuatf GetQuatKeyValue (tU32 aulIdx) const =0
 Get the quaterion key value at the given index. {Property}. More...
 
virtual sQuatf GetQuatTimeValue (tF32 fTime) const =0
 Get the quaterion value of the key at the specified time. {Property}. More...
 
virtual sQuatf ApplyQuatParent (const sQuatf &aV, const sQuatf &aParent) const =0
 Apply a quaterion parent value to the given quaterion value. More...
 
virtual tBool SerializeDataTable (iDataTable *apDT, tSerializeFlags aFlags)=0
 Serialize the key set to/from the specified datatalbe. More...
 
virtual tBool SerializeKey (iDataTable *apDT, tU32 anKey, tSerializeFlags aFlags)=0
 Serialize the specified key. More...
 
virtual void SetKeyValueMetadata (iHString *ahspMetaData)=0
 Set the key value's metadata when serialized with the eSerializeFlags_TypeInfoMetadata flag. {Property}. More...
 
virtual iHStringGetKeyValueMetadata () const =0
 Get the key value's metadata when serialized with the eSerializeFlags_TypeInfoMetadata flag. {Property}. More...
 
- Public Member Functions inherited from iUnknown
virtual tBool IsOK () const =0
 Check if the object is valid. More...
 
virtual tI32 AddRef ()=0
 Signal that one more reference of the object has been created. More...
 
virtual tI32 Release ()=0
 Release a reference of the object. More...
 
virtual void DeleteThis ()=0
 Bypass any reference counting and delete this object. More...
 
virtual void Invalidate ()=0
 Invalidate the object. More...
 
virtual iUnknownQueryInterface (const tUUID &aIID)=0
 Query an interface. More...
 
virtual void ListInterfaces (iMutableCollection *apLst, tU32 anFlags) const =0
 Fill a UUID list containing the UUIDs of the implemented interfaces. More...
 
virtual tI32 SetNumRefs (tI32 anNumRefs)=0
 Set the reference counter directly. More...
 
virtual tI32 GetNumRefs () const =0
 Get the number of references to this object. More...
 

Member Function Documentation

virtual iAnimationKeysSet* Clone ( ) const
pure virtual

Clone this animation keys set.

virtual void SetName ( iHString ahspName)
pure virtual

Set the name of the animation keys set. {Property}.

virtual iHString* GetName ( ) const
pure virtual

Get the name of the animation keys set. {Property}.

virtual eAnimationKeysType GetType ( ) const
pure virtual

Get the keys type. {Property}.

virtual void SetInterpolationType ( eAnimationKeysInterpolationType  aInterpolationType)
pure virtual

Set the interpolation keys type. {Property}.

virtual eAnimationKeysInterpolationType GetInterpolationType ( ) const
pure virtual

Get the interpolation keys type. {Property}.

virtual void ReserveKeys ( tU32  aulNumKeys)
pure virtual

Reserve the memory for the specified number of key.

virtual tBool RemoveKey ( tU32  aulIdx)
pure virtual

Remove the key at the specified index.

Parameters
aulIdxis the index of the key to remove.
Returns
eFalse if the key can't be removed, else eTrue.
virtual tU32 GetNumKeys ( ) const
pure virtual

Get the number of keys. {Property}.

virtual tF32 GetKeyTime ( tU32  aulIdx) const
pure virtual

Get the time of the key at the given index.

Parameters
aulIdxis the index of the key to get.
Returns
niMaxF32 if the index is invalid, else the key's time. {Property}
virtual tBool SetKeyTime ( tU32  aulIdx,
tF32  afTime 
)
pure virtual

Set the time of the key at the given index. {Property}.

virtual tU32 GetKeyIndex ( tF32  afTime) const
pure virtual

Get the index of the key that has the specified time. {Property}.

Remarks
A fuzzy compare with epsilon5 is done.
virtual void ScaleTime ( tF32  afScale)
pure virtual

Scale the time values of all keys.

virtual void OffsetTime ( tF32  afOffset)
pure virtual

Offset the time values of all keys.

virtual void SortKeys ( )
pure virtual

Sort the keys by time value.

virtual tBool AddKey ( tPtr  apValue,
tF32  fTime 
)
pure virtual

Add a key.

Parameters
apValueis the value of the key to add.
fTimeis the time of the new key.
Returns
eFalse if adding failed, else eTrue. {NoAutomation}
virtual tBool GetKeyValue ( tU32  aulIdx,
tPtr  apOut 
) const
pure virtual

Get the key value at the given index.

Parameters
aulIdxis the index of the key to get.
apOutis where to output the value.
Returns
eFalse if the index is invalid, else eTrue. {NoAutomation}
virtual tPtr GetKeyValuePtr ( tU32  aulIdx) const
pure virtual

Get a pointer to the value at the specified index.

Parameters
aulIdxis the index of the key to get.
Returns
NULL if the index is invalid, else a pointer to the memory location holding the value of the key at the specified index. {NoAutomation}
virtual tBool GetTimeValue ( tF32  afTime,
tPtr  apOut 
) const
pure virtual

Get the value of the key at the specified time.

Parameters
afTimeis the time at which we want to get the value.
apOutis where the interpolated key will be stored.
Returns
eFalse if the interpolation failed, else eTrue. {NoAutomation}
virtual tBool ApplyParent ( tPtr  apOut,
const tPtr  apValue,
const tPtr  apParentValue 
) const
pure virtual

Apply a parent value to the given value.

Parameters
apOutis where the result will be copied, it can be the same as apValue.
apValueis the value on which we want to apply the parent.
apParentValueis the parent value to apply.
Returns
eFalse if the type doesn't support parent or that it's irrevelant, else return eTrue. {NoAutomation}
virtual tBool AddFloatKey ( tF32  aV,
tF32  fTime 
)
pure virtual

Add a float key.

virtual tF32 GetFloatKeyValue ( tU32  aulIdx) const
pure virtual

Get the float key value at the given index. {Property}.

virtual tF32 GetFloatTimeValue ( tF32  fTime) const
pure virtual

Get the float value of the key at the specified time. {Property}.

virtual tF32 ApplyFloatParent ( tF32  aV,
tF32  aParent 
) const
pure virtual

Apply a float parent value to the given float value.

virtual tBool AddEulerAngleKey ( tF32  aV,
tF32  fTime 
)
pure virtual

Add a euler angle key.

virtual tF32 GetEulerAngleKeyValue ( tU32  aulIdx) const
pure virtual

Get the euler angle key value at the given index. {Property}.

virtual tF32 GetEulerAngleTimeValue ( tF32  fTime) const
pure virtual

Get the euler angle value of the key at the specified time. {Property}.

virtual tF32 ApplyEulerAngleParent ( tF32  aV,
tF32  aParent 
) const
pure virtual

Apply a euler angle parent value to the given euler angle value.

virtual tBool AddVec2Key ( const sVec2f aV,
tF32  fTime 
)
pure virtual

Add a vector2 key.

virtual sVec2f GetVec2KeyValue ( tU32  aulIdx) const
pure virtual

Get the vector2 key value at the given index. {Property}.

virtual sVec2f GetVec2TimeValue ( tF32  fTime) const
pure virtual

Get the vector2 value of the key at the specified time. {Property}.

virtual sVec2f ApplyVec2Parent ( const sVec2f aV,
const sVec2f aParent 
) const
pure virtual

Apply a vector2 parent value to the given vector2 value.

virtual tBool AddVec3Key ( const sVec3f aV,
tF32  fTime 
)
pure virtual

Add a vector3 key.

virtual sVec3f GetVec3KeyValue ( tU32  aulIdx) const
pure virtual

Get the vector3 key value at the given index. {Property}.

virtual sVec3f GetVec3TimeValue ( tF32  fTime) const
pure virtual

Get the vector3 value of the key at the specified time. {Property}.

virtual sVec3f ApplyVec3Parent ( const sVec3f aV,
const sVec3f aParent 
) const
pure virtual

Apply a vector3 parent value to the given vector3 value.

virtual tBool AddVec4Key ( const sVec4f aV,
tF32  fTime 
)
pure virtual

Add a vector4 key.

virtual sVec4f GetVec4KeyValue ( tU32  aulIdx) const
pure virtual

Get the vector4 key value at the given index. {Property}.

virtual sVec4f GetVec4TimeValue ( tF32  fTime) const
pure virtual

Get the vector4 value of the key at the specified time. {Property}.

virtual sVec4f ApplyVec4Parent ( const sVec4f aV,
const sVec4f aParent 
) const
pure virtual

Apply a vector4 parent value to the given vector4 value.

virtual tBool AddMatrixKey ( const sMatrixf aV,
tF32  fTime 
)
pure virtual

Add a matrix key.

virtual sMatrixf GetMatrixKeyValue ( tU32  aulIdx) const
pure virtual

Get the matrix key value at the given index. {Property}.

virtual sMatrixf GetMatrixTimeValue ( tF32  fTime) const
pure virtual

Get the matrix value of the key at the specified time. {Property}.

virtual sMatrixf ApplyMatrixParent ( const sMatrixf aV,
const sMatrixf aParent 
) const
pure virtual

Apply a matrix parent value to the given matrix value.

virtual tBool AddQuatKey ( const sQuatf aV,
tF32  fTime 
)
pure virtual

Add a quaterion key.

virtual sQuatf GetQuatKeyValue ( tU32  aulIdx) const
pure virtual

Get the quaterion key value at the given index. {Property}.

virtual sQuatf GetQuatTimeValue ( tF32  fTime) const
pure virtual

Get the quaterion value of the key at the specified time. {Property}.

virtual sQuatf ApplyQuatParent ( const sQuatf aV,
const sQuatf aParent 
) const
pure virtual

Apply a quaterion parent value to the given quaterion value.

virtual tBool SerializeDataTable ( iDataTable apDT,
tSerializeFlags  aFlags 
)
pure virtual

Serialize the key set to/from the specified datatalbe.

virtual tBool SerializeKey ( iDataTable apDT,
tU32  anKey,
tSerializeFlags  aFlags 
)
pure virtual

Serialize the specified key.

virtual void SetKeyValueMetadata ( iHString ahspMetaData)
pure virtual

Set the key value's metadata when serialized with the eSerializeFlags_TypeInfoMetadata flag. {Property}.

virtual iHString* GetKeyValueMetadata ( ) const
pure virtual

Get the key value's metadata when serialized with the eSerializeFlags_TypeInfoMetadata flag. {Property}.