5#ifndef __I_DYNAMIC_MESH_BUFFER_H_INCLUDED__
6#define __I_DYNAMIC_MESH_BUFFER_H_INCLUDED__
53 virtual void append(
const void*
const vertices,
u32 numVertices,
const u16*
const indices,
u32 numIndices)
virtual const video::SMaterial & getMaterial() const =0
Get the material of this meshbuffer.
virtual void recalculateBoundingBox()=0
Recalculates the bounding box. Should be called if the mesh changed.
virtual void setVertexBuffer(IVertexBuffer *vertexBuffer)=0
virtual void append(const void *const vertices, u32 numVertices, const u16 *const indices, u32 numIndices)
Append the vertices and indices to the current buffer.
virtual const core::vector2df & getTCoords(u32 i) const
returns texture coords of vertex i
virtual u32 getChangedID_Index() const
Get the currently used ID for identification of changes.
virtual u32 getChangedID_Vertex() const
Get the currently used ID for identification of changes.
virtual void setIndexBuffer(IIndexBuffer *indexBuffer)=0
virtual video::E_INDEX_TYPE getIndexType() const
Get type of index data which is stored in this meshbuffer.
virtual video::E_VERTEX_TYPE getVertexType() const
Get type of vertex data which is stored in this meshbuffer.
virtual E_HARDWARE_MAPPING getHardwareMappingHint_Index() const
get the current hardware mapping hint
virtual u16 * getIndices()
Get access to Indices.
virtual const void * getVertices() const
Get access to vertex data. The data is an array of vertices.
virtual E_HARDWARE_MAPPING getHardwareMappingHint_Vertex() const
get the current hardware mapping hint
virtual const core::vector3df & getNormal(u32 i) const
returns normal of vertex i
virtual const u16 * getIndices() const
Get access to Indices.
virtual IVertexBuffer & getVertexBuffer() const =0
virtual const core::vector3df & getPosition(u32 i) const
returns position of vertex i
virtual void setHardwareMappingHint(E_HARDWARE_MAPPING NewMappingHint, E_BUFFER_TYPE Buffer=EBT_VERTEX_AND_INDEX)
set the hardware mapping hint, for driver
virtual core::vector3df & getPosition(u32 i)
returns position of vertex i
virtual void append(const IMeshBuffer *const other)
Append the meshbuffer to the current buffer.
virtual void * getVertices()
Get access to vertex data. The data is an array of vertices.
virtual core::vector2df & getTCoords(u32 i)
returns texture coords of vertex i
virtual video::SMaterial & getMaterial()=0
Get the material of this meshbuffer.
virtual const core::aabbox3df & getBoundingBox() const =0
Get the axis aligned bounding box of this meshbuffer.
virtual void setBoundingBox(const core::aabbox3df &box)=0
Set axis aligned bounding box.
virtual u32 getIndexCount() const
Get amount of indices in this meshbuffer.
virtual core::vector3df & getNormal(u32 i)
returns normal of vertex i
virtual void setDirty(E_BUFFER_TYPE Buffer=EBT_VERTEX_AND_INDEX)
flags the mesh as changed, reloads hardware buffers
virtual IIndexBuffer & getIndexBuffer() const =0
virtual u32 getVertexCount() const
Get amount of vertices in meshbuffer.
virtual u32 size() const =0
virtual void setDirty()=0
flags the meshbuffer as changed, reloads hardware buffers
virtual E_HARDWARE_MAPPING getHardwareMappingHint() const =0
get the current hardware mapping hint
virtual void * getData()=0
virtual u32 getChangedID() const =0
Get the currently used ID for identification of changes.
virtual void setHardwareMappingHint(E_HARDWARE_MAPPING NewMappingHint)=0
set the hardware mapping hint, for driver
virtual video::E_INDEX_TYPE getType() const =0
Struct for holding a mesh with a single material.
virtual video::E_VERTEX_TYPE getType() const =0
virtual void * getData()=0
virtual u32 size() const =0
virtual E_HARDWARE_MAPPING getHardwareMappingHint() const =0
get the current hardware mapping hint
virtual u32 getChangedID() const =0
Get the currently used ID for identification of changes.
virtual void setHardwareMappingHint(E_HARDWARE_MAPPING NewMappingHint)=0
set the hardware mapping hint, for driver
virtual void setDirty()=0
flags the meshbuffer as changed, reloads hardware buffers
Struct for holding parameters for a material renderer.
@ EBT_VERTEX_AND_INDEX
Change both vertex and index mapping to the same value.
@ EBT_INDEX
Change the index mapping.
@ EBT_VERTEX
Change the vertex mapping.
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.