5 #ifndef __I_MESH_BUFFER_H_INCLUDED__
6 #define __I_MESH_BUFFER_H_INCLUDED__
121 virtual void append(
const void*
const vertices,
u32 numVertices,
const u16*
const indices,
u32 numIndices) = 0;
Base class of most objects of the Irrlicht Engine.
3d vector template class with lots of operators and methods.
Struct for holding a mesh with a single material.
virtual const core::vector3df & getNormal(u32 i) const =0
returns normal of vertex i
virtual void setHardwareMappingHint(E_HARDWARE_MAPPING newMappingHint, E_BUFFER_TYPE buffer=EBT_VERTEX_AND_INDEX)=0
set the hardware mapping hint, for driver
virtual void recalculateBoundingBox()=0
Recalculates the bounding box. Should be called if the mesh changed.
virtual void setDirty(E_BUFFER_TYPE buffer=EBT_VERTEX_AND_INDEX)=0
flags the meshbuffer as changed, reloads hardware buffers
virtual E_HARDWARE_MAPPING getHardwareMappingHint_Index() const =0
get the current hardware mapping hint
virtual video::SMaterial & getMaterial()=0
Get the material of this meshbuffer.
virtual const video::SMaterial & getMaterial() const =0
Get the material of this meshbuffer.
virtual u16 * getIndices()=0
Get access to Indices.
virtual const core::vector2df & getTCoords(u32 i) const =0
returns texture coord of vertex i
virtual video::E_VERTEX_TYPE getVertexType() const =0
Get type of vertex data which is stored in this meshbuffer.
virtual core::vector3df & getPosition(u32 i)=0
returns position of vertex i
virtual const u16 * getIndices() const =0
Get access to Indices.
virtual u32 getVertexCount() const =0
Get amount of vertices in meshbuffer.
virtual const core::vector3df & getPosition(u32 i) const =0
returns position of vertex i
virtual void append(const IMeshBuffer *const other)=0
Append the meshbuffer to the current buffer.
virtual video::E_INDEX_TYPE getIndexType() const =0
Get type of index data which is stored in this meshbuffer.
virtual u32 getIndexCount() const =0
Get amount of indices in this meshbuffer.
virtual const void * getVertices() const =0
Get access to vertex data. The data is an array of vertices.
virtual u32 getChangedID_Vertex() const =0
Get the currently used ID for identification of changes.
virtual E_HARDWARE_MAPPING getHardwareMappingHint_Vertex() const =0
get the current hardware mapping hint
virtual void * getVertices()=0
Get access to vertex data. The data is an array of vertices.
virtual const core::aabbox3df & getBoundingBox() const =0
Get the axis aligned bounding box of this meshbuffer.
virtual void append(const void *const vertices, u32 numVertices, const u16 *const indices, u32 numIndices)=0
Append the vertices and indices to the current buffer.
virtual u32 getChangedID_Index() const =0
Get the currently used ID for identification of changes.
virtual core::vector3df & getNormal(u32 i)=0
returns normal of vertex i
virtual void setBoundingBox(const core::aabbox3df &box)=0
Set axis aligned bounding box.
virtual core::vector2df & getTCoords(u32 i)=0
returns texture coord of vertex i
Struct for holding parameters for a material renderer.
@ EBT_VERTEX_AND_INDEX
Change both vertex and index mapping to the same value.
E_VERTEX_TYPE
Enumeration for all vertex types there are.
Everything in the Irrlicht Engine can be found in this namespace.
unsigned int u32
32 bit unsigned variable.
unsigned short u16
16 bit unsigned variable.