Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials

# irr::scene::SSkinMeshBuffer Struct Reference

A mesh buffer able to choose between S3DVertex2TCoords, S3DVertex and S3DVertexTangents at runtime. More...

`#include <SSkinMeshBuffer.h>`

Inheritance diagram for irr::scene::SSkinMeshBuffer:

List of all members.

## Public Member Functions
virtual void | append (const IMeshBuffer *const other)
| append the meshbuffer to the current buffer
virtual void | append (const void *const vertices, u32 numVertices, const u16 *const indices, u32 numIndices)
| append the vertices and indices to the current buffer
void | boundingBoxNeedsRecalculated (void)
| Call this after changing the positions of any vertex.
virtual void | convertTo2TCoords ()
| Convert to 2tcoords vertex type.
virtual void | convertToTangents ()
| Convert to tangents vertex type.
virtual const core::aabbox3d < f32 > & | getBoundingBox () const
| Get bounding box.
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 E_HARDWARE_MAPPING | getHardwareMappingHint_Index () const
| get the current hardware mapping hint for index buffers
virtual E_HARDWARE_MAPPING | getHardwareMappingHint_Vertex () const
| get the current hardware mapping hint for vertex buffers
virtual u32 | getIndexCount () const
| Get index count.
virtual video::E_INDEX_TYPE | getIndexType () const
| Get type of index data which is stored in this meshbuffer.
virtual u16 * | getIndices ()
| Get pointer to index array.
virtual const u16 * | getIndices () const
| Get pointer to index array.
virtual video::SMaterial & | getMaterial ()
| Get Material of this buffer.
virtual const video::SMaterial & | getMaterial () const
| Get Material of this buffer.
virtual core::vector3df & | getNormal (u32 i)
| returns normal of vertex i
virtual const core::vector3df & | getNormal (u32 i) const
| returns normal of vertex i
virtual core::vector3df & | getPosition (u32 i)
| returns position of vertex i
virtual const core::vector3df & | getPosition (u32 i) const
| returns position of vertex i
virtual core::vector2df & | getTCoords (u32 i)
| returns texture coords of vertex i
virtual const core::vector2df & | getTCoords (u32 i) const
| returns texture coords of vertex i
virtual video::S3DVertex * | getVertex (u32 index)
| Get standard vertex at given index.
virtual u32 | getVertexCount () const
| Get vertex count.
virtual video::E_VERTEX_TYPE | getVertexType () const
| Get vertex type.
virtual void * | getVertices ()
| Get pointer to vertex array.
virtual const void * | getVertices () const
| Get pointer to vertex array.
virtual void | recalculateBoundingBox ()
| Recalculate bounding box.
virtual void | setBoundingBox (const core::aabbox3df &box)
| Set bounding box.
virtual void | setDirty (E_BUFFER_TYPE Buffer=EBT_VERTEX_AND_INDEX)
| flags the mesh as changed, reloads hardware buffers
virtual void | setHardwareMappingHint (E_HARDWARE_MAPPING NewMappingHint, E_BUFFER_TYPE Buffer=EBT_VERTEX_AND_INDEX)
| set the hardware mapping hint, for driver
| SSkinMeshBuffer (video::E_VERTEX_TYPE vt=video::EVT_STANDARD)
| Default constructor.
## 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
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

## Detailed Description

A mesh buffer able to choose between S3DVertex2TCoords, S3DVertex and S3DVertexTangents at runtime.

Definition at line 19 of file SSkinMeshBuffer.h.

## Constructor & Destructor Documentation

irr::scene::SSkinMeshBuffer::SSkinMeshBuffer | ( | video::E_VERTEX_TYPE | vt = `video::EVT_STANDARD` | ) | `[inline]`

Default constructor.

Definition at line 22 of file SSkinMeshBuffer.h.

References irr::IReferenceCounted::setDebugName().

## Member Function Documentation

virtual void irr::scene::SSkinMeshBuffer::append | ( | const IMeshBuffer *const | other | ) | `[inline, virtual]`

append the meshbuffer to the current buffer

Implements irr::scene::IMeshBuffer.

Definition at line 329 of file SSkinMeshBuffer.h.

