CrystalSpace

Public API Reference

CS::Animation::iSkeletonIKNodeFactory Struct Reference

Factory for the Inverse Kinematics animation node. More...

#include <imesh/animnode/ik.h>

Inheritance diagram for CS::Animation::iSkeletonIKNodeFactory:

List of all members.

Public Member Functions

virtual CS::Animation::EffectorID AddEffector (CS::Animation::iBodyChain *chain, BoneID bone, csOrthoTransform &transform)=0
 Add an effector to this factory.
virtual
CS::Animation::iBodySkeleton
GetBodySkeleton () const =0
 Get the physical description of the skeleton.
virtual
CS::Animation::iSkeletonAnimNodeFactory
GetChildNode () const =0
 Return the child animation node of this node.
virtual void RemoveEffector (CS::Animation::EffectorID effector)=0
 Remove the given effector.
virtual void SetBodySkeleton (CS::Animation::iBodySkeleton *skeleton)=0
 Set the physical description of the skeleton.
virtual void SetChildNode (CS::Animation::iSkeletonAnimNodeFactory *node)=0
 Set the child animation node of this node.

Detailed Description

Factory for the Inverse Kinematics animation node.

With Inverse Kinematics, you can generate an animation for a sub-part of the skeleton (a CS::Animation::iBodyChain) by specifying some geometrical constraints on some effectors placed on the skeleton. This can be used eg to grab an object or to avoid foot sliding problems within a locomotion system.

You must first define some effectors, ie some points on the skeleton. Then in the CS::Animation::iSkeletonIKNode, you will be able to define some geometric constraints on these effectors.

See also:
iSkeletonIKPhysicalNodeFactory

Definition at line 81 of file ik.h.


Member Function Documentation

virtual CS::Animation::EffectorID CS::Animation::iSkeletonIKNodeFactory::AddEffector ( CS::Animation::iBodyChain chain,
BoneID  bone,
csOrthoTransform transform 
) [pure virtual]

Add an effector to this factory.

Parameters:
chain The sub-part of the skeleton that is controlled by this node when the effector is constrained.
bone The bone where sits the effector.
transform The position of the effector, relatively to the bone.
virtual CS::Animation::iBodySkeleton* CS::Animation::iSkeletonIKNodeFactory::GetBodySkeleton (  )  const [pure virtual]

Get the physical description of the skeleton.

virtual CS::Animation::iSkeletonAnimNodeFactory* CS::Animation::iSkeletonIKNodeFactory::GetChildNode (  )  const [pure virtual]

Return the child animation node of this node.

virtual void CS::Animation::iSkeletonIKNodeFactory::RemoveEffector ( CS::Animation::EffectorID  effector  )  [pure virtual]

Remove the given effector.

virtual void CS::Animation::iSkeletonIKNodeFactory::SetBodySkeleton ( CS::Animation::iBodySkeleton skeleton  )  [pure virtual]

Set the physical description of the skeleton.

virtual void CS::Animation::iSkeletonIKNodeFactory::SetChildNode ( CS::Animation::iSkeletonAnimNodeFactory node  )  [pure virtual]

Set the child animation node of this node.

The IK controller will add its control on top of the animation of the child node. This child node is not mandatory.

It is valid to set a null reference as chid node.


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

Generated for Crystal Space 2.0 by doxygen 1.6.1