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 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... | |
![]() | |
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... | |
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 329 of file SSkinMeshBuffer.h.
|
inlinevirtual |
append the meshbuffer to the current buffer
Implements irr::scene::IMeshBuffer.
Definition at line 332 of file SSkinMeshBuffer.h.
|
inline |
Call this after changing the positions of any vertex.
Definition at line 374 of file SSkinMeshBuffer.h.
References BoundingBoxNeedsRecalculated.
|
inlinevirtual |
Convert to 2tcoords vertex type.
Definition at line 193 of file SSkinMeshBuffer.h.
References irr::core::array< T, TAlloc >::clear(), irr::video::S3DVertex::Color, irr::video::EVT_2TCOORDS, irr::video::EVT_STANDARD, irr::video::S3DVertex::Normal, irr::video::S3DVertex::Pos, irr::core::array< T, TAlloc >::push_back(), irr::core::array< T, TAlloc >::size(), irr::video::S3DVertex::TCoords, VertexType, Vertices_2TCoords, and Vertices_Standard.
|
inlinevirtual |
Convert to tangents vertex type.
Definition at line 212 of file SSkinMeshBuffer.h.
References irr::core::array< T, TAlloc >::clear(), 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::core::array< T, TAlloc >::push_back(), irr::core::array< T, TAlloc >::size(), irr::video::S3DVertex::TCoords, VertexType, Vertices_2TCoords, Vertices_Standard, and Vertices_Tangents.
|
inlinevirtual |
Get bounding box.
Implements irr::scene::IMeshBuffer.
Definition at line 126 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 371 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 369 of file SSkinMeshBuffer.h.
References ChangedID_Vertex.
|
inlinevirtual |
get the current hardware mapping hint for index buffers
Implements irr::scene::IMeshBuffer.
Definition at line 341 of file SSkinMeshBuffer.h.
References MappingHint_Index.
|
inlinevirtual |
get the current hardware mapping hint for vertex buffers
Implements irr::scene::IMeshBuffer.
Definition at line 335 of file SSkinMeshBuffer.h.
References MappingHint_Vertex.
|
inlinevirtual |
Get index count.
Implements irr::scene::IMeshBuffer.
Definition at line 120 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 102 of file SSkinMeshBuffer.h.
References irr::video::EIT_16BIT.
|
inlinevirtual |
Get pointer to index array.
Implements irr::scene::IMeshBuffer.
Definition at line 108 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 114 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 33 of file SSkinMeshBuffer.h.
References Material.
|
inlinevirtual |
Get Material of this buffer.
Implements irr::scene::IMeshBuffer.
Definition at line 39 of file SSkinMeshBuffer.h.
References Material.
|
inlinevirtual |
returns normal of vertex i
Implements irr::scene::IMeshBuffer.
Definition at line 273 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 287 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 245 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 259 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 301 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 315 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 45 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 87 of file SSkinMeshBuffer.h.
References irr::video::EVT_2TCOORDS, irr::video::EVT_TANGENTS, irr::core::array< T, TAlloc >::size(), VertexType, Vertices_2TCoords, Vertices_Standard, and Vertices_Tangents.
|
inlinevirtual |
Get vertex type.
Implements irr::scene::IMeshBuffer.
Definition at line 187 of file SSkinMeshBuffer.h.
References VertexType.
|
inlinevirtual |
Get pointer to vertex array.
Implements irr::scene::IMeshBuffer.
Definition at line 59 of file SSkinMeshBuffer.h.
References irr::core::array< T, TAlloc >::const_pointer(), 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 73 of file SSkinMeshBuffer.h.
References irr::video::EVT_2TCOORDS, irr::video::EVT_TANGENTS, irr::core::array< T, TAlloc >::pointer(), VertexType, Vertices_2TCoords, Vertices_Standard, and Vertices_Tangents.
|
inlinevirtual |
Recalculate bounding box.
Implements irr::scene::IMeshBuffer.
Definition at line 138 of file SSkinMeshBuffer.h.
References irr::core::aabbox3d< T >::addInternalPoint(), BoundingBox, BoundingBoxNeedsRecalculated, irr::core::array< T, TAlloc >::empty(), irr::video::EVT_2TCOORDS, irr::video::EVT_STANDARD, irr::video::EVT_TANGENTS, irr::core::aabbox3d< T >::reset(), irr::core::array< T, TAlloc >::size(), VertexType, Vertices_2TCoords, Vertices_Standard, and Vertices_Tangents.
|
inlinevirtual |
Set bounding box.
Implements irr::scene::IMeshBuffer.
Definition at line 132 of file SSkinMeshBuffer.h.
References BoundingBox.
|
inlinevirtual |
flags the mesh as changed, reloads hardware buffers
Implements irr::scene::IMeshBuffer.
Definition at line 361 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 347 of file SSkinMeshBuffer.h.
References irr::scene::EBT_INDEX, irr::scene::EBT_VERTEX, irr::scene::EBT_VERTEX_AND_INDEX, MappingHint_Index, and MappingHint_Vertex.
core::aabbox3d<f32> irr::scene::SSkinMeshBuffer::BoundingBox |
Definition at line 390 of file SSkinMeshBuffer.h.
Referenced by getBoundingBox(), recalculateBoundingBox(), and setBoundingBox().
bool irr::scene::SSkinMeshBuffer::BoundingBoxNeedsRecalculated |
Definition at line 396 of file SSkinMeshBuffer.h.
Referenced by boundingBoxNeedsRecalculated(), and recalculateBoundingBox().
u32 irr::scene::SSkinMeshBuffer::ChangedID_Index |
Definition at line 382 of file SSkinMeshBuffer.h.
Referenced by getChangedID_Index(), and setDirty().
u32 irr::scene::SSkinMeshBuffer::ChangedID_Vertex |
Definition at line 381 of file SSkinMeshBuffer.h.
Referenced by getChangedID_Vertex(), and setDirty().
core::array<u16> irr::scene::SSkinMeshBuffer::Indices |
Definition at line 379 of file SSkinMeshBuffer.h.
Referenced by getIndexCount(), and getIndices().
E_HARDWARE_MAPPING irr::scene::SSkinMeshBuffer::MappingHint_Index |
Definition at line 394 of file SSkinMeshBuffer.h.
Referenced by getHardwareMappingHint_Index(), and setHardwareMappingHint().
E_HARDWARE_MAPPING irr::scene::SSkinMeshBuffer::MappingHint_Vertex |
Definition at line 393 of file SSkinMeshBuffer.h.
Referenced by getHardwareMappingHint_Vertex(), and setHardwareMappingHint().
video::SMaterial irr::scene::SSkinMeshBuffer::Material |
Definition at line 387 of file SSkinMeshBuffer.h.
Referenced by getMaterial().
core::matrix4 irr::scene::SSkinMeshBuffer::Transformation |
Definition at line 385 of file SSkinMeshBuffer.h.
video::E_VERTEX_TYPE irr::scene::SSkinMeshBuffer::VertexType |
Definition at line 388 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 377 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 378 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 376 of file SSkinMeshBuffer.h.
Referenced by convertToTangents(), getNormal(), getPosition(), getTCoords(), getVertex(), getVertexCount(), getVertices(), and recalculateBoundingBox().