Irrlicht Engine: irr::scene::SAnimatedMesh Struct Reference

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

# irr::scene::SAnimatedMesh Struct Reference

Simple implementation of the IAnimatedMesh interface. More...

`#include <SAnimatedMesh.h>`

Inheritance diagram for irr::scene::SAnimatedMesh:

List of all members.

## Public Member Functions
void | addMesh (IMesh *mesh)
| adds a Mesh
virtual const core::aabbox3d < f32 > & | getBoundingBox () const
| Returns an axis aligned bounding box of the mesh.
virtual u32 | getFrameCount () const
| Gets the frame count of the animated mesh.
virtual IMesh * | getMesh (s32 frame, s32 detailLevel, s32 startFrameLoop=-1, s32 endFrameLoop=-1)
| Returns the IMesh interface for a frame.
virtual IMeshBuffer * | getMeshBuffer (const video::SMaterial &material) const
| Returns pointer to a mesh buffer which fits a material.
virtual IMeshBuffer * | getMeshBuffer (u32 nr) const
| returns pointer to a mesh buffer
virtual u32 | getMeshBufferCount () const
| returns amount of mesh buffers.
virtual E_ANIMATED_MESH_TYPE | getMeshType () const
| Returns the type of the animated mesh.
void | recalculateBoundingBox ()
| Recalculates the bounding box.
| SAnimatedMesh (scene::IMesh *mesh=0, scene::E_ANIMATED_MESH_TYPE type=scene::EAMT_UNKNOWN)
| constructor
virtual void | setBoundingBox (const core::aabbox3df &box)
| set user axis aligned bounding box
virtual void | setDirty (E_BUFFER_TYPE buffer=EBT_VERTEX_AND_INDEX)
| flags the meshbuffer as changed, reloads hardware buffers
virtual void | setHardwareMappingHint (E_HARDWARE_MAPPING newMappingHint, E_BUFFER_TYPE buffer=EBT_VERTEX_AND_INDEX)
| set the hardware mapping hint, for driver
virtual void | setMaterialFlag (video::E_MATERIAL_FLAG flag, bool newvalue)
| Set a material flag for all meshbuffers of this mesh.
virtual | ~SAnimatedMesh ()
| destructor
## Public Attributes
core::aabbox3d< f32 > | Box
| The bounding box of this mesh.
core::array< IMesh * > | Meshes
| All meshes defining the animated mesh.
E_ANIMATED_MESH_TYPE | Type
| Tyhe type fo the mesh.

## Detailed Description

Simple implementation of the IAnimatedMesh interface.

Definition at line 19 of file SAnimatedMesh.h.

## Constructor & Destructor Documentation

irr::scene::SAnimatedMesh::SAnimatedMesh | ( | scene::IMesh * | mesh = `0`,
|  | scene::E_ANIMATED_MESH_TYPE | type = `scene::EAMT_UNKNOWN` |
| ) |  |  | `[inline]`

constructor

Definition at line 22 of file SAnimatedMesh.h.

References addMesh(), recalculateBoundingBox(), and irr::IReferenceCounted::setDebugName().

virtual irr::scene::SAnimatedMesh::~SAnimatedMesh | ( |  | ) | `[inline, virtual]`

destructor

Definition at line 33 of file SAnimatedMesh.h.

References irr::IReferenceCounted::drop(), Meshes, and irr::core::array< T, TAlloc >::size().

## Member Function Documentation

void irr::scene::SAnimatedMesh::addMesh | ( | IMesh * | mesh | ) | `[inline]`

adds a Mesh

Definition at line 67 of file SAnimatedMesh.h.

References irr::IReferenceCounted::grab(), Meshes, and irr::core::array< T, TAlloc >::push_back().

Referenced by SAnimatedMesh().

virtual const core::aabbox3d<f32>& irr::scene::SAnimatedMesh::getBoundingBox | ( |  | ) | const`[inline, virtual]`

Returns an axis aligned bounding box of the mesh.

Returns:
  A bounding box of this mesh is returned.

Implements irr::scene::IMesh.

Definition at line 79 of file SAnimatedMesh.h.

References Box.

virtual u32 irr::scene::SAnimatedMesh::getFrameCount | ( |  | ) | const`[inline, virtual]`

Gets the frame count of the animated mesh.

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

Implements irr::scene::IAnimatedMesh.

Definition at line 43 of file SAnimatedMesh.h.

References Meshes, and irr::core::array< T, TAlloc >::size().

