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

Detailed Description

Animation mixer interface.

Public Member Functions

virtual iAnimationMixerInst () const =0
 Creates an instance of this animation mixer. More...
 
virtual void Clear ()=0
 Remove all properties and animations of the mixer. More...
 
virtual void ClearProperties ()=0
 Remove all properties of the mixer. More...
 
virtual ni::tBool AddAnimatedProperty (ni::iHString *ahspName, ni::eAnimationKeysType aType)=0
 Add an animated property. More...
 
virtual ni::tBool RemoveAnimatedProperty (ni::iHString *ahspName)=0
 Remove an animated property. More...
 
virtual ni::tBool SetAnimatedPropertyAnimationWeight (tU32 anPropIndex, tU32 anAnimIndex, tF32 afWeight)=0
 Set the weight of the animated property for a specific animation. More...
 
virtual ni::tF32 GetAnimatedPropertyAnimationWeight (tU32 anPropIndex, tU32 anAnimIndex) const =0
 Get the weight of the animated property for a specific animation. More...
 
virtual ni::tU32 GetNumAnimatedProperties () const =0
 Get the number of animated properties. {Property}. More...
 
virtual ni::tU32 GetAnimatedPropertyIndex (ni::iHString *ahspName) const =0
 Get the index of the specified animated property. {Property}. More...
 
virtual ni::iHStringGetAnimatedPropertyName (ni::tU32 anIndex) const =0
 Get the name of the specifed animated property. {Property}. More...
 
virtual ni::eAnimationKeysType GetAnimatedPropertyType (ni::tU32 anIndex) const =0
 Get the type of the specifed animated property. {Property}. More...
 
virtual ni::iAnimationKeysSetCreateAnimatedPropertyKeysSet (ni::tU32 anIndex)=0
 Create a keys set for the specified animated property. More...
 
virtual iAnimationKeysSetGetAnimatedPropertyAnimationKeysSet (tU32 anPropIndex, tU32 anAnimIndex) const =0
 Get the animation keys of an animated property associated with the specified animation. More...
 
virtual ni::tF32 GetFloat (ni::tU32 anIndex) const =0
 Get the float time value of the given animated property. {Property}. More...
 
virtual ni::tF32 GetEulerAngle (ni::tU32 anIndex) const =0
 Get the euler angle time value of the given animated property. {Property}. More...
 
virtual ni::sVec2f GetVec2 (ni::tU32 anIndex) const =0
 Get the vector2 time value of the given animated property. {Property}. More...
 
virtual ni::sVec3f GetVec3 (ni::tU32 anIndex) const =0
 Get the vector3 time value of the given animated property. {Property}. More...
 
virtual ni::sVec4f GetVec4 (ni::tU32 anIndex) const =0
 Get the vector4 time value of the given animated property. {Property}. More...
 
virtual ni::sMatrixf GetMatrix (ni::tU32 anIndex) const =0
 Get the matrix time value of the given animated property. {Property}. More...
 
virtual ni::sQuatf GetQuat (ni::tU32 anIndex) const =0
 Get the vector4 time value of the given animated property. {Property}. More...
 
virtual ni::tBool GetIsPropertyAnimated (ni::tU32 anIndex) const =0
 Get is the specified animated property has any valid active/playing animation that modifies it. {Property}. More...
 
virtual ni::tBool GetPropertyHasAnimation (tU32 anIndex) const =0
 Get whether the specified animated property has any animation. {Property}. More...
 
virtual void ClearAnimations ()=0
 Remove all animations of the mixer. More...
 
virtual ni::tBool AddAnimationEmpty (ni::iHString *ahspName)=0
 Add a new empty animation in the entity. More...
 
virtual ni::tBool AddAnimation (ni::iAnimation *apAnim)=0
 Add an existing animation. More...
 
virtual ni::tBool RemoveAnimation (tU32 anAnimIndex)=0
 Remove an animation from the entity. More...
 
virtual ni::tU32 GetNumAnimations () const =0
 Get the number of animations. {Property}. More...
 
virtual ni::iAnimationGetAnimation (ni::tU32 anIndex) const =0
 Get the animation at the specified index. {Property}. More...
 
virtual ni::tU32 GetAnimationIndex (ni::iAnimation *apAnim) const =0
 Get an animation index. {Property}. More...
 
