CrystalSpace

Public API Reference

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 iJointGetBoneJoint (const BoneID bone)=0
 Get the joint of the given bone.
virtual iRigidBodyGetBoneRigidBody (BoneID bone)=0
 Get the rigid body of the given bone.
virtual iDynamicSystemGetDynamicSystem () 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 143 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:

Generated for Crystal Space 2.1 by doxygen 1.6.1