CS::Animation::iBodyChain 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::iBodyChain Struct Reference

A body chain is a subtree of the skeleton of an animated mesh. 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 iBodySkeleton * | GetBodySkeleton ()=0
| Get the associated physical description of the skeleton.
virtual const char * | GetName () const =0
| Get the name of this body chain.
virtual iBodyChainNode * | GetRootNode ()=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 animated mesh.

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

Definition at line 194 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:

- imesh/bodymesh.h