virtual ni::tU32 GetAnimationIndexFromName (ni::iHString *ahspName) const =0
 Get an animation index from the animation's name. {Property}. More...
 
virtual void SetAnimationCurrentTime (tU32 anAnim, tF32 afTime)=0
 Set the current animation time. {Property}. More...
 
virtual tF32 GetAnimationCurrentTime (tU32 anAnim) const =0
 Get the current animation time. {Property}. More...
 
virtual tF32 GetAnimationLength (tU32 anAnim) const =0
 Get the length of an animation. {Property}. More...
 
virtual void SetAnimationWeight (tU32 anAnim, tF32 fWeight)=0
 Set the weight of an animation. {Property}. More...
 
virtual tF32 GetAnimationWeight (tU32 anAnim) const =0
 Get the weight of an animation. {Property}. More...
 
virtual void SetAllAnimationsWeight (tF32 fWeight)=0
 Set the weight of all animations. More...
 
virtual tF32 GetTotalAnimationsWeight () const =0
 Get the total of all the animations weights. {Property}. More...
 
virtual void SetAnimationSpeed (tU32 anAnim, tF32 afSpeed)=0
 Set the animation time's speed. {Property}. More...
 
virtual tF32 GetAnimationSpeed (tU32 anAnim) const =0
 Get the animation time's speed. {Property}. More...
 
virtual void SetAllAnimationsSpeed (tF32 fSpeed)=0
 Set the speed of all animations. More...
 
virtual tBool SerializeDataTable (iDataTable *apDT, tSerializeFlags aFlags)=0
 Serialize the animation mixer to/from the specified datatable. More...
 
virtual tBool UpdateAnimationProperties (tU32 anAnimIndex)=0
 Update the properties table of the specified animation. More...
 
virtual void SetAnimationWeightDecc (tU32 anAnim, tF32 afDecc)=0
 {Property} More...
 
virtual tF32 GetAnimationWeightDecc (tU32 anAnim) const =0
 {Property} More...
 
virtual void SetAllAnimationsWeightDecc (tF32 afDecc)=0
 {Property} More...
 
virtual tU32 Update (tF32 afDT)=0
 
- 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 iAnimationMixer* Inst ( ) const
pure virtual

Creates an instance of this animation mixer.

virtual void Clear ( )
pure virtual

Remove all properties and animations of the mixer.

virtual void ClearProperties ( )
pure virtual

Remove all properties of the mixer.

virtual ni::tBool AddAnimatedProperty ( ni::iHString ahspName,
ni::eAnimationKeysType  aType 
)
pure virtual

Add an animated property.

Remarks
Animated property are stored inside the first animation.
virtual ni::tBool RemoveAnimatedProperty ( ni::iHString ahspName)
pure virtual

Remove an animated property.

virtual ni::tBool SetAnimatedPropertyAnimationWeight ( tU32  anPropIndex,
tU32  anAnimIndex,
tF32  afWeight 
)
pure virtual

Set the weight of the animated property for a specific animation.

virtual ni::tF32 GetAnimatedPropertyAnimationWeight ( tU32  anPropIndex,
tU32  anAnimIndex 
) const
pure virtual

Get the weight of the animated property for a specific animation.

virtual ni::tU32 GetNumAnimatedProperties ( ) const
pure virtual

Get the number of animated properties. {Property}.

virtual ni::tU32 GetAnimatedPropertyIndex ( ni::iHString ahspName) const
pure virtual

Get the index of the specified animated property. {Property}.

virtual ni::iHString* GetAnimatedPropertyName ( ni::tU32  anIndex) const
pure virtual

Get the name of the specifed animated property. {Property}.

virtual ni::eAnimationKeysType GetAnimatedPropertyType ( ni::tU32  anIndex) const
pure virtual

Get the type of the specifed animated property. {Property}.

virtual ni::iAnimationKeysSet* CreateAnimatedPropertyKeysSet ( ni::tU32  anIndex)
pure virtual

Create a keys set for the specified animated property.

virtual iAnimationKeysSet* GetAnimatedPropertyAnimationKeysSet ( tU32  anPropIndex,
tU32  anAnimIndex 
) const
pure virtual

Get the animation keys of an animated property associated with the specified animation.

virtual ni::tF32 GetFloat ( ni::tU32  anIndex) const
pure virtual

