Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials

# irr::scene::ISkinnedMesh Class Reference

Interface for using some special functions of Skinned meshes. More...

`#include <ISkinnedMesh.h>`

Inheritance diagram for irr::scene::ISkinnedMesh:

List of all members.

## Classes
struct | SJoint
| Joints. More...
struct | SPositionKey
| Animation keyframe which describes a new position. More...
struct | SRotationKey
| Animation keyframe which describes a new rotation. More...
struct | SScaleKey
| Animation keyframe which describes a new scale. More...
struct | SWeight
| A vertex weight. More...
## Public Member Functions
virtual SJoint * | addJoint (SJoint *parent=0)=0
| Adds a new joint to the mesh, access it as last one.
virtual SSkinMeshBuffer * | addMeshBuffer ()=0
| Adds a new meshbuffer to the mesh, access it as last one.
virtual SPositionKey * | addPositionKey (SJoint *joint)=0
| Adds a new position key to the mesh, access it as last one.
virtual SRotationKey * | addRotationKey (SJoint *joint)=0
| Adds a new rotation key to the mesh, access it as last one.
virtual SScaleKey * | addScaleKey (SJoint *joint)=0
| Adds a new scale key to the mesh, access it as last one.
virtual SWeight * | addWeight (SJoint *joint)=0
| Adds a new weight to the mesh, access it as last one.
virtual void | animateMesh (f32 frame, f32 blend)=0
| Animates this mesh's joints based on frame input.
virtual void | convertMeshToTangents ()=0
| converts the vertex type of all meshbuffers to tangents.
virtual void | finalize ()=0
| loaders should call this after populating the mesh
virtual const core::array < SJoint * > & | getAllJoints () const =0
| exposed for loaders: joints list
virtual core::array< SJoint * > & | getAllJoints ()=0
| exposed for loaders: joints list
virtual u32 | getJointCount () const =0
| Gets joint count.
virtual const c8 * | getJointName (u32 number) const =0
| Gets the name of a joint.
virtual s32 | getJointNumber (const c8 *name) const =0
| Gets a joint number from its name.
virtual core::array < SSkinMeshBuffer * > & | getMeshBuffers ()=0
| exposed for loaders: to add mesh buffers
virtual bool | isStatic ()=0
| Check if the mesh is non-animated.
virtual bool | setHardwareSkinning (bool on)=0
| Allows to enable hardware skinning.
virtual void | setInterpolationMode (E_INTERPOLATION_MODE mode)=0
| Sets Interpolation Mode.
virtual void | skinMesh ()=0
| Preforms a software skin on this mesh based of joint positions.
virtual void | updateNormalsWhenAnimating (bool on)=0
| Update Normals when Animating.
virtual bool | useAnimationFrom (const ISkinnedMesh *mesh)=0
| Use animation from another mesh.

## Detailed Description

Interface for using some special functions of Skinned meshes.

Definition at line 32 of file ISkinnedMesh.h.

## Member Function Documentation

virtual SJoint* irr::scene::ISkinnedMesh::addJoint | ( | SJoint * | parent = `0` | ) | `[pure virtual]`

Adds a new joint to the mesh, access it as last one.

virtual SSkinMeshBuffer* irr::scene::ISkinnedMesh::addMeshBuffer | ( |  | ) | `[pure virtual]`

Adds a new meshbuffer to the mesh, access it as last one.

virtual SPositionKey* irr::scene::ISkinnedMesh::addPositionKey | ( | SJoint * | joint | ) | `[pure virtual]`

Adds a new position key to the mesh, access it as last one.

virtual SRotationKey* irr::scene::ISkinnedMesh::addRotationKey | ( | SJoint * | joint | ) | `[pure virtual]`

Adds a new rotation key to the mesh, access it as last one.

virtual SScaleKey* irr::scene::ISkinnedMesh::addScaleKey | ( | SJoint * | joint | ) | `[pure virtual]`

Adds a new scale key to the mesh, access it as last one.

virtual SWeight* irr::scene::ISkinnedMesh::addWeight | ( | SJoint * | joint | ) | `[pure virtual]`

Adds a new weight to the mesh, access it as last one.

virtual void irr::scene::ISkinnedMesh::animateMesh | ( | f32 | frame,
|  | f32 | blend |
| ) |  |  | `[pure virtual]`

Animates this mesh's joints based on frame input.

virtual void irr::scene::ISkinnedMesh::convertMeshToTangents | ( |  | ) | `[pure virtual]`

converts the vertex type of all meshbuffers to tangents.

E.g. used for bump mapping.

virtual void irr::scene::ISkinnedMesh::finalize | ( |  | ) | `[pure virtual]`

loaders should call this after populating the mesh

virtual const core::array<SJoint*>& irr::scene::ISkinnedMesh::getAllJoints | ( |  | ) | const`[pure virtual]`

exposed for loaders: joints list

virtual core::array<SJoint*>& irr::scene::ISkinnedMesh::getAllJoints | ( |  | ) | `[pure virtual]`

exposed for loaders: joints list

virtual u32 irr::scene::ISkinnedMesh::getJointCount | ( |  | ) | const`[pure virtual]`

Gets joint count.

Returns:
  Amount of joints in the skeletal animated mesh.

virtual const c8* irr::scene::ISkinnedMesh::getJointName | ( | u32 | number | ) | const`[pure virtual]`

Gets the name of a joint.

Parameters:

  | number,: | Zero based index of joint. The last joint has the number getJointCount()-1;

Returns:
  Name of joint and null if an error happened.

virtual s32 irr::scene::ISkinnedMesh::getJointNumber | ( | const c8 * | name | ) | const`[pure virtual]`

Gets a joint number from its name.

Parameters:

  | name,: | Name of the joint.

Returns:
  Number of the joint or -1 if not found.

virtual core::array<SSkinMeshBuffer*>& irr::scene::ISkinnedMesh::getMeshBuffers | ( |  | ) | `[pure virtual]`

exposed for loaders: to add mesh buffers

virtual bool irr::scene::ISkinnedMesh::isStatic | ( |  | ) | `[pure virtual]`

Check if the mesh is non-animated.

virtual bool irr::scene::ISkinnedMesh::setHardwareSkinning | ( | bool | on | ) | `[pure virtual]`

Allows to enable hardware skinning.

virtual void irr::scene::ISkinnedMesh::setInterpolationMode | ( | E_INTERPOLATION_MODE | mode | ) | `[pure virtual]`

Sets Interpolation Mode.

virtual void irr::scene::ISkinnedMesh::skinMesh | ( |  | ) | `[pure virtual]`

Preforms a software skin on this mesh based of joint positions.

virtual void irr::scene::ISkinnedMesh::updateNormalsWhenAnimating | ( | bool | on | ) | `[pure virtual]`

Update Normals when Animating.

Parameters:

  | on | If false don't animate, which is faster. Else update normals, which allows for proper lighting of animated meshes.

virtual bool irr::scene::ISkinnedMesh::useAnimationFrom | ( | const ISkinnedMesh * | mesh | ) | `[pure virtual]`

Use animation from another mesh.

The animation is linked (not copied) based on joint names so make sure they are unique.

Returns:
  True if all joints in this mesh were matched up (empty names will not be matched, and it's case sensitive). Unmatched joints will not be animated.

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

- ISkinnedMesh.h

| The Irrlicht Engine Documentation © 2003-2010 by Nikolaus Gebhardt. Generated on Sun Oct 24 12:42:08 2010 by Doxygen (1.6.2)