Assimp: aiNodeAnim Struct Reference

assimp - Open Asset Import Library

Describes the animation of a single node. More...

Public Member Functions

 aiNodeAnim ()
 
 ~aiNodeAnim ()
 

Public Attributes

C_STRUCT aiString mNodeName
 The name of the node affected by this animation. More...
 
unsigned int mNumPositionKeys
 The number of position keys. More...
 
unsigned int mNumRotationKeys
 The number of rotation keys. More...
 
unsigned int mNumScalingKeys
 The number of scaling keys. More...
 
C_STRUCT aiVectorKeymPositionKeys
 The position keys of this animation channel. More...
 
C_ENUM aiAnimBehaviour mPostState
 Defines how the animation behaves after the last key was processed. More...
 
C_ENUM aiAnimBehaviour mPreState
 Defines how the animation behaves before the first key is encountered. More...
 
C_STRUCT aiQuatKeymRotationKeys
 The rotation keys of this animation channel. More...
 
C_STRUCT aiVectorKeymScalingKeys
 The scaling keys of this animation channel. More...
 

Detailed Description

Describes the animation of a single node.

The name specifies the bone/node which is affected by this animation channel. The keyframes are given in three separate series of values, one each for position, rotation and scaling. The transformation matrix computed from these values replaces the node's original transformation matrix at a specific time. This means all keys are absolute and not relative to the bone default pose. The order in which the transformations are applied is

  • as usual - scaling, rotation, translation.
Note
All keys are returned in their correct, chronological order. Duplicate keys don't pass the validation step. Most likely there will be no negative time values, but they are not forbidden also ( so implementations need to cope with them! )

Constructor & Destructor Documentation

aiNodeAnim::aiNodeAnim ( )
inline
aiNodeAnim::~aiNodeAnim ( )
inline

Member Data Documentation

C_STRUCT aiString aiNodeAnim::mNodeName

The name of the node affected by this animation.

The node must exist and it must be unique.

unsigned int aiNodeAnim::mNumPositionKeys

The number of position keys.

unsigned int aiNodeAnim::mNumRotationKeys

The number of rotation keys.

unsigned int aiNodeAnim::mNumScalingKeys

The number of scaling keys.

C_STRUCT aiVectorKey* aiNodeAnim::mPositionKeys

The position keys of this animation channel.

Positions are specified as 3D vector. The array is mNumPositionKeys in size.

If there are position keys, there will also be at least one scaling and one rotation key.

C_ENUM aiAnimBehaviour aiNodeAnim::mPostState

Defines how the animation behaves after the last key was processed.

The default value is aiAnimBehaviour_DEFAULT (the original transformation matrix of the affected node is taken).

C_ENUM aiAnimBehaviour aiNodeAnim::mPreState

Defines how the animation behaves before the first key is encountered.

The default value is aiAnimBehaviour_DEFAULT (the original transformation matrix of the affected node is used).

C_STRUCT aiQuatKey* aiNodeAnim::mRotationKeys

The rotation keys of this animation channel.

Rotations are given as quaternions, which are 4D vectors. The array is mNumRotationKeys in size.

If there are rotation keys, there will also be at least one scaling and one position key.

C_STRUCT aiVectorKey* aiNodeAnim::mScalingKeys

The scaling keys of this animation channel.

Scalings are specified as 3D vector. The array is mNumScalingKeys in size.

If there are scaling keys, there will also be at least one position and one rotation key.

The documentation for this struct was generated from the following file:
Generated on Sun Feb 21 2016 19:42:29 for Assimp by   doxygen 1.8.11