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

An animation node that interacts with the dynamic simulation in order to control the animation of the animated mesh, and/or in order to make the mesh collide with the rigid bodies of the simulation. More...

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

Inheritance diagram for CS::Animation::iSkeletonRagdollNode:

List of all members.

## Public Member Functions
virtual RagdollState | GetBodyChainState (iBodyChain *chain) const =0
| Get the physical state of the given body chain.
virtual BoneID | GetBone (RagdollState state, uint index) const =0
| Get a bone from its index.
virtual uint | GetBoneCount (RagdollState state) const =0
| Get the count of bones in the given physical state.
virtual iJoint * | GetBoneJoint (const BoneID bone)=0
| Get the joint of the given bone.
virtual iRigidBody * | GetBoneRigidBody (BoneID bone)=0
| Get the rigid body of the given bone.
virtual iDynamicSystem * | GetDynamicSystem () const =0
| Get the dynamic system where the rigid bodies are evolving.
virtual BoneID | GetRigidBodyBone (iRigidBody *body) const =0
| Get the bone associated with the given rigid body, or CS::Animation::InvalidBoneID if the given rigid body is not part of this physical body.
virtual void | ResetChainTransform (iBodyChain *chain)=0
| Reset the transform of each rigid body of the chain to the initial 'bind' transform.
virtual void | SetBodyChainState (iBodyChain *chain, RagdollState state)=0
| Set the body chain in the given physical state.
virtual void | SetDynamicSystem (iDynamicSystem *system)=0
| Set the dynamic system where the rigid bodies are evolving.

## Detailed Description

An animation node that interacts with the dynamic simulation in order to control the animation of the animated mesh, and/or in order to make the mesh collide with the rigid bodies of the simulation.

Definition at line 137 of file ragdoll.h.

## Member Function Documentation

virtual RagdollState CS::Animation::iSkeletonRagdollNode::GetBodyChainState | ( | iBodyChain * | chain | ) | const`[pure virtual]`

Get the physical state of the given body chain.

virtual BoneID CS::Animation::iSkeletonRagdollNode::GetBone | ( | RagdollState | state,
|  | uint | index
| ) |  | const`[pure virtual]`

Get a bone from its index.

virtual uint CS::Animation::iSkeletonRagdollNode::GetBoneCount | ( | RagdollState | state | ) | const`[pure virtual]`

Get the count of bones in the given physical state.

virtual iJoint* CS::Animation::iSkeletonRagdollNode::GetBoneJoint | ( | const BoneID | bone | ) | `[pure virtual]`

Get the joint of the given bone.

virtual iRigidBody* CS::Animation::iSkeletonRagdollNode::GetBoneRigidBody | ( | BoneID | bone | ) | `[pure virtual]`

Get the rigid body of the given bone.

virtual iDynamicSystem* CS::Animation::iSkeletonRagdollNode::GetDynamicSystem | ( |  | ) | const`[pure virtual]`

Get the dynamic system where the rigid bodies are evolving.

virtual BoneID CS::Animation::iSkeletonRagdollNode::GetRigidBodyBone | ( | iRigidBody * | body | ) | const`[pure virtual]`

Get the bone associated with the given rigid body, or CS::Animation::InvalidBoneID if the given rigid body is not part of this physical body.

virtual void CS::Animation::iSkeletonRagdollNode::ResetChainTransform | ( | iBodyChain * | chain | ) | `[pure virtual]`

Reset the transform of each rigid body of the chain to the initial 'bind' transform.

This can be used only on chains that are in a dynamic state.

Use this when the bone where the chain is attached is moved abruptly (ie when the whole mesh is moved sharply, or when the transition of the animation is not continuous). Otherwise, letting the dynamic simulation handle such a radical teleportation might lead to an unstable and unwanted behavior.

virtual void CS::Animation::iSkeletonRagdollNode::SetBodyChainState | ( | iBodyChain * | chain,
|  | RagdollState | state
| ) |  | `[pure virtual]`

Set the body chain in the given physical state.

virtual void CS::Animation::iSkeletonRagdollNode::SetDynamicSystem | ( | iDynamicSystem * | system | ) | `[pure virtual]`

Set the dynamic system where the rigid bodies are evolving.

It is valid to provide a null system, in this case the bodies already created will be removed from any dynamic system.

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

- imesh/animnode/ragdoll.h