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

irr::scene::CMeshBuffer< T > Class Template Reference

Template implementation of the IMeshBuffer interface. More...

#include <CMeshBuffer.h>

Inheritance diagram for irr::scene::CMeshBuffer< T >:

irr::scene::IMeshBuffer irr::IReferenceCounted List of all members.

Public Member Functions

virtual void append (const IMeshBuffer *const other)
 Append the meshbuffer to the current buffer.
virtual void append (const void *const vertices, u32 numVertices, const u16 *const indices, u32 numIndices)
 Append the vertices and indices to the current buffer.
 CMeshBuffer ()
 Default constructor for empty meshbuffer.
virtual const core::aabbox3d<
f32 > & 
getBoundingBox () const
 Get the axis aligned bounding box.
virtual u32 getIndexCount () const
 Get number of indices.
virtual u16getIndices ()
 Get pointer to indices.
virtual const u16getIndices () const
 Get pointer to indices.
virtual video::SMaterialgetMaterial ()
 Get material of this meshbuffer.
virtual const video::SMaterialgetMaterial () const
 Get material of this meshbuffer.
virtual u32 getVertexCount () const
 Get number of vertices.
virtual video::E_VERTEX_TYPE getVertexType () const
 Get type of vertex data stored in this buffer.
virtual void * getVertices ()
 Get pointer to vertices.
virtual const void * getVertices () const
 Get pointer to vertices.
virtual void recalculateBoundingBox ()
 Recalculate the bounding box.
virtual void setBoundingBox (const core::aabbox3df &box)
 set user axis aligned bounding box

Public Attributes

core::aabbox3d< f32BoundingBox
 Bounding box of this meshbuffer.
core::array< u16Indices
 Indices into the vertices of this buffer.
video::SMaterial Material
 Material for this meshbuffer.
core::array< T > Vertices
 Vertices of this buffer.

Detailed Description

template<class T>
class irr::scene::CMeshBuffer< T >

Template implementation of the IMeshBuffer interface.

Definition at line 17 of file CMeshBuffer.h.


Constructor & Destructor Documentation

template<class T>
irr::scene::CMeshBuffer< T >::CMeshBuffer  )  [inline]
 

Default constructor for empty meshbuffer.

Definition at line 21 of file CMeshBuffer.h.

References irr::IReferenceCounted::setDebugName().


Member Function Documentation

template<class T>
virtual void irr::scene::CMeshBuffer< T >::append const IMeshBuffer *const   other  )  [inline, virtual]
 

Append the meshbuffer to the current buffer.

Only works for compatible types, i.e. either the same type or the main buffer is of standard type. Otherwise, behavior is undefined.

Parameters:
other Meshbuffer to be appended to this one.

Implements irr::scene::IMeshBuffer.

Definition at line 167 of file CMeshBuffer.h.

References irr::core::aabbox3d< T >::addInternalBox(), irr::scene::CMeshBuffer< T >::BoundingBox, irr::scene::CMeshBuffer< T >::getIndexCount(), irr::scene::CMeshBuffer< T >::getVertexCount(), irr::scene::CMeshBuffer< T >::Indices, irr::core::array< T, TAlloc >::push_back(), irr::core::array< T, TAlloc >::reallocate(), and irr::scene::CMeshBuffer< T >::Vertices.

template<class T>
virtual void irr::scene::CMeshBuffer< T >::append const void *const   vertices,
u32  numVertices,
const u16 *const   indices,
u32  numIndices
[inline, virtual]
 

Append the vertices and indices to the current buffer.

Only works for compatible types, i.e. either the same type or the main buffer is of standard type. Otherwise, behavior is undefined.

Implements irr::scene::IMeshBuffer.

Definition at line 138 of file CMeshBuffer.h.

References irr::core::aabbox3d< T >::addInternalPoint(), irr::scene::CMeshBuffer< T >::BoundingBox, irr::scene::CMeshBuffer< T >::getIndexCount(), irr::scene::CMeshBuffer< T >::getVertexCount(), irr::scene::CMeshBuffer< T >::getVertices(), irr::scene::CMeshBuffer< T >::Indices, irr::core::array< T, TAlloc >::push_back(), irr::core::array< T, TAlloc >::reallocate(), and irr::scene::CMeshBuffer< T >::Vertices.

template<class T>
virtual const core::aabbox3d<f32>& irr::scene::CMeshBuffer< T >::getBoundingBox  )  const [inline, virtual]
 

Get the axis aligned bounding box.

Returns:
Axis aligned bounding box of this buffer.

Implements irr::scene::IMeshBuffer.

Definition at line 95 of file CMeshBuffer.h.

References irr::scene::CMeshBuffer< T >::BoundingBox.

template<class T>
virtual u32 irr::scene::CMeshBuffer< T >::getIndexCount  )  const [inline, virtual]
 

Get number of indices.

Returns:
Number of indices.

Implements irr::scene::IMeshBuffer.

Definition at line 87 of file CMeshBuffer.h.

References irr::scene::CMeshBuffer< T >::Indices, and irr::core::array< T, TAlloc >::size().

Referenced by irr::scene::CMeshBuffer< T >::append().

template<class T>
virtual u16* irr::scene::CMeshBuffer< T >::getIndices  )  [inline, virtual]
 

Get pointer to indices.

Returns:
Pointer to indices.

Implements irr::scene::IMeshBuffer.

Definition at line 79 of file CMeshBuffer.h.

References irr::scene::CMeshBuffer< T >::Indices, and irr::core::array< T, TAlloc >::pointer().

template<class T>
virtual const u16* irr::scene::CMeshBuffer< T >::getIndices  )  const [inline, virtual]
 

