| Irrlicht 3D Engine |

Public Member Functions | Public Attributes
irr::scene::SMesh Struct Reference

Simple implementation of the IMesh interface. More...

`#include <SMesh.h>`

Inheritance diagram for irr::scene::SMesh:

List of all members.

## Public Member Functions

- SMesh ()
    constructor
- virtual ~SMesh ()
    destructor
- void addMeshBuffer (IMeshBuffer *buf)
    adds a MeshBuffer
- virtual void clear ()
    clean mesh
- virtual const core::aabbox3d
  < f32 > & getBoundingBox () const
    returns an axis aligned bounding box
- virtual IMeshBuffer * getMeshBuffer (u32 nr) const
    returns pointer to a mesh buffer
- virtual IMeshBuffer * getMeshBuffer (const video::SMaterial &material) const
    returns a meshbuffer which fits a material
- virtual u32 getMeshBufferCount () const
    returns amount of mesh buffers.
- void recalculateBoundingBox ()
    recalculates the bounding box
- 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)
    sets a flag of all contained materials to a new value

## Public Attributes

- core::aabbox3d< f32 > BoundingBox
    The bounding box of this mesh.
- core::array< IMeshBuffer * > MeshBuffers
    The meshbuffers of this mesh.

## Detailed Description

Simple implementation of the IMesh interface.

Definition at line 18 of file SMesh.h.

## Constructor & Destructor Documentation

irr::scene::SMesh::SMesh | ( |  | ) | `[inline]`

constructor

Definition at line 21 of file SMesh.h.

References irr::IReferenceCounted::setDebugName().

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

destructor

Definition at line 29 of file SMesh.h.

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

## Member Function Documentation

void irr::scene::SMesh::addMeshBuffer | ( | IMeshBuffer * | buf | ) | `[inline]`

adds a MeshBuffer

The bounding box is not updated automatically.

Definition at line 98 of file SMesh.h.

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

virtual void irr::scene::SMesh::clear | ( |  | ) | `[inline, virtual]`

clean mesh

Definition at line 37 of file SMesh.h.

References BoundingBox, irr::core::array< T, TAlloc >::clear(), irr::IReferenceCounted::drop(), MeshBuffers, irr::core::aabbox3d< T >::reset(), and irr::core::array< T, TAlloc >::size().

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

returns an axis aligned bounding box

Implements irr::scene::IMesh.

Definition at line 72 of file SMesh.h.

References BoundingBox.

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

returns pointer to a mesh buffer

Implements irr::scene::IMesh.

Definition at line 53 of file SMesh.h.

References MeshBuffers.

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

returns a meshbuffer which fits a material

reverse search

Implements irr::scene::IMesh.

Definition at line 60 of file SMesh.h.

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

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

returns amount of mesh buffers.

Implements irr::scene::IMesh.

Definition at line 47 of file SMesh.h.

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

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

recalculates the bounding box

Definition at line 84 of file SMesh.h.

References irr::core::aabbox3d< T >::addInternalBox(), BoundingBox, MeshBuffers, irr::core::aabbox3d< T >::reset(), and irr::core::array< T, TAlloc >::size().

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

set user axis aligned bounding box

Implements irr::scene::IMesh.

Definition at line 78 of file SMesh.h.

References BoundingBox.

virtual void irr::scene::SMesh::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 122 of file SMesh.h.

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

virtual void irr::scene::SMesh::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 115 of file SMesh.h.

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

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

sets a flag of all contained materials to a new value

Implements irr::scene::IMesh.

Definition at line 108 of file SMesh.h.

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

## Member Data Documentation

core::aabbox3d<f32> irr::scene::SMesh::BoundingBox

The bounding box of this mesh.

Definition at line 132 of file SMesh.h.

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

core::array<IMeshBuffer*> irr::scene::SMesh::MeshBuffers

The meshbuffers of this mesh.

Definition at line 129 of file SMesh.h.

Referenced by addMeshBuffer(), clear(), getMeshBuffer(), getMeshBufferCount(), recalculateBoundingBox(), setDirty(), setHardwareMappingHint(), setMaterialFlag(), and ~SMesh().

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

- SMesh.h