5#ifndef __S_SHARED_MESH_BUFFER_H_INCLUDED__
6#define __S_SHARED_MESH_BUFFER_H_INCLUDED__
171 virtual void append(
const void*
const vertices,
u32 numVertices,
const u16*
const indices,
u32 numIndices) {}
void setDebugName(const c8 *newName)
Sets the debug name of the object.
Axis aligned bounding box in 3d dimensional space.
Self reallocating template array (like stl vector) with additional features.
Struct for holding a mesh with a single material.
Struct for holding parameters for a material renderer.
#define _IRR_DEBUG_BREAK_IF(_CONDITION_)
define a break macro for debugging.
vector3d< f32 > vector3df
Typedef for a f32 3d vector.
vector2d< f32 > vector2df
Typedef for f32 2d vector.
aabbox3d< f32 > aabbox3df
Typedef for a f32 3d bounding box.
All scene management can be found in this namespace: Mesh loading, special scene nodes like octrees a...
@ 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.
@ EHM_NEVER
Don't store on the hardware.
E_VERTEX_TYPE
Enumeration for all vertex types there are.
@ EVT_STANDARD
Standard vertex type used by the Irrlicht engine, video::S3DVertex.
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.
E_HARDWARE_MAPPING MappingHintIndex
u32 ChangedID_Vertex
ID used for hardware buffer management.
virtual const u16 * getIndices() const
returns pointer to Indices
virtual u32 getChangedID_Index() const
Get the currently used ID for identification of changes.
virtual void setHardwareMappingHint(E_HARDWARE_MAPPING NewMappingHint, E_BUFFER_TYPE buffer=EBT_VERTEX_AND_INDEX)
set the hardware mapping hint, for driver
virtual void recalculateBoundingBox()
recalculates the bounding box. should be called if the mesh changed.
core::array< u16 > Indices
Array of Indices.
video::SMaterial Material
Material of this meshBuffer.
virtual void * getVertices()
returns pointer to vertices
virtual E_HARDWARE_MAPPING getHardwareMappingHint_Vertex() const
get the current hardware mapping hint
virtual E_HARDWARE_MAPPING getHardwareMappingHint_Index() const
get the current hardware mapping hint
virtual core::vector3df & getNormal(u32 i)
returns normal of vertex i
virtual void setBoundingBox(const core::aabbox3df &box)
set user axis aligned bounding box
virtual const core::vector2df & getTCoords(u32 i) const
returns texture coord of vertex i
virtual const void * getVertices() const
returns pointer to vertices
virtual core::vector2df & getTCoords(u32 i)
returns texture coord of vertex i
virtual core::vector3df & getPosition(u32 i)
returns position of vertex i
u32 ChangedID_Index
ID used for hardware buffer management.
virtual u32 getIndexCount() const
returns amount of indices
virtual u16 * getIndices()
returns pointer to Indices
core::aabbox3df BoundingBox
Bounding box.
SSharedMeshBuffer()
constructor
virtual video::SMaterial & getMaterial()
returns the material of this meshbuffer
E_HARDWARE_MAPPING MappingHintVertex
hardware mapping hint
virtual const core::vector3df & getPosition(u32 i) const
returns position of vertex i
virtual void append(const IMeshBuffer *const other)
append the meshbuffer to the current buffer
virtual u32 getVertexCount() const
returns amount of vertices
core::array< video::S3DVertex > * Vertices
Shared Array of vertices.
virtual void setDirty(E_BUFFER_TYPE buffer=EBT_VERTEX_AND_INDEX)
flags the mesh as changed, reloads hardware buffers
virtual const core::vector3df & getNormal(u32 i) const
returns normal of vertex i
SSharedMeshBuffer(core::array< video::S3DVertex > *vertices)
constructor
virtual const video::SMaterial & getMaterial() const
returns the material of this meshbuffer
virtual const core::aabbox3d< f32 > & getBoundingBox() const
returns an axis aligned bounding box
virtual u32 getChangedID_Vertex() const
Get the currently used ID for identification of changes.
virtual video::E_VERTEX_TYPE getVertexType() const
returns which type of vertex data is stored.
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 video::E_INDEX_TYPE getIndexType() const
Get type of index data which is stored in this meshbuffer.