Get the float time value of the given animated property. {Property}.

virtual ni::tF32 GetEulerAngle ( ni::tU32  anIndex) const
pure virtual

Get the euler angle time value of the given animated property. {Property}.

virtual ni::sVec2f GetVec2 ( ni::tU32  anIndex) const
pure virtual

Get the vector2 time value of the given animated property. {Property}.

virtual ni::sVec3f GetVec3 ( ni::tU32  anIndex) const
pure virtual

Get the vector3 time value of the given animated property. {Property}.

virtual ni::sVec4f GetVec4 ( ni::tU32  anIndex) const
pure virtual

Get the vector4 time value of the given animated property. {Property}.

virtual ni::sMatrixf GetMatrix ( ni::tU32  anIndex) const
pure virtual

Get the matrix time value of the given animated property. {Property}.

virtual ni::sQuatf GetQuat ( ni::tU32  anIndex) const
pure virtual

Get the vector4 time value of the given animated property. {Property}.

virtual ni::tBool GetIsPropertyAnimated ( ni::tU32  anIndex) const
pure virtual

Get is the specified animated property has any valid active/playing animation that modifies it. {Property}.

virtual ni::tBool GetPropertyHasAnimation ( tU32  anIndex) const
pure virtual

Get whether the specified animated property has any animation. {Property}.

virtual void ClearAnimations ( )
pure virtual

Remove all animations of the mixer.

virtual ni::tBool AddAnimationEmpty ( ni::iHString ahspName)
pure virtual

Add a new empty animation in the entity.

virtual ni::tBool AddAnimation ( ni::iAnimation apAnim)
pure virtual

Add an existing animation.

virtual ni::tBool RemoveAnimation ( tU32  anAnimIndex)
pure virtual

Remove an animation from the entity.

virtual ni::tU32 GetNumAnimations ( ) const
pure virtual

Get the number of animations. {Property}.

virtual ni::iAnimation* GetAnimation ( ni::tU32  anIndex) const
pure virtual

Get the animation at the specified index. {Property}.

virtual ni::tU32 GetAnimationIndex ( ni::iAnimation apAnim) const
pure virtual

Get an animation index. {Property}.

virtual ni::tU32 GetAnimationIndexFromName ( ni::iHString ahspName) const
pure virtual

Get an animation index from the animation's name. {Property}.

virtual void SetAnimationCurrentTime ( tU32  anAnim,
tF32  afTime 
)
pure virtual

Set the current animation time. {Property}.

virtual tF32 GetAnimationCurrentTime ( tU32  anAnim) const
pure virtual

Get the current animation time. {Property}.

virtual tF32 GetAnimationLength ( tU32  anAnim) const
pure virtual

Get the length of an animation. {Property}.

virtual void SetAnimationWeight ( tU32  anAnim,
tF32  fWeight 
)
pure virtual

Set the weight of an animation. {Property}.

virtual tF32 GetAnimationWeight ( tU32  anAnim) const
pure virtual

Get the weight of an animation. {Property}.

virtual void SetAllAnimationsWeight ( tF32  fWeight)
pure virtual

Set the weight of all animations.

virtual tF32 GetTotalAnimationsWeight ( ) const
pure virtual

Get the total of all the animations weights. {Property}.

virtual void SetAnimationSpeed ( tU32  anAnim,
tF32  afSpeed 
)
pure virtual

Set the animation time's speed. {Property}.

virtual tF32 GetAnimationSpeed ( tU32  anAnim) const
pure virtual

Get the animation time's speed. {Property}.

virtual void SetAllAnimationsSpeed ( tF32  fSpeed)
pure virtual

Set the speed of all animations.

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

Serialize the animation mixer to/from the specified datatable.

virtual tBool UpdateAnimationProperties ( tU32  anAnimIndex)
pure virtual

Update the properties table of the specified animation.

Remarks
This should be called if an animation's content changes after being added to the animation mixer.
virtual void SetAnimationWeightDecc ( tU32  anAnim,
tF32  afDecc 
)
pure virtual

{Property}

virtual tF32 GetAnimationWeightDecc ( tU32  anAnim) const
pure virtual

{Property}

virtual void SetAllAnimationsWeightDecc ( tF32  afDecc)
pure virtual

{Property}

virtual tU32 Update ( tF32  afDT)
pure virtual