CS::Mesh::iAnimatedMesh 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::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 iAnimatedMeshFactory * | GetAnimatedMeshFactory () const =0
| Convenient accessor method for the CS::Mesh::iAnimatedMeshFactory of this animesh.
virtual const csBox3 & | GetBoneBoundingBox (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 iRenderBufferAccessor * | GetRenderBufferAccessor () const =0
| Get the render buffer accessor of this mesh.
virtual CS::Animation::iSkeleton * | GetSkeleton () const =0
| Get the skeleton to use for this mesh.
virtual iAnimatedMeshSubMesh * | GetSubMesh (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 size_t | GetSocketCount () const =0
| Get the number of sockets in the factory.
virtual iAnimatedMeshSocket * | GetSocket (size_t index) const =0
| Get a specific socket instance.

## 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 624 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:

- imesh/animesh.h