Get pointer to indices.

Returns:
Pointer to indices.

Implements irr::scene::IMeshBuffer.

Definition at line 71 of file CMeshBuffer.h.

References irr::core::array< T, TAlloc >::const_pointer(), and irr::scene::CMeshBuffer< T >::Indices.

template<class T>
virtual video::SMaterial& irr::scene::CMeshBuffer< T >::getMaterial  )  [inline, virtual]
 

Get material of this meshbuffer.

Returns:
Material of this buffer

Implements irr::scene::IMeshBuffer.

Definition at line 39 of file CMeshBuffer.h.

References irr::scene::CMeshBuffer< T >::Material.

template<class T>
virtual const video::SMaterial& irr::scene::CMeshBuffer< T >::getMaterial  )  const [inline, virtual]
 

Get material of this meshbuffer.

Returns:
Material of this buffer

Implements irr::scene::IMeshBuffer.

Definition at line 31 of file CMeshBuffer.h.

References irr::scene::CMeshBuffer< T >::Material.

template<class T>
virtual u32 irr::scene::CMeshBuffer< T >::getVertexCount  )  const [inline, virtual]
 

Get number of vertices.

Returns:
Number of vertices.

Implements irr::scene::IMeshBuffer.

Definition at line 63 of file CMeshBuffer.h.

References irr::core::array< T, TAlloc >::size(), and irr::scene::CMeshBuffer< T >::Vertices.

Referenced by irr::scene::CMeshBuffer< T >::append().

template<class T>
virtual video::E_VERTEX_TYPE irr::scene::CMeshBuffer< T >::getVertexType  )  const [inline, virtual]
 

Get type of vertex data stored in this buffer.

Returns:
Type of vertex data.

Implements irr::scene::IMeshBuffer.

Definition at line 127 of file CMeshBuffer.h.

template<class T>
virtual void* irr::scene::CMeshBuffer< T >::getVertices  )  [inline, virtual]
 

Get pointer to vertices.

Returns:
Pointer to vertices.

Implements irr::scene::IMeshBuffer.

Definition at line 55 of file CMeshBuffer.h.

References irr::core::array< T, TAlloc >::pointer(), and irr::scene::CMeshBuffer< T >::Vertices.

template<class T>
virtual const void* irr::scene::CMeshBuffer< T >::getVertices  )  const [inline, virtual]
 

Get pointer to vertices.

Returns:
Pointer to vertices.

Implements irr::scene::IMeshBuffer.

Definition at line 47 of file CMeshBuffer.h.

References irr::core::array< T, TAlloc >::const_pointer(), and irr::scene::CMeshBuffer< T >::Vertices.

Referenced by irr::scene::CMeshBuffer< T >::append().

template<class T>
virtual void irr::scene::CMeshBuffer< T >::recalculateBoundingBox  )  [inline, virtual]
 

Recalculate the bounding box.

should be called if the mesh changed.

Implements irr::scene::IMeshBuffer.

Definition at line 112 of file CMeshBuffer.h.

References irr::core::aabbox3d< T >::addInternalPoint(), irr::scene::CMeshBuffer< T >::BoundingBox, irr::core::array< T, TAlloc >::empty(), irr::core::aabbox3d< T >::reset(), irr::core::array< T, TAlloc >::size(), and irr::scene::CMeshBuffer< T >::Vertices.

template<class T>
virtual void irr::scene::CMeshBuffer< T >::setBoundingBox const core::aabbox3df box  )  [inline, virtual]
 

set user axis aligned bounding box

Parameters:
box New axis aligned bounding box for this buffer.

Implements irr::scene::IMeshBuffer.

Definition at line 104 of file CMeshBuffer.h.

References irr::scene::CMeshBuffer< T >::BoundingBox.


Member Data Documentation

template<class T>
core::aabbox3d<f32> irr::scene::CMeshBuffer< T >::BoundingBox
 

Bounding box of this meshbuffer.

Definition at line 196 of file CMeshBuffer.h.

Referenced by irr::scene::CMeshBuffer< T >::append(), irr::scene::CMeshBuffer< T >::getBoundingBox(), irr::scene::CMeshBuffer< T >::recalculateBoundingBox(), and irr::scene::CMeshBuffer< T >::setBoundingBox().

template<class T>
core::array<u16> irr::scene::CMeshBuffer< T >::Indices
 

Indices into the vertices of this buffer.

Definition at line 194 of file CMeshBuffer.h.

Referenced by irr::scene::CMeshBuffer< T >::append(), irr::scene::CMeshBuffer< T >::getIndexCount(), and irr::scene::CMeshBuffer< T >::getIndices().

template<class T>
video::SMaterial irr::scene::CMeshBuffer< T >::Material
 

Material for this meshbuffer.

Definition at line 190 of file CMeshBuffer.h.

Referenced by irr::scene::CMeshBuffer< T >::getMaterial().

template<class T>
core::array<T> irr::scene::CMeshBuffer< T >::Vertices
 

Vertices of this buffer.

Definition at line 192 of file CMeshBuffer.h.

Referenced by irr::scene::CMeshBuffer< T >::append(), irr::scene::CMeshBuffer< T >::getVertexCount(), irr::scene::CMeshBuffer< T >::getVertices(), and irr::scene::CMeshBuffer< T >::recalculateBoundingBox().


The documentation for this class was generated from the following file:
The Irrlicht Engine
The Irrlicht Engine Documentation © 2003-2008 by Nikolaus Gebhardt. Generated on Sun Jun 1 07:59:17 2008 by Doxygen (1.4.2)