CS::Animation::iSkeletonFactory Struct Reference (Crystal Space 2.0 Public API Reference)

| ## Public API Reference

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions
CS::Animation::iSkeletonFactory Struct Reference
Mesh plugins

A skeleton factory is an object defining the base pose and topology from which CS::Animation::iSkeleton instances can be created. More...

`#include <imesh/skeleton2.h>`

Inheritance diagram for CS::Animation::iSkeletonFactory:

List of all members.

## Public Member Functions
virtual csPtr< iSkeleton > | CreateSkeleton ()=0
| Create a skeleton instance from this skeleton factory.
virtual csString | Description () const =0
| Return a textual representation of the bone tree of this skeleton factory.
virtual iSkeletonAnimPacketFactory * | GetAnimationPacket () const =0
| Get the animation packet associated with this skeleton.
virtual bool | GetAutoStart ()=0
| Set whether or not the skeleton should start its animation automatically after its initialization.
virtual const csArray < CS::Animation::BoneID > & | GetBoneOrderList ()=0
| Return an ordered list of the bones.
virtual const char * | GetName () const =0
| Get the name of the skeleton factory.
virtual void | SetAnimationPacket (iSkeletonAnimPacketFactory *fact)=0
| Set the animation packet associated with this skeleton.
virtual void | SetAutoStart (bool autostart)=0
| Set whether or not the skeleton should start its animation automatically after its initialization.
Bone handling
virtual BoneID | CreateBone (BoneID parent=CS::Animation::InvalidBoneID)=0
| Create a new bone with the given parent bone.
virtual BoneID | FindBone (const char *name) const =0
| Find the ID of a bone from its name.
virtual void | RemoveBone (BoneID bone)=0
| Remove a bone from the skeleton.
virtual BoneID | GetBoneParent (BoneID bone) const =0
| Get the ID of the parent of the given bone.
virtual bool | HasBone (BoneID bone) const =0
| Return true if the bone with the given ID exists within this skeleton factory.
virtual void | SetBoneName (BoneID bone, const char *name)=0
| Set a name of a bone for later identificaton.
virtual const char * | GetBoneName (BoneID bone) const =0
| Get the name of a bone.
virtual BoneID | GetTopBoneID () const =0
| Get the highest bone ID used in skeleton.
virtual void | GetTransformBoneSpace (BoneID bone, csQuaternion &rot, csVector3 &offset) const =0
| Get the transform of the bone in bone space.
virtual void | SetTransformBoneSpace (BoneID bone, const csQuaternion &rot, const csVector3 &offset)=0
| Set the transform of the bone 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 | SetTransformAbsSpace (BoneID bone, const csQuaternion &rot, const csVector3 &offset)=0
| Set the transform of the bone in absolute space.

## Detailed Description

A skeleton factory is an object defining the base pose and topology from which CS::Animation::iSkeleton instances can be created.

A note on coordinate spaces, cause there are a few to keep track of. Within the skeleton factory there are two types coordinate spaces:

- Absolute space. Absolute space is defined by the skeleton , that is, the root bone(s) is defined in absolute space.
- Bone space. Bone space for every bone is defined by its parent.

Definition at line 124 of file skeleton2.h.

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

- imesh/skeleton2.h