 |
Irrlicht 3D Engine
|
|
Go to the documentation of this file.
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) {}
const T * const_pointer() const
Gets a const pointer to the array.
u32 size() const
Get number of occupied elements of the array.
virtual core::vector2df & getTCoords(u32 i)
returns texture coord of vertex i
void reset(T x, T y, T z)
Resets the bounding box to a one-point box.
E_HARDWARE_MAPPING MappingHintIndex
virtual core::vector3df & getPosition(u32 i)
returns position of vertex i
@ EVT_STANDARD
Standard vertex type used by the Irrlicht engine, video::S3DVertex.
core::array< video::S3DVertex > * Vertices
Shared Array of vertices.
virtual video::SMaterial & getMaterial()
returns the material of this meshbuffer
u32 ChangedID_Index
ID used for hardware buffer management.
virtual const u16 * getIndices() const
returns pointer to Indices
Implementation of the IMeshBuffer interface with shared vertex list.
virtual const core::vector3df & getPosition(u32 i) const
returns position of vertex i
E_VERTEX_TYPE
Enumeration for all vertex types there are.
void setDebugName(const c8 *newName)
Sets the debug name of the object.
@ EHM_NEVER
Don't store on the hardware.
@ EBT_VERTEX
Change the vertex mapping.
@ EBT_VERTEX_AND_INDEX
Change both vertex and index mapping to the same value.
virtual void setDirty(E_BUFFER_TYPE buffer=EBT_VERTEX_AND_INDEX)
flags the mesh as changed, reloads hardware buffers
virtual E_HARDWARE_MAPPING getHardwareMappingHint_Index() const
get the current hardware mapping hint
virtual u32 getChangedID_Index() const
Get the currently used ID for identification of changes.
virtual const video::SMaterial & getMaterial() const
returns the material of this meshbuffer
u32 ChangedID_Vertex
ID used for hardware buffer management.
bool empty() const
Check if array is empty.
virtual void append(const IMeshBuffer *const other)
append the meshbuffer to the current buffer
virtual const void * getVertices() const
returns pointer to vertices
virtual video::E_VERTEX_TYPE getVertexType() const
returns which type of vertex data is stored.
virtual void setBoundingBox(const core::aabbox3df &box)
set user axis aligned bounding box
SSharedMeshBuffer()
constructor
virtual u32 getIndexCount() const
returns amount of indices
SSharedMeshBuffer(core::array< video::S3DVertex > *vertices)
constructor
virtual u16 * getIndices()
returns pointer to Indices
virtual video::E_INDEX_TYPE getIndexType() const
Get type of index data which is stored in this meshbuffer.
virtual const core::aabbox3d< f32 > & getBoundingBox() const
returns an axis aligned bounding box
E_HARDWARE_MAPPING MappingHintVertex
hardware mapping hint
virtual const core::vector2df & getTCoords(u32 i) const
returns texture coord of vertex i
Everything in the Irrlicht Engine can be found in this namespace.
virtual u32 getVertexCount() const
returns amount of vertices
unsigned short u16
16 bit unsigned variable.
virtual void recalculateBoundingBox()
recalculates the bounding box. should be called if the mesh changed.
unsigned int u32
32 bit unsigned variable.
virtual u32 getChangedID_Vertex() const
Get the currently used ID for identification of changes.
void addInternalPoint(const vector3d< T > &p)
Adds a point to the bounding box.
core::array< u16 > Indices
Array of Indices.
virtual core::vector3df & getNormal(u32 i)
returns normal 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 void * getVertices()
returns pointer to vertices
video::SMaterial Material
Material of this meshBuffer.
Self reallocating template array (like stl vector) with additional features.
T * pointer()
Gets a pointer to the array.
virtual const core::vector3df & getNormal(u32 i) const
returns normal of vertex i
Struct for holding parameters for a material renderer.
virtual E_HARDWARE_MAPPING getHardwareMappingHint_Vertex() const
get the current hardware mapping hint
Struct for holding a mesh with a single material.
@ EBT_INDEX
Change the index mapping.
core::aabbox3df BoundingBox
Bounding box.
#define _IRR_DEBUG_BREAK_IF(_CONDITION_)
define a break macro for debugging.
virtual void append(const void *const vertices, u32 numVertices, const u16 *const indices, u32 numIndices)
append the vertices and indices to the current buffer