CrystalSpace

Public API Reference

CS::Animation::iSkeleton Struct Reference
[Mesh plugins]

A skeleton instance defines the state of a CS::Mesh::iAnimatedMesh. More...

#include <imesh/skeleton2.h>

Inheritance diagram for CS::Animation::iSkeleton:

List of all members.

Public Member Functions

virtual CS::Mesh::iAnimatedMeshGetAnimatedMesh ()=0
 Get the animated mesh associated with this skeleton.
virtual iSkeletonAnimPacketGetAnimationPacket () const =0
 Get the animation packet associated with this skeleton.
virtual iSkeletonFactoryGetFactory () const =0
 Get the factory used to create this skeleton instance.
virtual iSceneNodeGetSceneNode ()=0
 Get the scene node associated with this skeleton.
virtual unsigned int GetSkeletonStateVersion () const =0
 Get the skeleton update version number.
virtual void RecreateAnimationTree ()=0
 Recreate the animation tree from the factory.
virtual void RecreateSkeleton ()=0
 Recreate the structure of the skeleton from the definition of the factory.
virtual void ResetSkeletonState ()=0
 Reset the transform of all the bones of the skeleton to the ones of the skeleton factory.
virtual void SetAnimatedMesh (CS::Mesh::iAnimatedMesh *animesh)=0
 Set the animated mesh associated with this skeleton.
virtual void SetAnimationPacket (iSkeletonAnimPacket *packet)=0
 Set the animation packet associated with this skeleton.
virtual void UpdateSkeleton (float dt)=0
 Update the state skeleton.
Bone handling



virtual csPtr< AnimatedMeshStateGetStateAbsSpace ()=0
 Get the state of the entire skeleton (ie all transforms) in absolute space.
virtual csPtr< AnimatedMeshStateGetStateBindSpace ()=0
 Get the state of the entire skeleton (ie all transforms) in bind space.
virtual csPtr< AnimatedMeshStateGetStateBoneSpace ()=0
 Get the state of the entire skeleton (ie all transforms) in bone space.
virtual void GetTransformAbsSpace (BoneID bone, csQuaternion &rot, csVector3 &offset) const =0
 Get the transform of the bone in absolute space.
virtual void GetTransformBindSpace (BoneID bone, csQuaternion &rot, csVector3 &offset) const =0
 Get the transform of the bone in bind space.
virtual void GetTransformBoneSpace (BoneID bone, csQuaternion &rot, csVector3 &offset) const =0
 Get the transform of the bone in bone space.
virtual void SetTransformAbsSpace (BoneID bone, const csQuaternion &rot, const csVector3 &offset)=0
 Set the transform of the bone in absolute space.
virtual void SetTransformBindSpace (BoneID bone, const csQuaternion &rot, const csVector3 &offset)=0
 Set the transform of the bone in bind space.
virtual void SetTransformBoneSpace (BoneID bone, const csQuaternion &rot, const csVector3 &offset)=0
 Set the transform of the bone in bone space.

Detailed Description

A skeleton instance defines the state of a CS::Mesh::iAnimatedMesh.

It is therefore a specific copy of a skeleton, with the base pose and topology defined by the factory, but with the current state defined internally.

The skeleton level introduces a third coordinate space, in addition to the absolute and bone spaces defined for the CS::Animation::iSkeletonFactory. This new coordinate space is the bind space, and is defined by the relative position compared to the default orientation (ie the bone space).

See also:
CS::Animation::iSkeletonFactory for more information on the absolute and bone coordinate spaces.

Definition at line 299 of file skeleton2.h.


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

Generated for Crystal Space 2.1 by doxygen 1.6.1