CS::Animation::iSkeletonIKNodeFactory 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::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:

- imesh/animnode/ik.h