virtual void irr::scene::SSkinMeshBuffer::append | ( | const void *const | vertices,
|  | u32 | numVertices,
|  | const u16 *const | indices,
|  | u32 | numIndices |
| ) |  |  | `[inline, virtual]`

append the vertices and indices to the current buffer

Implements irr::scene::IMeshBuffer.

Definition at line 326 of file SSkinMeshBuffer.h.

void irr::scene::SSkinMeshBuffer::boundingBoxNeedsRecalculated | ( | void |  | ) | `[inline]`

Call this after changing the positions of any vertex.

Definition at line 371 of file SSkinMeshBuffer.h.

References BoundingBoxNeedsRecalculated.

virtual void irr::scene::SSkinMeshBuffer::convertTo2TCoords | ( |  | ) | `[inline, virtual]`

Convert to 2tcoords vertex type.

Definition at line 190 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.

virtual void irr::scene::SSkinMeshBuffer::convertToTangents | ( |  | ) | `[inline, virtual]`

Convert to tangents vertex type.

Definition at line 209 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.

virtual const core::aabbox3d<f32>& irr::scene::SSkinMeshBuffer::getBoundingBox | ( |  | ) | const`[inline, virtual]`

Get bounding box.

Implements irr::scene::IMeshBuffer.

Definition at line 123 of file SSkinMeshBuffer.h.

References BoundingBox.

virtual u32 irr::scene::SSkinMeshBuffer::getChangedID_Index | ( |  | ) | const`[inline, virtual]`

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 368 of file SSkinMeshBuffer.h.

References ChangedID_Index.

virtual u32 irr::scene::SSkinMeshBuffer::getChangedID_Vertex | ( |  | ) | const`[inline, virtual]`

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 366 of file SSkinMeshBuffer.h.

References ChangedID_Vertex.

virtual E_HARDWARE_MAPPING irr::scene::SSkinMeshBuffer::getHardwareMappingHint_Index | ( |  | ) | const`[inline, virtual]`

get the current hardware mapping hint for index buffers

Implements irr::scene::IMeshBuffer.

Definition at line 338 of file SSkinMeshBuffer.h.

References MappingHint_Index.

virtual E_HARDWARE_MAPPING irr::scene::SSkinMeshBuffer::getHardwareMappingHint_Vertex | ( |  | ) | const`[inline, virtual]`

get the current hardware mapping hint for vertex buffers

Implements irr::scene::IMeshBuffer.

Definition at line 332 of file SSkinMeshBuffer.h.

References MappingHint_Vertex.

virtual u32 irr::scene::SSkinMeshBuffer::getIndexCount | ( |  | ) | const`[inline, virtual]`

Get index count.

Implements irr::scene::IMeshBuffer.

Definition at line 117 of file SSkinMeshBuffer.h.

References Indices, and irr::core::array< T, TAlloc >::size().

virtual video::E_INDEX_TYPE irr::scene::SSkinMeshBuffer::getIndexType | ( |  | ) | const`[inline, virtual]`

Get type of index data which is stored in this meshbuffer.

Returns:
  Index type of this buffer.

Implements irr::scene::IMeshBuffer.

Definition at line 102 of file SSkinMeshBuffer.h.

References irr::video::EIT_16BIT.

virtual u16* irr::scene::SSkinMeshBuffer::getIndices | ( |  | ) | `[inline, virtual]`

Get pointer to index array.

Implements irr::scene::IMeshBuffer.

Definition at line 111 of file SSkinMeshBuffer.h.

References Indices, and irr::core::array< T, TAlloc >::pointer().

virtual const u16* irr::scene::SSkinMeshBuffer::getIndices | ( |  | ) | const`[inline, virtual]`

Get pointer to index array.

Implements irr::scene::IMeshBuffer.

Definition at line 105 of file SSkinMeshBuffer.h.

References irr::core::array< T, TAlloc >::const_pointer(), and Indices.

virtual video::SMaterial& irr::scene::SSkinMeshBuffer::getMaterial | ( |  | ) | `[inline, virtual]`

Get Material of this buffer.

Implements irr::scene::IMeshBuffer.

