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

Factory for the 'Retarget' animation node. More...

`#include <imesh/animnode/retarget.h>`

Inheritance diagram for CS::Animation::iSkeletonRetargetNodeFactory:

List of all members.

## Public Member Functions
virtual void | AddBodyChain (CS::Animation::iBodyChain *chain)=0
| Add a body chain indicating a main structure that can be retargeted from one skeleton to another.
virtual void | ClearChildNode ()=0
| Clear the child animation node of this node.
virtual iSkeletonAnimNodeFactory * | GetChildNode ()=0
| Return the child animation node of this node.
virtual void | RemoveBodyChain (CS::Animation::iBodyChain *chain)=0
| Remove a body chain indicating a main structure that can be retargeted from one skeleton to another.
virtual void | SetBoneMapping (CS::Animation::BoneMapping &mapping)=0
| Set the source skeleton that has to be used to retarget the animation from.
virtual void | SetChildNode (iSkeletonAnimNodeFactory *node)=0
| Set the child animation node of this node.
virtual void | SetSourceSkeleton (CS::Animation::iSkeletonFactory *skeleton)=0
| Set the source skeleton that has to be used to retarget the animation from.

## Detailed Description

Factory for the 'Retarget' animation node.

This animation node can retarget an animation from one skeleton to another. It is useful for example to import motion capture data into your animesh.

This node works by simply copying the rotation and position of the bones from the source to the target skeleton, after having converted the transformations from one space to another. This works effectively only if the two skeletons have a similar topology and default pose.

To overcome the problem of a different default pose, this node has the ability to align the bones in world space instead of naively copying the applied rotation. To use this more advanced mode, you need to define some more semantic about the structure of the skeleton, this is made through the AddBodyChain()/RemoveBodyChain() methods.

In all cases, this node will only be able to retarget the animations of the bones covered by the bone mapping provided by the user (see SetBoneMapping()).

Definition at line 165 of file retarget.h.

## Member Function Documentation

virtual void CS::Animation::iSkeletonRetargetNodeFactory::AddBodyChain | ( | CS::Animation::iBodyChain * | chain | ) | `[pure virtual]`

Add a body chain indicating a main structure that can be retargeted from one skeleton to another.

The bones from this chain will be aligned in world space instead of simply copied from the source skeleton.

The given body chain can hold only one child bone for each bone of the chain (it is therefore effectively a chain, not a tree).

virtual void CS::Animation::iSkeletonRetargetNodeFactory::ClearChildNode | ( |  | ) | `[pure virtual]`

Clear the child animation node of this node.

virtual iSkeletonAnimNodeFactory* CS::Animation::iSkeletonRetargetNodeFactory::GetChildNode | ( |  | ) | `[pure virtual]`

Return the child animation node of this node.

virtual void CS::Animation::iSkeletonRetargetNodeFactory::RemoveBodyChain | ( | CS::Animation::iBodyChain * | chain | ) | `[pure virtual]`

Remove a body chain indicating a main structure that can be retargeted from one skeleton to another.

virtual void CS::Animation::iSkeletonRetargetNodeFactory::SetBoneMapping | ( | CS::Animation::BoneMapping & | mapping | ) | `[pure virtual]`

Set the source skeleton that has to be used to retarget the animation from.

virtual void CS::Animation::iSkeletonRetargetNodeFactory::SetChildNode | ( | iSkeletonAnimNodeFactory * | node | ) | `[pure virtual]`

Set the child animation node of this node.

This child node plays the animation for the source skeleton.

virtual void CS::Animation::iSkeletonRetargetNodeFactory::SetSourceSkeleton | ( | CS::Animation::iSkeletonFactory * | skeleton | ) | `[pure virtual]`

Set the source skeleton that has to be used to retarget the animation from.

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

- imesh/animnode/retarget.h