IAnimNode

C++
struct IAnimNode : virtual public _i_reference_target_t {
  enum ESupportedParamFlags {
    eSupportedParamFlags_MultipleTracks = 0x01
  };
};
File

IMovieSystem.h

Description
  • Base class for all Animation nodes,

can host multiple animation tracks, and execute them other time. Animation node is reference counted.

IAnimNode::ESupportedParamFlags Enumeration
C++
enum ESupportedParamFlags {
  eSupportedParamFlags_MultipleTracks = 0x01
};
File

IMovieSystem.h

Members
Members
Description
eSupportedParamFlags_MultipleTracks = 0x01
Set if parameter can be assigned multiple tracks.
Description

Supported params.

IAnimNode::~IAnimNode Destructor
C++
virtual ~IAnimNode();
IAnimNode::Activate Method
C++
virtual void Activate(bool bActivate) = 0;
Description

Called when sequence is activated / deactivated

IAnimNode::AddTrack Method
C++
virtual void AddTrack(IAnimTrack * pTrack) = 0;
Description

Remove track from anim node.

IAnimNode::Animate Method
C++
virtual void Animate(SAnimContext & ec) = 0;
Description

! Evaluate animation to the given time.

IAnimNode::CreateDefaultTracks Method
C++
virtual void CreateDefaultTracks() = 0;
Description

Creates default set of tracks supported by this node.

IAnimNode::CreateTrack Method
C++
virtual IAnimTrack* CreateTrack(const CAnimParamType & paramType) = 0;
Description

Creates a new track for given parameter.

IAnimNode::GetEntity Method
C++
virtual IEntity* GetEntity() = 0;
Description

Query entity of this node, if assigned.

IAnimNode::GetEntityGuid Method
C++
virtual EntityGUID* GetEntityGuid() = 0;
Description

Retrieve a pointer to the entity Guid, return NULL if it is not an entity targeting node.

IAnimNode::GetFlags Method
C++
virtual int GetFlags() const = 0;
Description

Get AnimNode flags. @return flags set on node. @see EAnimNodeFlags

IAnimNode::GetMemoryUsage Method
C++
virtual void GetMemoryUsage(ICrySizer * pSizer) const = 0;
Description

collect allocated memory

IAnimNode::GetMovieSystem Method
C++
virtual IMovieSystem* GetMovieSystem() = 0;
Description

Return movie system that created this node.

IAnimNode::GetName Method
C++
virtual const char* GetName() = 0;
Description

! Get node name.

IAnimNode::GetNodeOwner Method
C++
virtual IAnimNodeOwner* GetNodeOwner() = 0;
IAnimNode::GetParamCount Method
C++
virtual unsigned int GetParamCount() const = 0;
Returns

Number of supported parameters.

Description

Returns number of supported parameters by this animation node (position,rotation,scale,etc..).

IAnimNode::GetParamFlags Method
C++
virtual ESupportedParamFlags GetParamFlags(const CAnimParamType & paramType) const = 0;
Description

Returns the params value type

IAnimNode::GetParamName Method
C++
virtual const char * GetParamName(const CAnimParamType & paramType) const = 0;
Parameters
Parameters
Description
const CAnimParamType & paramType
parameter id
Description

Returns name of supported parameter of this animation node or NULL if not available

IAnimNode::GetParamType Method
C++
virtual CAnimParamType GetParamType(unsigned int nIndex) const = 0;
Parameters
Parameters
Description
unsigned int nIndex
parameter index in range 0 <= nIndex < GetSupportedParamCount()
Description

Returns the type of a param by index

IAnimNode::GetParamValue Method (float, CAnimParamType, Vec3 &)
C++
virtual bool GetParamValue(float time, CAnimParamType param, Vec3 & value) = 0;
IAnimNode::GetParamValue Method (float, CAnimParamType, Vec4 &)
C++
virtual bool GetParamValue(float time, CAnimParamType param, Vec4 & value) = 0;
IAnimNode::GetParamValue Method (float, CAnimParamType, float &)
C++
virtual bool GetParamValue(float time, CAnimParamType param, float & value) = 0;
Description

Get float/vec3/vec4 parameter at given time. @return true if parameter exist, false if this parameter not exist in node.

IAnimNode::GetParamValueType Method
C++
virtual EAnimValue GetParamValueType(const CAnimParamType & paramType) const = 0;
Description

Returns the params value type

IAnimNode::GetParent Method
C++
virtual IAnimNode* GetParent() const = 0;
IAnimNode::GetPos Method
C++
virtual Vec3 GetPos() = 0;
Description

! Get current entity position.

IAnimNode::GetRotate Method
C++
virtual Quat GetRotate() = 0;
Description

! Get current entity rotation.

IAnimNode::GetScale Method
C++
virtual Vec3 GetScale() = 0;
Description

! Get current entity scale.

IAnimNode::GetSequence Method
C++
virtual IAnimSequence* GetSequence() = 0;
Description

Return Animation Sequence that owns this node.

IAnimNode::GetShakeRotation Method
C++
virtual bool GetShakeRotation(const float & time, Quat & rot);
Description

Used by AnimCameraNode

IAnimNode::GetTrackByIndex Method
C++
virtual IAnimTrack* GetTrackByIndex(int nIndex) const = 0;
Description

Return track assigned to the specified parameter.

