A mesh buffer able to choose between S3DVertex2TCoords, S3DVertex and S3DVertexTangents at runtime. More...
#include <SSkinMeshBuffer.h>
Public Member Functions | |
SSkinMeshBuffer (video::E_VERTEX_TYPE vt=video::EVT_STANDARD) | |
Default constructor. More... | |
virtual void | append (const void *const vertices, u32 numVertices, const u16 *const indices, u32 numIndices) |
append the vertices and indices to the current buffer More... | |
virtual void | append (const IMeshBuffer *const other) |
append the meshbuffer to the current buffer More... | |
void | boundingBoxNeedsRecalculated (void) |
Call this after changing the positions of any vertex. More... | |
virtual void | convertTo2TCoords () |
Convert to 2tcoords vertex type. More... | |
virtual void | convertToTangents () |
Convert to tangents vertex type. More... | |
virtual const core::aabbox3d< f32 > & | getBoundingBox () const |
Get bounding box. More... | |
virtual u32 | getChangedID_Index () const |
Get the currently used ID for identification of changes. More... | |
virtual u32 | getChangedID_Vertex () const |
Get the currently used ID for identification of changes. More... | |
virtual E_HARDWARE_MAPPING | getHardwareMappingHint_Index () const |
get the current hardware mapping hint for index buffers More... | |
virtual E_HARDWARE_MAPPING | getHardwareMappingHint_Vertex () const |
get the current hardware mapping hint for vertex buffers More... | |
virtual u32 | getIndexCount () const |
Get index count. More... | |
virtual video::E_INDEX_TYPE | getIndexType () const |
Get type of index data which is stored in this meshbuffer. More... | |
virtual const u16 * | getIndices () const |
Get pointer to index array. More... | |
virtual u16 * | getIndices () |
Get pointer to index array. More... | |
virtual const video::SMaterial & | getMaterial () const |
Get Material of this buffer. More... | |
virtual video::SMaterial & | getMaterial () |
Get Material of this buffer. More... | |
virtual const core::vector3df & | getNormal (u32 i) const |
returns normal of vertex i More... | |
virtual core::vector3df & | getNormal (u32 i) |
returns normal of vertex i More... | |
virtual const core::vector3df & | getPosition (u32 i) const |
returns position of vertex i More... | |
virtual core::vector3df & | getPosition (u32 i) |
returns position of vertex i More... | |
virtual E_PRIMITIVE_TYPE | getPrimitiveType () const |
Get the kind of primitive geometry which is used by the meshbuffer. More... | |
virtual const core::vector2df & | getTCoords (u32 i) const |
returns texture coords of vertex i More... | |
virtual core::vector2df & | getTCoords (u32 i) |
returns texture coords of vertex i More... | |
virtual video::S3DVertex * | getVertex (u32 index) |
Get standard vertex at given index. More... | |
virtual u32 | getVertexCount () const |
Get vertex count. More... | |
virtual video::E_VERTEX_TYPE | getVertexType () const |
Get vertex type. More... | |
virtual const void * | getVertices () const |
Get pointer to vertex array. More... | |
virtual void * | getVertices () |
Get pointer to vertex array. More... | |
virtual void | recalculateBoundingBox () |
Recalculate bounding box. More... | |
virtual void | setBoundingBox (const core::aabbox3df &box) |
Set bounding box. More... | |
virtual void | setDirty (E_BUFFER_TYPE Buffer=EBT_VERTEX_AND_INDEX) |
flags the mesh as changed, reloads hardware buffers More... | |
virtual void | setHardwareMappingHint (E_HARDWARE_MAPPING NewMappingHint, E_BUFFER_TYPE Buffer=EBT_VERTEX_AND_INDEX) |
set the hardware mapping hint, for driver More... | |
virtual void | setPrimitiveType (E_PRIMITIVE_TYPE type) |
Describe what kind of primitive geometry is used by the meshbuffer. More... | |
![]() | |
virtual u32 | getPrimitiveCount () const |
Calculate how many geometric primitives are used by this meshbuffer. More... | |
![]() | |
IReferenceCounted () | |
Constructor. More... | |
virtual | ~IReferenceCounted () |
Destructor. More... | |
bool | drop () const |
Drops the object. Decrements the reference counter by one. More... | |
const c8 * | getDebugName () const |
Returns the debug name of the object. More... | |
s32 | getReferenceCount () const |
Get the reference count. More... | |
void | grab () const |
Grabs the object. Increments the reference counter by one. More... | |
Public Attributes | |
core::aabbox3d< f32 > | BoundingBox |
bool | BoundingBoxNeedsRecalculated:1 |
u32 | ChangedID_Index |
u32 | ChangedID_Vertex |
core::array< u16 > | Indices |
E_HARDWARE_MAPPING | MappingHint_Index:3 |
E_HARDWARE_MAPPING | MappingHint_Vertex:3 |
video::SMaterial | Material |
E_PRIMITIVE_TYPE | PrimitiveType |
Primitive type used for rendering (triangles, lines, ...) More... | |
core::matrix4 | Transformation |
video::E_VERTEX_TYPE | VertexType |
core::array< video::S3DVertex2TCoords > | Vertices_2TCoords |
core::array< video::S3DVertex > | Vertices_Standard |
core::array< video::S3DVertexTangents > | Vertices_Tangents |
Additional Inherited Members | |
![]() | |
void | setDebugName (const c8 *newName) |
Sets the debug name of the object. More... | |
A mesh buffer able to choose between S3DVertex2TCoords, S3DVertex and S3DVertexTangents at runtime.
Definition at line 19 of file SSkinMeshBuffer.h.
|
inline |
Default constructor.
Definition at line 22 of file SSkinMeshBuffer.h.
References irr::IReferenceCounted::setDebugName().
|
inlinevirtual |
append the vertices and indices to the current buffer
Implements irr::scene::IMeshBuffer.
Definition at line 330 of file SSkinMeshBuffer.h.
|
inlinevirtual |
append the meshbuffer to the current buffer
Implements irr::scene::IMeshBuffer.
Definition at line 333 of file SSkinMeshBuffer.h.
|
inline |
Call this after changing the positions of any vertex.
Definition at line 387 of file SSkinMeshBuffer.h.
References BoundingBoxNeedsRecalculated.
|
inlinevirtual |
Convert to 2tcoords vertex type.
Definition at line 194 of file SSkinMeshBuffer.h.
References irr::video::S3DVertex::Color, irr::video::EVT_2TCOORDS, irr::video::EVT_STANDARD, irr::video::S3DVertex::Normal, irr::video::S3DVertex::Pos, irr::video::S3DVertex::TCoords, VertexType, Vertices_2TCoords, and Vertices_Standard.
|
inlinevirtual |
Convert to tangents vertex type.
Definition at line 213 of file SSkinMeshBuffer.h.
References irr::video::S3DVertex::Color, irr::video::EVT_2TCOORDS, irr::video::EVT_STANDARD, irr::video::EVT_TANGENTS, irr::video::S3DVertex::Normal, irr::video::S3DVertex::Pos, irr::video::S3DVertex::TCoords, VertexType, Vertices_2TCoords, Vertices_Standard, and Vertices_Tangents.
|
inlinevirtual |
Get bounding box.
Implements irr::scene::IMeshBuffer.
Definition at line 127 of file SSkinMeshBuffer.h.
References BoundingBox.
|
inlinevirtual |
Get the currently used ID for identification of changes.
This shouldn't be used for anything outside the VideoDriver.
Implements irr::scene::IMeshBuffer.
Definition at line 384 of file SSkinMeshBuffer.h.
References ChangedID_Index.
|
inlinevirtual |
Get the currently used ID for identification of changes.
This shouldn't be used for anything outside the VideoDriver.
Implements irr::scene::IMeshBuffer.
Definition at line 382 of file SSkinMeshBuffer.h.
References ChangedID_Vertex.
|
inlinevirtual |
get the current hardware mapping hint for index buffers
Implements irr::scene::IMeshBuffer.
Definition at line 342 of file SSkinMeshBuffer.h.
References MappingHint_Index.
|
inlinevirtual |
get the current hardware mapping hint for vertex buffers
Implements irr::scene::IMeshBuffer.
Definition at line 336 of file SSkinMeshBuffer.h.
References MappingHint_Vertex.
|
inlinevirtual |
Get index count.
Implements irr::scene::IMeshBuffer.
Definition at line 121 of file SSkinMeshBuffer.h.
References Indices, and irr::core::array< T, TAlloc >::size().
|
inlinevirtual |
Get type of index data which is stored in this meshbuffer.
Implements irr::scene::IMeshBuffer.
Definition at line 103 of file SSkinMeshBuffer.h.
References irr::video::EIT_16BIT.
|
inlinevirtual |
Get pointer to index array.
Implements irr::scene::IMeshBuffer.
Definition at line 109 of file SSkinMeshBuffer.h.
References irr::core::array< T, TAlloc >::const_pointer(), and Indices.
|
inlinevirtual |
Get pointer to index array.
Implements irr::scene::IMeshBuffer.
Definition at line 115 of file SSkinMeshBuffer.h.
References Indices, and irr::core::array< T, TAlloc >::pointer().
|
inlinevirtual |
Get Material of this buffer.
Implements irr::scene::IMeshBuffer.
Definition at line 34 of file SSkinMeshBuffer.h.
References Material.
|
inlinevirtual |
Get Material of this buffer.
Implements irr::scene::IMeshBuffer.
Definition at line 40 of file SSkinMeshBuffer.h.
References Material.
|
inlinevirtual |
returns normal of vertex i
Implements irr::scene::IMeshBuffer.
Definition at line 274 of file SSkinMeshBuffer.h.
References irr::video::EVT_2TCOORDS, irr::video::EVT_TANGENTS, VertexType, Vertices_2TCoords, Vertices_Standard, and Vertices_Tangents.
|
inlinevirtual |
returns normal of vertex i
Implements irr::scene::IMeshBuffer.
Definition at line 288 of file SSkinMeshBuffer.h.
References irr::video::EVT_2TCOORDS, irr::video::EVT_TANGENTS, VertexType, Vertices_2TCoords, Vertices_Standard, and Vertices_Tangents.
|
inlinevirtual |
returns position of vertex i
Implements irr::scene::IMeshBuffer.
Definition at line 246 of file SSkinMeshBuffer.h.
References irr::video::EVT_2TCOORDS, irr::video::EVT_TANGENTS, VertexType, Vertices_2TCoords, Vertices_Standard, and Vertices_Tangents.
|
inlinevirtual |
returns position of vertex i
Implements irr::scene::IMeshBuffer.
Definition at line 260 of file SSkinMeshBuffer.h.
References irr::video::EVT_2TCOORDS, irr::video::EVT_TANGENTS, VertexType, Vertices_2TCoords, Vertices_Standard, and Vertices_Tangents.
|
inlinevirtual |
Get the kind of primitive geometry which is used by the meshbuffer.
Implements irr::scene::IMeshBuffer.
Definition at line 368 of file SSkinMeshBuffer.h.
References PrimitiveType.
|
inlinevirtual |
returns texture coords of vertex i
Implements irr::scene::IMeshBuffer.
Definition at line 302 of file SSkinMeshBuffer.h.
References irr::video::EVT_2TCOORDS, irr::video::EVT_TANGENTS, VertexType, Vertices_2TCoords, Vertices_Standard, and Vertices_Tangents.
|
inlinevirtual |
returns texture coords of vertex i
Implements irr::scene::IMeshBuffer.
Definition at line 316 of file SSkinMeshBuffer.h.
References irr::video::EVT_2TCOORDS, irr::video::EVT_TANGENTS, VertexType, Vertices_2TCoords, Vertices_Standard, and Vertices_Tangents.
|
inlinevirtual |
Get standard vertex at given index.
Definition at line 46 of file SSkinMeshBuffer.h.
References irr::video::EVT_2TCOORDS, irr::video::EVT_TANGENTS, VertexType, Vertices_2TCoords, Vertices_Standard, and Vertices_Tangents.
|
inlinevirtual |
Get vertex count.
Implements irr::scene::IMeshBuffer.
Definition at line 88 of file SSkinMeshBuffer.h.
References irr::video::EVT_2TCOORDS, irr::video::EVT_TANGENTS, VertexType, Vertices_2TCoords, Vertices_Standard, and Vertices_Tangents.
|
inlinevirtual |
Get vertex type.
Implements irr::scene::IMeshBuffer.
Definition at line 188 of file SSkinMeshBuffer.h.
References VertexType.
|
inlinevirtual |
Get pointer to vertex array.
Implements irr::scene::IMeshBuffer.
Definition at line 60 of file SSkinMeshBuffer.h.
References irr::video::EVT_2TCOORDS, irr::video::EVT_TANGENTS, VertexType, Vertices_2TCoords, Vertices_Standard, and Vertices_Tangents.
|
inlinevirtual |
Get pointer to vertex array.
Implements irr::scene::IMeshBuffer.
Definition at line 74 of file SSkinMeshBuffer.h.
References irr::video::EVT_2TCOORDS, irr::video::EVT_TANGENTS, VertexType, Vertices_2TCoords, Vertices_Standard, and Vertices_Tangents.
|
inlinevirtual |
Recalculate bounding box.
Implements irr::scene::IMeshBuffer.
Definition at line 139 of file SSkinMeshBuffer.h.
References irr::core::aabbox3d< T >::addInternalPoint(), BoundingBox, BoundingBoxNeedsRecalculated, irr::video::EVT_2TCOORDS, irr::video::EVT_STANDARD, irr::video::EVT_TANGENTS, irr::core::aabbox3d< T >::reset(), VertexType, Vertices_2TCoords, Vertices_Standard, and Vertices_Tangents.
|
inlinevirtual |
Set bounding box.
Implements irr::scene::IMeshBuffer.
Definition at line 133 of file SSkinMeshBuffer.h.
References BoundingBox.
|
inlinevirtual |
flags the mesh as changed, reloads hardware buffers
Implements irr::scene::IMeshBuffer.
Definition at line 374 of file SSkinMeshBuffer.h.
References ChangedID_Index, ChangedID_Vertex, irr::scene::EBT_INDEX, irr::scene::EBT_VERTEX, and irr::scene::EBT_VERTEX_AND_INDEX.
|
inlinevirtual |
set the hardware mapping hint, for driver
Implements irr::scene::IMeshBuffer.
Definition at line 348 of file SSkinMeshBuffer.h.
References irr::scene::EBT_INDEX, irr::scene::EBT_VERTEX, irr::scene::EBT_VERTEX_AND_INDEX, MappingHint_Index, and MappingHint_Vertex.
|
inlinevirtual |
Describe what kind of primitive geometry is used by the meshbuffer.
Implements irr::scene::IMeshBuffer.
Definition at line 362 of file SSkinMeshBuffer.h.
References PrimitiveType.
core::aabbox3d<f32> irr::scene::SSkinMeshBuffer::BoundingBox |
Definition at line 403 of file SSkinMeshBuffer.h.
Referenced by getBoundingBox(), recalculateBoundingBox(), and setBoundingBox().
bool irr::scene::SSkinMeshBuffer::BoundingBoxNeedsRecalculated |
Definition at line 412 of file SSkinMeshBuffer.h.
Referenced by boundingBoxNeedsRecalculated(), and recalculateBoundingBox().
u32 irr::scene::SSkinMeshBuffer::ChangedID_Index |
Definition at line 395 of file SSkinMeshBuffer.h.
Referenced by getChangedID_Index(), and setDirty().
u32 irr::scene::SSkinMeshBuffer::ChangedID_Vertex |
Definition at line 394 of file SSkinMeshBuffer.h.
Referenced by getChangedID_Vertex(), and setDirty().
core::array<u16> irr::scene::SSkinMeshBuffer::Indices |
Definition at line 392 of file SSkinMeshBuffer.h.
Referenced by getIndexCount(), and getIndices().
E_HARDWARE_MAPPING irr::scene::SSkinMeshBuffer::MappingHint_Index |
Definition at line 410 of file SSkinMeshBuffer.h.
Referenced by getHardwareMappingHint_Index(), and setHardwareMappingHint().
E_HARDWARE_MAPPING irr::scene::SSkinMeshBuffer::MappingHint_Vertex |
Definition at line 409 of file SSkinMeshBuffer.h.
Referenced by getHardwareMappingHint_Vertex(), and setHardwareMappingHint().
video::SMaterial irr::scene::SSkinMeshBuffer::Material |
Definition at line 400 of file SSkinMeshBuffer.h.
Referenced by getMaterial().
E_PRIMITIVE_TYPE irr::scene::SSkinMeshBuffer::PrimitiveType |
Primitive type used for rendering (triangles, lines, ...)
Definition at line 406 of file SSkinMeshBuffer.h.
Referenced by getPrimitiveType(), and setPrimitiveType().
core::matrix4 irr::scene::SSkinMeshBuffer::Transformation |
Definition at line 398 of file SSkinMeshBuffer.h.
video::E_VERTEX_TYPE irr::scene::SSkinMeshBuffer::VertexType |
Definition at line 401 of file SSkinMeshBuffer.h.
Referenced by convertTo2TCoords(), convertToTangents(), getNormal(), getPosition(), getTCoords(), getVertex(), getVertexCount(), getVertexType(), getVertices(), and recalculateBoundingBox().
core::array<video::S3DVertex2TCoords> irr::scene::SSkinMeshBuffer::Vertices_2TCoords |
Definition at line 390 of file SSkinMeshBuffer.h.
Referenced by convertTo2TCoords(), convertToTangents(), getNormal(), getPosition(), getTCoords(), getVertex(), getVertexCount(), getVertices(), and recalculateBoundingBox().
core::array<video::S3DVertex> irr::scene::SSkinMeshBuffer::Vertices_Standard |
Definition at line 391 of file SSkinMeshBuffer.h.
Referenced by convertTo2TCoords(), convertToTangents(), getNormal(), getPosition(), getTCoords(), getVertex(), getVertexCount(), getVertices(), and recalculateBoundingBox().
core::array<video::S3DVertexTangents> irr::scene::SSkinMeshBuffer::Vertices_Tangents |
Definition at line 389 of file SSkinMeshBuffer.h.
Referenced by convertToTangents(), getNormal(), getPosition(), getTCoords(), getVertex(), getVertexCount(), getVertices(), and recalculateBoundingBox().