| Irrlicht 3D Engine |

Public Member Functions | Public Attributes
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

- SSkinMeshBuffer (video::E_VERTEX_TYPE vt=video::EVT_STANDARD)
    Default constructor.
- 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 void append (const IMeshBuffer *const other)
    append the meshbuffer 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 const u16 * getIndices () const
    Get pointer to index array.
- virtual u16 * getIndices ()
    Get pointer to index array.
- virtual const video::SMaterial & getMaterial () const
    Get Material of this buffer.
- virtual video::SMaterial & getMaterial ()
    Get Material of this buffer.
- virtual const core::vector3df & getNormal (u32 i) const
    returns normal of vertex i
- virtual core::vector3df & getNormal (u32 i)
    returns normal of vertex i
- virtual const core::vector3df & getPosition (u32 i) const
    returns position of vertex i
- virtual core::vector3df & getPosition (u32 i)
    returns position of vertex i
- virtual const core::vector2df & getTCoords (u32 i) const
    returns texture coords of vertex i
- virtual core::vector2df & getTCoords (u32 i)
    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 const void * getVertices () const
    Get pointer to vertex array.
- virtual void * getVertices ()
    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

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

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

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

Call this after changing the positions of any vertex.

Definition at line 374 of file SSkinMeshBuffer.h.

References BoundingBoxNeedsRecalculated.

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

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.

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

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.

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

Get bounding box.

Implements irr::scene::IMeshBuffer.

Definition at line 126 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 371 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 369 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 341 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 335 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 120 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 const u16* irr::scene::SSkinMeshBuffer::getIndices | ( |  | ) | const`[inline, virtual]`

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.

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

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().

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 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 core::vector3df& irr::scene::SSkinMeshBuffer::getNormal | ( | u32 | i | ) | const`[inline, virtual]`

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.

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

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.

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 245 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 259 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 301 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 315 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 187 of file SSkinMeshBuffer.h.

References VertexType.

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::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 void irr::scene::SSkinMeshBuffer::recalculateBoundingBox | ( |  | ) | `[inline, virtual]`

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.

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

Set bounding box.

Implements irr::scene::IMeshBuffer.

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

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 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.

## Member Data Documentation

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().

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

- SSkinMeshBuffer.h