IAnimNode::GetTrackCount Method
C++
virtual int GetTrackCount() const = 0;
Description

Working with Tracks.

IAnimNode::GetTrackForParameter Method (CAnimParamType &)
C++
virtual IAnimTrack* GetTrackForParameter(const CAnimParamType & paramType) const = 0;
Description

Return first track assigned to the specified parameter.

IAnimNode::GetTrackForParameter Method (CAnimParamType &, uint32)
C++
virtual IAnimTrack* GetTrackForParameter(const CAnimParamType & paramType, uint32 index) const = 0;
Description

Return the i-th track assigned to the specified parameter in case of multiple tracks.

IAnimNode::GetTrackParamIndex Method
C++
virtual uint32 GetTrackParamIndex(const IAnimTrack * pTrack) const = 0;
Description

Get the index of a given track among tracks with the same parameter type in this node.

IAnimNode::GetType Method
C++
virtual EAnimNodeType GetType() const = 0;
Description

Get Type of this node.

IAnimNode::HasDirectorAsParent Method
C++
virtual IAnimNode * HasDirectorAsParent() const = 0;
IAnimNode::InitializeTrackDefaultValue Method
C++
virtual void InitializeTrackDefaultValue(IAnimTrack * pTrack, const CAnimParamType & paramType) = 0;
Description

Initializes track default values after de-serialization / user creation. Only called in editor.

IAnimNode::IsParamValid Method
C++
virtual bool IsParamValid(const CAnimParamType & paramType) const = 0;
Description

Check if parameter is supported by this node.

IAnimNode::NeedToRender Method
C++
virtual bool NeedToRender() const = 0;
IAnimNode::RemoveTrack Method
C++
virtual bool RemoveTrack(IAnimTrack * pTrack) = 0;
Description

Remove track from anim node.

IAnimNode::Render Method
C++
virtual void Render() = 0;
IAnimNode::Serialize Method
C++
virtual void Serialize(XmlNodeRef & xmlNode, bool bLoading, bool bLoadEmptyTracks) = 0;
Description

Serialize this animation node to XML.

IAnimNode::SetCameraShakeSeed Method
C++
virtual void SetCameraShakeSeed(const uint shakeSeed);
IAnimNode::SetEntityGuid Method
C++
virtual void SetEntityGuid(const EntityGUID & guid) = 0;
Description

Assign an entity guid to the node, (Only for Entity targeting nodes)

IAnimNode::SetEntityGuidSource Method
C++
virtual void SetEntityGuidSource(const EntityGUID & guid) = 0;
IAnimNode::SetEntityGuidTarget Method
C++
virtual void SetEntityGuidTarget(const EntityGUID & guid) = 0;
Description

Assign an entities guides to the lookAt nodes

IAnimNode::SetEntityId Method
C++
virtual void SetEntityId(const int entityId);
Description

Override the entity ID of a node (only called from game)

IAnimNode::SetFlags Method
C++
virtual void SetFlags(int flags) = 0;
Description

Set AnimNode flags. @param flags One or more flags from EAnimNodeFlags. @see EAnimNodeFlags

IAnimNode::SetName Method
C++
virtual void SetName(const char * name) = 0;
IAnimNode::SetNodeOwner Method
C++
virtual void SetNodeOwner(IAnimNodeOwner * pOwner) = 0;
Description

Callback for animation node used by editor. Register notification callback with animation node.

IAnimNode::SetParamValue Method (float, CAnimParamType, Vec3 &)
C++
virtual bool SetParamValue(float time, CAnimParamType param, const Vec3 & value) = 0;
IAnimNode::SetParamValue Method (float, CAnimParamType, Vec4 &)
C++
virtual bool SetParamValue(float time, CAnimParamType param, const Vec4 & value) = 0;
IAnimNode::SetParamValue Method (float, CAnimParamType, float)
C++
virtual bool SetParamValue(float time, CAnimParamType param, float value) = 0;
Description

General Set param. Set float/vec3/vec4 parameter at given time. @return true if parameter set, false if this parameter not exist in node.

IAnimNode::SetParent Method
C++
virtual void SetParent(IAnimNode* pParent) = 0;
Description

Groups interface

IAnimNode::SetPos Method
C++
virtual void SetPos(float time, const Vec3 & pos) = 0;
Description

Space position/orientation scale. /////////////////////////////////////////////////////////////////////// ! Translate entity node.

IAnimNode::SetRotate Method
C++
virtual void SetRotate(float time, const Quat & quat) = 0;
Description

! Rotate entity node.

IAnimNode::SetScale Method
C++
virtual void SetScale(float time, const Vec3 & scale) = 0;
Description

! Scale entity node.

IAnimNode::SetTimeRange Method
C++
virtual void SetTimeRange(Range timeRange) = 0;
Description

Set time range for all tracks in this sequence.

IAnimNode::SetTrack Method
C++
virtual void SetTrack(const CAnimParamType & paramType, IAnimTrack * track) = 0;
Description

Assign animation track to parameter. if track parameter is NULL track with parameter id param will be removed.

IAnimNode::StillUpdate Method
C++
virtual void StillUpdate() = 0;
Description

! Evaluate animation node while not playing animation.

IAnimNode::UpdateDynamicParams Method
C++
virtual void UpdateDynamicParams() = 0;
Description

Called from editor if dynamic params need updating