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

Interface for an animated mesh. More...

`#include <IAnimatedMesh.h>`

Inheritance diagram for irr::scene::IAnimatedMesh:

## Public Member Functions

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 an animated mesh.

There are already simple implementations of this interface available so you don't have to implement this interface on your own if you need to: You might want to use irr::scene::SAnimatedMesh, irr::scene::SMesh, irr::scene::SMeshBuffer etc.

Definition at line 62 of file IAnimatedMesh.h.

## Member Function Documentation

## getAnimationSpeed()

virtual f32 irr::scene::IAnimatedMesh::getAnimationSpeed | ( |  | ) | const

pure virtual

Gets the animation speed of the animated mesh.

Returns
  The number of frames per second to play the animation with by default. If the amount is 0, it is a static, non animated mesh.

Implemented in irr::scene::SAnimatedMesh.

## getFrameCount()

virtual u32 irr::scene::IAnimatedMesh::getFrameCount | ( |  | ) | const

pure virtual

Gets the frame count of the animated mesh.

Returns
  The amount of frames. If the amount is 1, it is a static, non animated mesh.

Implemented in irr::scene::SAnimatedMesh.

## getMesh()

virtual IMesh * irr::scene::IAnimatedMesh::getMesh | ( | s32 | frame,
|  | s32 | detailLevel = 255,
|  | s32 | startFrameLoop = -1,
|  | s32 | endFrameLoop = -1 )

pure virtual

Returns the IMesh interface for a frame.

Parameters

  frame | Frame number as zero based index. The maximum frame number is getFrameCount() - 1;
  detailLevel | Level of detail. 0 is the lowest, 255 the highest level of detail. Most meshes will ignore the detail level.
  startFrameLoop | Because some animated meshes (.MD2) are blended between 2 static frames, and maybe animated in a loop, the startFrameLoop and the endFrameLoop have to be defined, to prevent the animation to be blended between frames which are outside of this loop. If startFrameLoop and endFrameLoop are both -1, they are ignored.
  endFrameLoop | see startFrameLoop.

Returns
  Returns the animated mesh based on a detail level.

Implemented in irr::scene::SAnimatedMesh.

## getMeshType()

virtual E_ANIMATED_MESH_TYPE irr::scene::IAnimatedMesh::getMeshType | ( |  | ) | const

inline virtual

Returns the type of the animated mesh.

In most cases it is not neccessary to use this method. This is useful for making a safe downcast. For example, if getMeshType() returns EAMT_MD2 it's safe to cast the IAnimatedMesh to IAnimatedMeshMD2.

Returns
  Type of the mesh.

Reimplemented in irr::scene::SAnimatedMesh.

Definition at line 105 of file IAnimatedMesh.h.

References irr::scene::EAMT_UNKNOWN.

## setAnimationSpeed()

virtual void irr::scene::IAnimatedMesh::setAnimationSpeed | ( | f32 | fps | ) |

pure virtual

Sets the animation speed of the animated mesh.

Parameters

  fps | Number of frames per second to play the animation with by default. If the amount is 0, it is not animated. The actual speed is set in the scene node the mesh is instantiated in.

Implemented in irr::scene::SAnimatedMesh.

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

- IAnimatedMesh.h

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