Loading...
Searching...
No Matches
irr::scene::ISkinnedMesh Class Referenceabstract

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

`#include <ISkinnedMesh.h>`

Inheritance diagram for irr::scene::ISkinnedMesh:

## 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.
Public Member Functions inherited from irr::scene::IAnimatedMesh
virtual f32 | getAnimationSpeed () const =0
| Gets the animation speed of the animated mesh.
virtual u32 | getFrameCount () const =0
| Gets the frame count of the animated mesh.
virtual IMesh * | getMesh (s32 frame, s32 detailLevel=255, s32 startFrameLoop=-1, s32 endFrameLoop=-1)=0
| Returns the IMesh interface for a frame.
virtual E_ANIMATED_MESH_TYPE | getMeshType () const
| Returns the type of the animated mesh.
virtual void | setAnimationSpeed (f32 fps)=0
| Sets the animation speed of the animated mesh.
Public Member Functions inherited from irr::scene::IMesh
virtual const core::aabbox3d< f32 > & | getBoundingBox () const =0
| Get an axis aligned bounding box of the mesh.
virtual IMeshBuffer * | getMeshBuffer (const video::SMaterial &material) const =0
| Get pointer to a mesh buffer which fits a material.
virtual IMeshBuffer * | getMeshBuffer (u32 nr) const =0
| Get pointer to a mesh buffer.
virtual u32 | getMeshBufferCount () const =0
| Get the amount of mesh buffers.
virtual void | setBoundingBox (const core::aabbox3df &box)=0
| Set user-defined axis aligned bounding box.
virtual void | setDirty (E_BUFFER_TYPE buffer=EBT_VERTEX_AND_INDEX)=0
| Flag the meshbuffer as changed, reloads hardware buffers.
virtual void | setHardwareMappingHint (E_HARDWARE_MAPPING newMappingHint, E_BUFFER_TYPE buffer=EBT_VERTEX_AND_INDEX)=0
| Set the hardware mapping hint.
virtual void | setMaterialFlag (video::E_MATERIAL_FLAG flag, bool newvalue)=0
| Sets a flag of all contained materials to a new value.
Public Member Functions inherited from irr::IReferenceCounted
| IReferenceCounted ()
| Constructor.
virtual | ~IReferenceCounted ()
| Destructor.
bool | drop () const
| Drops the object. Decrements the reference counter by one.
const c8 * | getDebugName () const
| Returns the debug name of the object.
s32 | getReferenceCount () const
| Get the reference count.
void | grab () const
| Grabs the object. Increments the reference counter by one.

## Additional Inherited Members

Protected Member Functions inherited from irr::IReferenceCounted
void | setDebugName (const c8 *newName)
| Sets the debug name of the object.

## Detailed Description

Interface for using some special functions of Skinned meshes.

Definition at line 32 of file ISkinnedMesh.h.

## Member Function Documentation

## addJoint()

virtual SJoint * irr::scene::ISkinnedMesh::addJoint | ( | SJoint * | parent = 0 | ) |

pure virtual

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

## addMeshBuffer()

virtual SSkinMeshBuffer * irr::scene::ISkinnedMesh::addMeshBuffer | ( |  | ) |

pure virtual

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

## addPositionKey()

virtual SPositionKey * irr::scene::ISkinnedMesh::addPositionKey | ( | SJoint * | joint | ) |

pure virtual

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

## addRotationKey()

virtual SRotationKey * irr::scene::ISkinnedMesh::addRotationKey | ( | SJoint * | joint | ) |

pure virtual

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

## addScaleKey()

virtual SScaleKey * irr::scene::ISkinnedMesh::addScaleKey | ( | SJoint * | joint | ) |

pure virtual

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

## addWeight()

virtual SWeight * irr::scene::ISkinnedMesh::addWeight | ( | SJoint * | joint | ) |

pure virtual

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

## animateMesh()

virtual void irr::scene::ISkinnedMesh::animateMesh | ( | f32 | frame,
|  | f32 | blend )

pure virtual

Animates this mesh's joints based on frame input.

## convertMeshToTangents()

virtual void irr::scene::ISkinnedMesh::convertMeshToTangents | ( |  | ) |

pure virtual

converts the vertex type of all meshbuffers to tangents.

E.g. used for bump mapping.

## finalize()

virtual void irr::scene::ISkinnedMesh::finalize | ( |  | ) |

pure virtual

loaders should call this after populating the mesh

## getAllJoints() [1/2]

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

pure virtual

exposed for loaders: joints list

## getAllJoints() [2/2]

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

pure virtual

exposed for loaders: joints list

## getJointCount()

virtual u32 irr::scene::ISkinnedMesh::getJointCount | ( |  | ) | const

pure virtual

Gets joint count.

Returns
  Amount of joints in the skeletal animated mesh.

## getJointName()

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.

## getJointNumber()

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.

## getMeshBuffers()

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

pure virtual

exposed for loaders: to add mesh buffers

## isStatic()

virtual bool irr::scene::ISkinnedMesh::isStatic | ( |  | ) |

pure virtual

Check if the mesh is non-animated.

## setHardwareSkinning()

virtual bool irr::scene::ISkinnedMesh::setHardwareSkinning | ( | bool | on | ) |

pure virtual

Allows to enable hardware skinning.

## setInterpolationMode()

virtual void irr::scene::ISkinnedMesh::setInterpolationMode | ( | E_INTERPOLATION_MODE | mode | ) |

pure virtual

Sets Interpolation Mode.

## skinMesh()

virtual void irr::scene::ISkinnedMesh::skinMesh | ( |  | ) |

pure virtual

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

## updateNormalsWhenAnimating()

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.

## useAnimationFrom()

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

- Irrlicht Engine Documentation © 2003-2012 by Nikolaus Gebhardt. Generated on for Irrlicht 3D Engine by Doxygen 1.15.0