Definition at line 39 of file SSkinMeshBuffer.h.

References Material.

virtual const video::SMaterial& irr::scene::SSkinMeshBuffer::getMaterial | ( |  | ) | const`[inline, virtual]`

Get Material of this buffer.

Implements irr::scene::IMeshBuffer.

Definition at line 33 of file SSkinMeshBuffer.h.

References Material.

virtual core::vector3df& irr::scene::SSkinMeshBuffer::getNormal | ( | u32 | i | ) | `[inline, virtual]`

returns normal of vertex i

Implements irr::scene::IMeshBuffer.

Definition at line 284 of file SSkinMeshBuffer.h.

References irr::video::EVT_2TCOORDS, irr::video::EVT_TANGENTS, VertexType, Vertices_2TCoords, Vertices_Standard, and Vertices_Tangents.

virtual const core::vector3df& irr::scene::SSkinMeshBuffer::getNormal | ( | u32 | i | ) | const`[inline, virtual]`

returns normal of vertex i

Implements irr::scene::IMeshBuffer.

Definition at line 270 of file SSkinMeshBuffer.h.

References irr::video::EVT_2TCOORDS, irr::video::EVT_TANGENTS, VertexType, Vertices_2TCoords, Vertices_Standard, and Vertices_Tangents.

virtual core::vector3df& irr::scene::SSkinMeshBuffer::getPosition | ( | u32 | i | ) | `[inline, virtual]`

returns position of vertex i

Implements irr::scene::IMeshBuffer.

Definition at line 256 of file SSkinMeshBuffer.h.

References irr::video::EVT_2TCOORDS, irr::video::EVT_TANGENTS, VertexType, Vertices_2TCoords, Vertices_Standard, and Vertices_Tangents.

virtual const core::vector3df& irr::scene::SSkinMeshBuffer::getPosition | ( | u32 | i | ) | const`[inline, virtual]`

returns position of vertex i

Implements irr::scene::IMeshBuffer.

Definition at line 242 of file SSkinMeshBuffer.h.

References irr::video::EVT_2TCOORDS, irr::video::EVT_TANGENTS, VertexType, Vertices_2TCoords, Vertices_Standard, and Vertices_Tangents.

virtual core::vector2df& irr::scene::SSkinMeshBuffer::getTCoords | ( | u32 | i | ) | `[inline, virtual]`

returns texture coords of vertex i

Implements irr::scene::IMeshBuffer.

Definition at line 312 of file SSkinMeshBuffer.h.

References irr::video::EVT_2TCOORDS, irr::video::EVT_TANGENTS, VertexType, Vertices_2TCoords, Vertices_Standard, and Vertices_Tangents.

virtual const core::vector2df& irr::scene::SSkinMeshBuffer::getTCoords | ( | u32 | i | ) | const`[inline, virtual]`

returns texture coords of vertex i

Implements irr::scene::IMeshBuffer.

Definition at line 298 of file SSkinMeshBuffer.h.

References irr::video::EVT_2TCOORDS, irr::video::EVT_TANGENTS, VertexType, Vertices_2TCoords, Vertices_Standard, and Vertices_Tangents.

virtual video::S3DVertex* irr::scene::SSkinMeshBuffer::getVertex | ( | u32 | index | ) | `[inline, virtual]`

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.

virtual u32 irr::scene::SSkinMeshBuffer::getVertexCount | ( |  | ) | const`[inline, virtual]`

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.

virtual video::E_VERTEX_TYPE irr::scene::SSkinMeshBuffer::getVertexType | ( |  | ) | const`[inline, virtual]`

Get vertex type.

Implements irr::scene::IMeshBuffer.

Definition at line 184 of file SSkinMeshBuffer.h.

References VertexType.

virtual void* irr::scene::SSkinMeshBuffer::getVertices | ( |  | ) | `[inline, virtual]`

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.

virtual const void* irr::scene::SSkinMeshBuffer::getVertices | ( |  | ) | const`[inline, virtual]`

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.

virtual void irr::scene::SSkinMeshBuffer::recalculateBoundingBox | ( |  | ) | `[inline, virtual]`

Recalculate bounding box.

