Nirtcpp 2.1.0
Nirtcpp is a high-performance c++ graphics engine.
|
Template implementation of the IMeshBuffer interface for 16-bit buffers. More...
#include <nirtcpp/core/engine/CMeshBuffer.hpp>
Public Member Functions | |
CMeshBuffer () | |
Default constructor for empty meshbuffer. | |
virtual const video::SMaterial & | getMaterial () const override |
Get material of this meshbuffer. | |
virtual video::SMaterial & | getMaterial () override |
Get material of this meshbuffer. | |
virtual const void * | getVertices () const override |
Get pointer to vertices. | |
virtual void * | getVertices () override |
Get pointer to vertices. | |
virtual u32 | getVertexCount () const override |
Get number of vertices. | |
virtual video::E_INDEX_TYPE | getIndexType () const override |
Get type of index data which is stored in this meshbuffer. | |
virtual const u16 * | getIndices () const override |
Get pointer to indices. | |
virtual u16 * | getIndices () override |
Get pointer to indices. | |
virtual u32 | getIndexCount () const override |
Get number of indices. | |
virtual const core::aabbox3d< f32 > & | getBoundingBox () const override |
Get the axis aligned bounding box. | |
virtual void | setBoundingBox (const core::aabbox3df &box) override |
Set the axis aligned bounding box. | |
virtual void | recalculateBoundingBox () override |
Recalculate the bounding box. | |
virtual video::E_VERTEX_TYPE | getVertexType () const override |
Get type of vertex data stored in this buffer. | |
virtual const core::vector3df & | getPosition (u32 i) const override |
returns position of vertex i | |
virtual core::vector3df & | getPosition (u32 i) override |
returns position of vertex i | |
virtual const core::vector3df & | getNormal (u32 i) const override |
returns normal of vertex i | |
virtual core::vector3df & | getNormal (u32 i) override |
returns normal of vertex i | |
virtual const core::vector2df & | getTCoords (u32 i) const override |
returns texture coord of vertex i | |
virtual core::vector2df & | getTCoords (u32 i) override |
returns texture coord of vertex i | |
virtual video::SColor & | getColor (u32 i) override |
returns color of vertex i | |
virtual const video::SColor & | getColor (u32 i) const override |
returns color of vertex i | |
virtual void | append (const void *const vertices, u32 numVertices, const u16 *const indices, u32 numIndices) override |
Append the vertices and indices to the current buffer. | |
virtual void | append (const IMeshBuffer *const other) override |
Append the meshbuffer to the current buffer. | |
virtual E_HARDWARE_MAPPING | getHardwareMappingHint_Vertex () const override |
get the current hardware mapping hint | |
virtual E_HARDWARE_MAPPING | getHardwareMappingHint_Index () const override |
get the current hardware mapping hint | |
virtual void | setHardwareMappingHint (E_HARDWARE_MAPPING NewMappingHint, E_BUFFER_TYPE Buffer=EBT_VERTEX_AND_INDEX) override |
set the hardware mapping hint, for driver | |
virtual void | setPrimitiveType (E_PRIMITIVE_TYPE type) override |
Describe what kind of primitive geometry is used by the meshbuffer. | |
virtual E_PRIMITIVE_TYPE | getPrimitiveType () const override |
Get the kind of primitive geometry which is used by the meshbuffer. | |
virtual void | setDirty (E_BUFFER_TYPE Buffer=EBT_VERTEX_AND_INDEX) override |
flags the mesh as changed, reloads hardware buffers | |
virtual u32 | getChangedID_Vertex () const override |
Get the currently used ID for identification of changes. | |
virtual u32 | getChangedID_Index () const override |
Get the currently used ID for identification of changes. | |
virtual EMESH_BUFFER_TYPE | getType () const override |
Returns type of the class implementing the IMeshBuffer. | |
virtual IMeshBuffer * | createClone (int cloneFlags) const override |
Create copy of the meshbuffer. | |
EMESH_BUFFER_TYPE | getTypeT () const |
Returns type of the class implementing the IMeshBuffer for template specialization. | |
EMESH_BUFFER_TYPE | getTypeT () const |
partial specialization to return types | |
EMESH_BUFFER_TYPE | getTypeT () const |
EMESH_BUFFER_TYPE | getTypeT () const |
Public Member Functions inherited from nirt::scene::IMeshBuffer | |
virtual u32 | getPrimitiveCount () const |
Calculate how many geometric primitives are used by this meshbuffer. | |
Public Member Functions inherited from nirt::IReferenceCounted | |
IReferenceCounted () | |
Constructor. | |
virtual | ~IReferenceCounted () |
Destructor. | |
void | grab () const |
Grabs the object. Increments the reference counter by one. | |
bool | drop () const |
Drops the object. Decrements the reference counter by one. | |
s32 | getReferenceCount () const |
Get the reference count. | |
const c8 * | getDebugName () const |
Returns the debug name of the object. | |
Public Attributes | |
u32 | ChangedID_Vertex |
u32 | ChangedID_Index |
E_HARDWARE_MAPPING | MappingHint_Vertex |
hardware mapping hint | |
E_HARDWARE_MAPPING | MappingHint_Index |
video::SMaterial | Material |
Material for this meshbuffer. | |
core::array< T > | Vertices |
Vertices of this buffer. | |
core::array< u16 > | Indices |
Indices into the vertices of this buffer. | |
core::aabbox3d< f32 > | BoundingBox |
Bounding box of this meshbuffer. | |
E_PRIMITIVE_TYPE | PrimitiveType |
Primitive type used for rendering (triangles, lines, ...) | |
Additional Inherited Members | |
Public Types inherited from nirt::scene::IMeshBuffer | |
enum | ECloneFlags { ECF_VERTICES = 1 , ECF_INDICES = 2 } |
Bitflags with options for cloning. More... | |
Protected Member Functions inherited from nirt::IReferenceCounted | |
void | setDebugName (const c8 *newName) |
Sets the debug name of the object. | |
Template implementation of the IMeshBuffer interface for 16-bit buffers.
|
inlineoverridevirtual |
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.
other | Meshbuffer to be appended to this one. |
Implements nirt::scene::IMeshBuffer.
|
inlineoverridevirtual |
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 nirt::scene::IMeshBuffer.
|
inlineoverridevirtual |
Create copy of the meshbuffer.
Implements nirt::scene::IMeshBuffer.
|
inlineoverridevirtual |
Get the axis aligned bounding box.
Implements nirt::scene::IMeshBuffer.
|
inlineoverridevirtual |
Get the currently used ID for identification of changes.
This shouldn't be used for anything outside the VideoDriver.
Implements nirt::scene::IMeshBuffer.
|
inlineoverridevirtual |
Get the currently used ID for identification of changes.
This shouldn't be used for anything outside the VideoDriver.
Implements nirt::scene::IMeshBuffer.
|
inlineoverridevirtual |
returns color of vertex i
Implements nirt::scene::IMeshBuffer.
|
inlineoverridevirtual |
returns color of vertex i
Implements nirt::scene::IMeshBuffer.
|
inlineoverridevirtual |
get the current hardware mapping hint
Implements nirt::scene::IMeshBuffer.
|
inlineoverridevirtual |
get the current hardware mapping hint
Implements nirt::scene::IMeshBuffer.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Get type of index data which is stored in this meshbuffer.
Implements nirt::scene::IMeshBuffer.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Get material of this meshbuffer.
Implements nirt::scene::IMeshBuffer.
|
inlineoverridevirtual |
Get material of this meshbuffer.
Implements nirt::scene::IMeshBuffer.
|
inlineoverridevirtual |
returns normal of vertex i
Implements nirt::scene::IMeshBuffer.
|
inlineoverridevirtual |
returns normal of vertex i
Implements nirt::scene::IMeshBuffer.
|
inlineoverridevirtual |
returns position of vertex i
Implements nirt::scene::IMeshBuffer.
|
inlineoverridevirtual |
returns position of vertex i
Implements nirt::scene::IMeshBuffer.
|
inlineoverridevirtual |
Get the kind of primitive geometry which is used by the meshbuffer.
Implements nirt::scene::IMeshBuffer.
|
inlineoverridevirtual |
returns texture coord of vertex i
Implements nirt::scene::IMeshBuffer.
|
inlineoverridevirtual |
returns texture coord of vertex i
Implements nirt::scene::IMeshBuffer.
|
inlineoverridevirtual |
Returns type of the class implementing the IMeshBuffer.
Reimplemented from nirt::scene::IMeshBuffer.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Get type of vertex data stored in this buffer.
Implements nirt::scene::IMeshBuffer.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Recalculate the bounding box.
should be called if the mesh changed.
Implements nirt::scene::IMeshBuffer.
|
inlineoverridevirtual |
Set the axis aligned bounding box.
box | New axis aligned bounding box for this buffer. set user axis aligned bounding box |
Implements nirt::scene::IMeshBuffer.
|
inlineoverridevirtual |
flags the mesh as changed, reloads hardware buffers
Implements nirt::scene::IMeshBuffer.
|
inlineoverridevirtual |
set the hardware mapping hint, for driver
Implements nirt::scene::IMeshBuffer.
|
inlineoverridevirtual |
Describe what kind of primitive geometry is used by the meshbuffer.
Implements nirt::scene::IMeshBuffer.