virtual IMesh* irr::scene::SAnimatedMesh::getMesh | ( | s32 | frame,
|  | s32 | detailLevel,
|  | s32 | startFrameLoop = `-1`,
|  | s32 | endFrameLoop = `-1` |
| ) |  |  | `[inline, 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,: | start frame
  | endFrameLoop,: | end frame

Returns:
  The animated mesh based on a detail level.

Implements irr::scene::IAnimatedMesh.

Definition at line 57 of file SAnimatedMesh.h.

References irr::core::array< T, TAlloc >::empty(), and Meshes.

virtual IMeshBuffer* irr::scene::SAnimatedMesh::getMeshBuffer | ( | const video::SMaterial & | material | ) | const`[inline, virtual]`

Returns pointer to a mesh buffer which fits a material.

Parameters:

  | material,: | material to search for

Returns:
  Returns the pointer to the mesh buffer or NULL if there is no such mesh buffer.

Implements irr::scene::IMesh.

Definition at line 137 of file SAnimatedMesh.h.

References irr::core::array< T, TAlloc >::empty(), and Meshes.

virtual IMeshBuffer* irr::scene::SAnimatedMesh::getMeshBuffer | ( | u32 | nr | ) | const`[inline, virtual]`

returns pointer to a mesh buffer

Implements irr::scene::IMesh.

Definition at line 124 of file SAnimatedMesh.h.

References irr::core::array< T, TAlloc >::empty(), and Meshes.

virtual u32 irr::scene::SAnimatedMesh::getMeshBufferCount | ( |  | ) | const`[inline, virtual]`

returns amount of mesh buffers.

Implements irr::scene::IMesh.

Definition at line 114 of file SAnimatedMesh.h.

References irr::core::array< T, TAlloc >::empty(), and Meshes.

virtual E_ANIMATED_MESH_TYPE irr::scene::SAnimatedMesh::getMeshType | ( |  | ) | const`[inline, virtual]`

Returns the type of the animated mesh.

Reimplemented from irr::scene::IAnimatedMesh.

Definition at line 107 of file SAnimatedMesh.h.

References Type.

void irr::scene::SAnimatedMesh::recalculateBoundingBox | ( |  | ) | `[inline]`

Recalculates the bounding box.

Definition at line 92 of file SAnimatedMesh.h.

References irr::core::aabbox3d< T >::addInternalBox(), Box, irr::core::array< T, TAlloc >::empty(), Meshes, irr::core::aabbox3d< T >::reset(), and irr::core::array< T, TAlloc >::size().

Referenced by SAnimatedMesh().

virtual void irr::scene::SAnimatedMesh::setBoundingBox | ( | const core::aabbox3df & | box | ) | `[inline, virtual]`

set user axis aligned bounding box

Implements irr::scene::IMesh.

Definition at line 86 of file SAnimatedMesh.h.

References Box.

virtual void irr::scene::SAnimatedMesh::setDirty | ( | E_BUFFER_TYPE | buffer = `EBT_VERTEX_AND_INDEX` | ) | `[inline, virtual]`

flags the meshbuffer as changed, reloads hardware buffers

Implements irr::scene::IMesh.

Definition at line 161 of file SAnimatedMesh.h.

References Meshes, and irr::core::array< T, TAlloc >::size().

virtual void irr::scene::SAnimatedMesh::setHardwareMappingHint | ( | E_HARDWARE_MAPPING | newMappingHint,
|  | E_BUFFER_TYPE | buffer = `EBT_VERTEX_AND_INDEX` |
| ) |  |  | `[inline, virtual]`

set the hardware mapping hint, for driver

Implements irr::scene::IMesh.

Definition at line 154 of file SAnimatedMesh.h.

References Meshes, and irr::core::array< T, TAlloc >::size().

virtual void irr::scene::SAnimatedMesh::setMaterialFlag | ( | video::E_MATERIAL_FLAG | flag,
|  | bool | newvalue |
| ) |  |  | `[inline, virtual]`

Set a material flag for all meshbuffers of this mesh.

Implements irr::scene::IMesh.

Definition at line 147 of file SAnimatedMesh.h.

References Meshes, and irr::core::array< T, TAlloc >::size().

## Member Data Documentation

core::aabbox3d<f32> irr::scene::SAnimatedMesh::Box

The bounding box of this mesh.

Definition at line 171 of file SAnimatedMesh.h.

Referenced by getBoundingBox(), recalculateBoundingBox(), and setBoundingBox().

core::array<IMesh*> irr::scene::SAnimatedMesh::Meshes

All meshes defining the animated mesh.

Definition at line 168 of file SAnimatedMesh.h.

Referenced by addMesh(), getFrameCount(), getMesh(), getMeshBuffer(), getMeshBufferCount(), recalculateBoundingBox(), setDirty(), setHardwareMappingHint(), setMaterialFlag(), and ~SAnimatedMesh().

E_ANIMATED_MESH_TYPE irr::scene::SAnimatedMesh::Type

Tyhe type fo the mesh.

Definition at line 174 of file SAnimatedMesh.h.

Referenced by getMeshType().

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

- SAnimatedMesh.h

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