CrystalSpace

Public API Reference

CS::Mesh::iAnimatedMesh Struct Reference
[Mesh plugins]

State and setting for an instance of an animated mesh. More...

#include <imesh/animesh.h>

Inheritance diagram for CS::Mesh::iAnimatedMesh:

List of all members.

Public Member Functions

virtual void ClearMorphTargetWeights ()=0
 Clear the weight of all active morph targets.
virtual iAnimatedMeshFactoryGetAnimatedMeshFactory () const =0
 Convenient accessor method for the CS::Mesh::iAnimatedMeshFactory of this animesh.
virtual const csBox3GetBoneBoundingBox (CS::Animation::BoneID bone) const =0
 Get the bounding box of the bone with the given ID.
virtual float GetMorphTargetWeight (uint target) const =0
 Get the weight for the blending of a given morph target.
virtual iRenderBufferAccessorGetRenderBufferAccessor () const =0
 Get the render buffer accessor of this mesh.
virtual CS::Animation::iSkeletonGetSkeleton () const =0
 Get the skeleton to use for this mesh.
virtual iAnimatedMeshSubMeshGetSubMesh (size_t index) const =0
 Get a submesh by index.
virtual size_t GetSubMeshCount () const =0
 Get the total number of submeshes.
virtual void SetBoneBoundingBox (CS::Animation::BoneID bone, const csBox3 &box)=0
 Set the bounding box of the given bone.
virtual void SetMorphTargetWeight (uint target, float weight)=0
 Set the weight for the blending of a given morph target.
virtual void SetSkeleton (CS::Animation::iSkeleton *skeleton)=0
 Set the skeleton to use for this mesh.
virtual void UnsetObjectBoundingBox ()=0
 Unset the custom bounding box of this animated mesh.
Socket



virtual iAnimatedMeshSocketGetSocket (size_t index) const =0
 Get a specific socket instance.
virtual size_t GetSocketCount () const =0
 Get the number of sockets in the factory.

Detailed Description

State and setting for an instance of an animated mesh.

These meshes are animated by the skeletal animation system (see CS::Animation::iSkeleton) and by morphing (see CS::Mesh::iAnimatedMeshMorphTarget).

Definition at line 629 of file animesh.h.


Member Function Documentation

virtual void CS::Mesh::iAnimatedMesh::ClearMorphTargetWeights (  )  [pure virtual]

Clear the weight of all active morph targets.

virtual iAnimatedMeshFactory* CS::Mesh::iAnimatedMesh::GetAnimatedMeshFactory (  )  const [pure virtual]

Convenient accessor method for the CS::Mesh::iAnimatedMeshFactory of this animesh.

virtual const csBox3& CS::Mesh::iAnimatedMesh::GetBoneBoundingBox ( CS::Animation::BoneID  bone  )  const [pure virtual]

Get the bounding box of the bone with the given ID.

The corners of the box are expressed in bone space.

If no bounding box has been defined for this bone on the animated mesh, then the one from the factory will be returned instead. If the factory has no box neither, then a default, empty one will be returned.

It is valid to use CS::Animation::InvalidBoneID as a parameter, in this case it will return the bounding box of the vertices that aren't influenced by any bone.

virtual float CS::Mesh::iAnimatedMesh::GetMorphTargetWeight ( uint  target  )  const [pure virtual]

Get the weight for the blending of a given morph target.

virtual iRenderBufferAccessor* CS::Mesh::iAnimatedMesh::GetRenderBufferAccessor (  )  const [pure virtual]

Get the render buffer accessor of this mesh.

virtual CS::Animation::iSkeleton* CS::Mesh::iAnimatedMesh::GetSkeleton (  )  const [pure virtual]

Get the skeleton to use for this mesh.

virtual iAnimatedMeshSocket* CS::Mesh::iAnimatedMesh::GetSocket ( size_t  index  )  const [pure virtual]

Get a specific socket instance.

virtual size_t CS::Mesh::iAnimatedMesh::GetSocketCount (  )  const [pure virtual]

Get the number of sockets in the factory.

virtual iAnimatedMeshSubMesh* CS::Mesh::iAnimatedMesh::GetSubMesh ( size_t  index  )  const [pure virtual]

Get a submesh by index.

virtual size_t CS::Mesh::iAnimatedMesh::GetSubMeshCount (  )  const [pure virtual]

Get the total number of submeshes.

virtual void CS::Mesh::iAnimatedMesh::SetBoneBoundingBox ( CS::Animation::BoneID  bone,
const csBox3 box 
) [pure virtual]

Set the bounding box of the given bone.

Bone bounding boxes are used to update the global bounding box of the animated mesh, and to speed up hitbeam tests. Each bounding box should enclose all the vertices that are influenced by the given bone, even when the morph targets are active.

If you don't specify a bounding box, then the one from the factory will be used instead.

Parameters:
bone The ID of the bone. It is valid to use CS::Animation::InvalidBoneID as a parameter, in this case it will refer to the bounding box of the vertices that aren't influenced by any bone.
box The bounding box of the given bone. The corners of the box are expressed in bone space.
virtual void CS::Mesh::iAnimatedMesh::SetMorphTargetWeight ( uint  target,
float  weight 
) [pure virtual]

Set the weight for the blending of a given morph target.

virtual void CS::Mesh::iAnimatedMesh::SetSkeleton ( CS::Animation::iSkeleton skeleton  )  [pure virtual]

Set the skeleton to use for this mesh.

The skeleton must have at least enough bones for all references made to it in the vertex influences.

Parameters:
skeleton 
virtual void CS::Mesh::iAnimatedMesh::UnsetObjectBoundingBox (  )  [pure virtual]

Unset the custom bounding box of this animated mesh.

It will now be again computed and updated automatically. At the inverse, using iObjectModel::SetObjectBoundingBox() on this mesh will force a given box to be used.


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

Generated for Crystal Space 2.1 by doxygen 1.6.1