CrystalSpace

Public API Reference

CS::Animation::iBodyChain Struct Reference

A body chain is a subtree of the skeleton of an CS::Mesh::iAnimatedMesh. More...

#include <imesh/bodymesh.h>

Inheritance diagram for CS::Animation::iBodyChain:

List of all members.

Public Member Functions

virtual bool AddAllSubChains ()=0
 Add all sub-child of the root node of this chain.
virtual bool AddSubChain (CS::Animation::BoneID subBone)=0
 Add a sub-chain to this chain, ie all nodes from the root of the chain to the given subBone.
virtual void DebugPrint () const =0
 Print the hierarchical structure of this bone chain to the standard output.
virtual iBodySkeletonGetBodySkeleton ()=0
 Get the associated physical description of the skeleton.
virtual const char * GetName () const =0
 Get the name of this body chain.
virtual iBodyChainNodeGetRootNode ()=0
 Get the root node of this chain.
virtual void PopulateBoneMask (csBitArray &boneMask) const =0
 Populate the given bone mask with the bones of this chain.

Detailed Description

A body chain is a subtree of the skeleton of an CS::Mesh::iAnimatedMesh.

It is used to apply varying animation controllers on different parts of the skeleton.

Definition at line 285 of file bodymesh.h.


Member Function Documentation

virtual bool CS::Animation::iBodyChain::AddAllSubChains (  )  [pure virtual]

Add all sub-child of the root node of this chain.

Returns:
True upon success, false otherwise (this should never happen although)
virtual bool CS::Animation::iBodyChain::AddSubChain ( CS::Animation::BoneID  subBone  )  [pure virtual]

Add a sub-chain to this chain, ie all nodes from the root of the chain to the given subBone.

For example, if you want to create a chain for the two legs of a human body, you should set the pelvis as the root node, and call this method once for each foot.

Returns:
True upon success, false otherwise (ie the subBone has not been found as a sub-child of the root of this chain)
virtual void CS::Animation::iBodyChain::DebugPrint (  )  const [pure virtual]

Print the hierarchical structure of this bone chain to the standard output.

virtual iBodySkeleton* CS::Animation::iBodyChain::GetBodySkeleton (  )  [pure virtual]

Get the associated physical description of the skeleton.

virtual const char* CS::Animation::iBodyChain::GetName (  )  const [pure virtual]

Get the name of this body chain.

virtual iBodyChainNode* CS::Animation::iBodyChain::GetRootNode (  )  [pure virtual]

Get the root node of this chain.

virtual void CS::Animation::iBodyChain::PopulateBoneMask ( csBitArray boneMask  )  const [pure virtual]

Populate the given bone mask with the bones of this chain.

The bit mask will not be reset before populating it, but its size will be grown if needed to the count of bones in the skeleton.


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

Generated for Crystal Space 2.1 by doxygen 1.6.1