Loading...
Searching...
No Matches
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:

## Public Member Functions

| SSkinMeshBuffer (video::E_VERTEX_TYPE vt=video::EVT_STANDARD)
| Default constructor.
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
Public Member Functions inherited from irr::IReferenceCounted
| IReferenceCounted ()
| Constructor.
virtual | ~IReferenceCounted ()
| Destructor.
bool | drop () const
| Drops the object. Decrements the reference counter by one.
const c8 * | getDebugName () const
| Returns the debug name of the object.
s32 | getReferenceCount () const
| Get the reference count.
void | grab () const
| Grabs the object. Increments the reference counter by one.

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

## Additional Inherited Members

Protected Member Functions inherited from irr::IReferenceCounted
void | setDebugName (const c8 *newName)
| Sets the debug name of the object.

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

## SSkinMeshBuffer()

irr::scene::SSkinMeshBuffer::SSkinMeshBuffer | ( | video::E_VERTEX_TYPE | vt = video::EVT_STANDARD | ) |

inline

Default constructor.

Definition at line 22 of file SSkinMeshBuffer.h.

References BoundingBoxNeedsRecalculated, ChangedID_Index, ChangedID_Vertex, irr::scene::EHM_NEVER, irr::video::EVT_STANDARD, MappingHint_Index, MappingHint_Vertex, irr::IReferenceCounted::setDebugName(), and VertexType.

## Member Function Documentation

## append() [1/2]

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.

## append() [2/2]

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.

## boundingBoxNeedsRecalculated()

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.

## convertTo2TCoords()

virtual void irr::scene::SSkinMeshBuffer::convertTo2TCoords | ( |  | ) |

inline virtual

Convert to 2tcoords vertex type.

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

## convertToTangents()

virtual void irr::scene::SSkinMeshBuffer::convertToTangents | ( |  | ) |

inline virtual

Convert to tangents vertex type.

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

## getBoundingBox()

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.

## getChangedID_Index()

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.

## getChangedID_Vertex()

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.

## getHardwareMappingHint_Index()

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.

## getHardwareMappingHint_Vertex()

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.

## getIndexCount()

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.

## getIndexType()

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.

## getIndices() [1/2]

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.

## getIndices() [2/2]

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

## getMaterial() [1/2]

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.

## getMaterial() [2/2]

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.

## getNormal() [1/2]

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.

## getNormal() [2/2]

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.

## getPosition() [1/2]

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.

## getPosition() [2/2]

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.

## getTCoords() [1/2]

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.

## getTCoords() [2/2]

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.

## getVertex()

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.

## getVertexCount()

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, VertexType, Vertices_2TCoords, Vertices_Standard, and Vertices_Tangents.

## getVertexType()

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.

## getVertices() [1/2]

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, VertexType, Vertices_2TCoords, Vertices_Standard, and Vertices_Tangents.

## getVertices() [2/2]

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::video::EVT_2TCOORDS, irr::video::EVT_TANGENTS, VertexType, Vertices_2TCoords, Vertices_Standard, and Vertices_Tangents.

## recalculateBoundingBox()

virtual void irr::scene::SSkinMeshBuffer::recalculateBoundingBox | ( |  | ) |

inline virtual

Recalculate bounding box.

Implements irr::scene::IMeshBuffer.

Definition at line 138 of file SSkinMeshBuffer.h.

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

## setBoundingBox()

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.

## setDirty()

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.

## setHardwareMappingHint()

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

## BoundingBox

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

Definition at line 390 of file SSkinMeshBuffer.h.

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

## BoundingBoxNeedsRecalculated

bool irr::scene::SSkinMeshBuffer::BoundingBoxNeedsRecalculated

Definition at line 396 of file SSkinMeshBuffer.h.

Referenced by SSkinMeshBuffer(), boundingBoxNeedsRecalculated(), and recalculateBoundingBox().

## ChangedID_Index

u32 irr::scene::SSkinMeshBuffer::ChangedID_Index

Definition at line 382 of file SSkinMeshBuffer.h.

Referenced by SSkinMeshBuffer(), getChangedID_Index(), and setDirty().

## ChangedID_Vertex

u32 irr::scene::SSkinMeshBuffer::ChangedID_Vertex

Definition at line 381 of file SSkinMeshBuffer.h.

Referenced by SSkinMeshBuffer(), getChangedID_Vertex(), and setDirty().

## Indices

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

Definition at line 379 of file SSkinMeshBuffer.h.

Referenced by getIndexCount(), getIndices(), and getIndices().

## MappingHint_Index

E_HARDWARE_MAPPING irr::scene::SSkinMeshBuffer::MappingHint_Index

Definition at line 394 of file SSkinMeshBuffer.h.

Referenced by SSkinMeshBuffer(), getHardwareMappingHint_Index(), and setHardwareMappingHint().

## MappingHint_Vertex

E_HARDWARE_MAPPING irr::scene::SSkinMeshBuffer::MappingHint_Vertex

Definition at line 393 of file SSkinMeshBuffer.h.

Referenced by SSkinMeshBuffer(), getHardwareMappingHint_Vertex(), and setHardwareMappingHint().

## Material

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

Definition at line 387 of file SSkinMeshBuffer.h.

Referenced by getMaterial(), and getMaterial().

## Transformation

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

Definition at line 385 of file SSkinMeshBuffer.h.

## VertexType

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

Definition at line 388 of file SSkinMeshBuffer.h.

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

## Vertices_2TCoords

core::array<video::S3DVertex2TCoords> irr::scene::SSkinMeshBuffer::Vertices_2TCoords

Definition at line 377 of file SSkinMeshBuffer.h.

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

## Vertices_Standard

core::array<video::S3DVertex> irr::scene::SSkinMeshBuffer::Vertices_Standard

Definition at line 378 of file SSkinMeshBuffer.h.

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

## Vertices_Tangents

core::array<video::S3DVertexTangents> irr::scene::SSkinMeshBuffer::Vertices_Tangents

Definition at line 376 of file SSkinMeshBuffer.h.

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

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

- SSkinMeshBuffer.h

- Irrlicht Engine Documentation © 2003-2012 by Nikolaus Gebhardt. Generated on for Irrlicht 3D Engine by Doxygen 1.15.0