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.
Struct for holding a mesh with a single material.
virtual void setHardwareMappingHint(E_HARDWARE_MAPPING newMappingHint, E_BUFFER_TYPE buffer=EBT_VERTEX_AND_INDEX)=0
set the hardware mapping hint, for driver
virtual u16 * getIndices()=0
Get access to Indices.
virtual const core::vector3df & getPosition(u32 i) const =0
returns position of vertex i
virtual void * getVertices()=0
Get access to vertex data. The data is an array of vertices.
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 core::vector3df & getNormal(u32 i)=0
returns normal of vertex i
virtual const core::vector2df & getTCoords(u32 i) const =0
returns texture coord of vertex i
virtual const u16 * getIndices() const =0
Get access to Indices.
virtual const core::vector3df & getNormal(u32 i) const =0
returns normal of vertex i
virtual video::E_VERTEX_TYPE getVertexType() const =0
Get type of vertex data which is stored in this meshbuffer.
virtual u32 getVertexCount() const =0
Get amount of vertices in meshbuffer.
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 video::SMaterial & getMaterial()=0
Get the material of this meshbuffer.
virtual const void * getVertices() const =0
Get access to vertex data. The data is an array of vertices.
virtual u32 getIndexCount() const =0
Get amount of indices in this meshbuffer.
virtual core::vector2df & getTCoords(u32 i)=0
returns texture coord of vertex i
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 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 const video::SMaterial & getMaterial() const =0
Get the material of this meshbuffer.
virtual void setBoundingBox(const core::aabbox3df &box)=0
Set axis aligned bounding box.
virtual core::vector3df & getPosition(u32 i)=0
returns position 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.