CrystalSpace

Public API Reference

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 iSkeletonAnimNodeFactoryGetChildNode ()=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:

Generated for Crystal Space 2.1 by doxygen 1.6.1