Implements irr::scene::IMeshBuffer.

Definition at line 135 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.

virtual void irr::scene::SSkinMeshBuffer::setBoundingBox | ( | const core::aabbox3df & | box | ) | `[inline, virtual]`

Set bounding box.

Implements irr::scene::IMeshBuffer.

Definition at line 129 of file SSkinMeshBuffer.h.

References BoundingBox.

virtual void irr::scene::SSkinMeshBuffer::setDirty | ( | E_BUFFER_TYPE | Buffer = `EBT_VERTEX_AND_INDEX` | ) | `[inline, virtual]`

flags the mesh as changed, reloads hardware buffers

Implements irr::scene::IMeshBuffer.

Definition at line 358 of file SSkinMeshBuffer.h.

References ChangedID_Index, ChangedID_Vertex, irr::scene::EBT_INDEX, irr::scene::EBT_VERTEX, and irr::scene::EBT_VERTEX_AND_INDEX.

virtual void irr::scene::SSkinMeshBuffer::setHardwareMappingHint | ( | E_HARDWARE_MAPPING | NewMappingHint,
|  | E_BUFFER_TYPE | Buffer = `EBT_VERTEX_AND_INDEX` |
| ) |  |  | `[inline, virtual]`

set the hardware mapping hint, for driver

Implements irr::scene::IMeshBuffer.

Definition at line 344 of file SSkinMeshBuffer.h.

References irr::scene::EBT_INDEX, irr::scene::EBT_VERTEX, irr::scene::EBT_VERTEX_AND_INDEX, MappingHint_Index, and MappingHint_Vertex.

## Member Data Documentation

core::aabbox3d<f32> irr::scene::SSkinMeshBuffer::BoundingBox

Definition at line 387 of file SSkinMeshBuffer.h.

Referenced by getBoundingBox(), recalculateBoundingBox(), and setBoundingBox().

bool irr::scene::SSkinMeshBuffer::BoundingBoxNeedsRecalculated

Definition at line 393 of file SSkinMeshBuffer.h.

Referenced by boundingBoxNeedsRecalculated(), and recalculateBoundingBox().

u32 irr::scene::SSkinMeshBuffer::ChangedID_Index

Definition at line 379 of file SSkinMeshBuffer.h.

Referenced by getChangedID_Index(), and setDirty().

u32 irr::scene::SSkinMeshBuffer::ChangedID_Vertex

Definition at line 378 of file SSkinMeshBuffer.h.

Referenced by getChangedID_Vertex(), and setDirty().

core::array<u16> irr::scene::SSkinMeshBuffer::Indices

Definition at line 376 of file SSkinMeshBuffer.h.

Referenced by getIndexCount(), and getIndices().

E_HARDWARE_MAPPING irr::scene::SSkinMeshBuffer::MappingHint_Index

Definition at line 391 of file SSkinMeshBuffer.h.

Referenced by getHardwareMappingHint_Index(), and setHardwareMappingHint().

E_HARDWARE_MAPPING irr::scene::SSkinMeshBuffer::MappingHint_Vertex

Definition at line 390 of file SSkinMeshBuffer.h.

Referenced by getHardwareMappingHint_Vertex(), and setHardwareMappingHint().

video::SMaterial irr::scene::SSkinMeshBuffer::Material

Definition at line 384 of file SSkinMeshBuffer.h.

Referenced by getMaterial().

core::matrix4 irr::scene::SSkinMeshBuffer::Transformation

Definition at line 382 of file SSkinMeshBuffer.h.

video::E_VERTEX_TYPE irr::scene::SSkinMeshBuffer::VertexType

Definition at line 385 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 374 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 375 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 373 of file SSkinMeshBuffer.h.

Referenced by convertToTangents(), getNormal(), getPosition(), getTCoords(), getVertex(), getVertexCount(), getVertices(), and recalculateBoundingBox().

The documentation for this struct was generated from the following file:

- SSkinMeshBuffer.h

| The Irrlicht Engine Documentation © 2003-2010 by Nikolaus Gebhardt. Generated on Sun Oct 24 12:42:09 2010 by Doxygen (1.6.2)