Jimcpp 2.1.0
Jimcpp is a high-performance c++ graphics engine.
|
A mesh buffer able to choose between S3DVertex2TCoords, S3DVertex and S3DVertexTangents at runtime. More...
#include <jimcpp/core/engine/SSkinMeshBuffer.hpp>
Public Member Functions | |
SSkinMeshBuffer (video::E_VERTEX_TYPE vt=video::EVT_STANDARD) | |
Default constructor. | |
virtual const video::SMaterial & | getMaterial () const override |
Get Material of this buffer. | |
virtual video::SMaterial & | getMaterial () override |
Get Material of this buffer. | |
virtual video::S3DVertex * | getVertex (u32 index) |
Get standard vertex at given index. | |
virtual const void * | getVertices () const override |
Get pointer to vertex array. | |
virtual void * | getVertices () override |
Get pointer to vertex array. | |
virtual u32 | getVertexCount () const override |
Get vertex count. | |
virtual video::E_INDEX_TYPE | getIndexType () const override |
Get type of index data which is stored in this meshbuffer. | |
virtual const u16 * | getIndices () const override |
Get pointer to index array. | |
virtual u16 * | getIndices () override |
Get pointer to index array. | |
virtual u32 | getIndexCount () const override |
Get index count. | |
virtual const core::aabbox3d< f32 > & | getBoundingBox () const override |
Get bounding box. | |
virtual void | setBoundingBox (const core::aabbox3df &box) override |
Set bounding box. | |
virtual void | recalculateBoundingBox () override |
Recalculate bounding box. | |
virtual video::E_VERTEX_TYPE | getVertexType () const override |
Get vertex type. | |
void | convertTo2TCoords () |
Convert to 2tcoords vertex type. | |
void | convertToTangents () |
Convert to tangents vertex type. | |
virtual const core::vector3df & | getPosition (u32 i) const override |
returns position of vertex i | |
virtual core::vector3df & | getPosition (u32 i) override |
returns position of vertex i | |
virtual const core::vector3df & | getNormal (u32 i) const override |
returns normal of vertex i | |
virtual core::vector3df & | getNormal (u32 i) override |
returns normal of vertex i | |
virtual const core::vector2df & | getTCoords (u32 i) const override |
returns texture coords of vertex i | |
virtual core::vector2df & | getTCoords (u32 i) override |
returns texture coords of vertex i | |
virtual video::SColor & | getColor (u32 i) override |
returns color of vertex i | |
virtual const video::SColor & | getColor (u32 i) const override |
returns color of vertex i | |
virtual void | append (const void *const vertices, u32 numVertices, const u16 *const indices, u32 numIndices) override |
append the vertices and indices to the current buffer | |
virtual void | append (const IMeshBuffer *const other) override |
append the meshbuffer to the current buffer | |
virtual E_HARDWARE_MAPPING | getHardwareMappingHint_Vertex () const override |
get the current hardware mapping hint for vertex buffers | |
virtual E_HARDWARE_MAPPING | getHardwareMappingHint_Index () const override |
get the current hardware mapping hint for index buffers | |
virtual void | setHardwareMappingHint (E_HARDWARE_MAPPING NewMappingHint, E_BUFFER_TYPE Buffer=EBT_VERTEX_AND_INDEX) override |
set the hardware mapping hint, for driver | |
virtual void | setPrimitiveType (E_PRIMITIVE_TYPE type) override |
Describe what kind of primitive geometry is used by the meshbuffer. | |
virtual E_PRIMITIVE_TYPE | getPrimitiveType () const override |
Get the kind of primitive geometry which is used by the meshbuffer. | |
virtual void | setDirty (E_BUFFER_TYPE Buffer=EBT_VERTEX_AND_INDEX) override |
flags the mesh as changed, reloads hardware buffers | |
virtual u32 | getChangedID_Vertex () const override |
Get the currently used ID for identification of changes. | |
virtual u32 | getChangedID_Index () const override |
Get the currently used ID for identification of changes. | |
virtual EMESH_BUFFER_TYPE | getType () const override |
Returns type of the class implementing the IMeshBuffer. | |
virtual IMeshBuffer * | createClone (int cloneFlags) const override |
Create copy of the meshbuffer. | |
void | boundingBoxNeedsRecalculated (void) |
Call this after changing the positions of any vertex. | |
Public Member Functions inherited from jpp::scene::IMeshBuffer | |
virtual u32 | getPrimitiveCount () const |
Calculate how many geometric primitives are used by this meshbuffer. | |
Public Member Functions inherited from jpp::IReferenceCounted | |
IReferenceCounted () | |
Constructor. | |
virtual | ~IReferenceCounted () |
Destructor. | |
void | grab () const |
Grabs the object. Increments the reference counter by one. | |
bool | drop () const |
Drops the object. Decrements the reference counter by one. | |
s32 | getReferenceCount () const |
Get the reference count. | |
const c8 * | getDebugName () const |
Returns the debug name of the object. | |
Public Attributes | |
core::array< video::S3DVertexTangents > | Vertices_Tangents |
core::array< video::S3DVertex2TCoords > | Vertices_2TCoords |
core::array< video::S3DVertex > | Vertices_Standard |
core::array< u16 > | Indices |
u32 | ChangedID_Vertex |
u32 | ChangedID_Index |
core::matrix4 | Transformation |
video::SMaterial | Material |
video::E_VERTEX_TYPE | VertexType |
core::aabbox3d< f32 > | BoundingBox |
E_PRIMITIVE_TYPE | PrimitiveType |
Primitive type used for rendering (triangles, lines, ...) | |
E_HARDWARE_MAPPING | MappingHint_Vertex:3 |
E_HARDWARE_MAPPING | MappingHint_Index:3 |
bool | BoundingBoxNeedsRecalculated:1 |
Additional Inherited Members | |
Public Types inherited from jpp::scene::IMeshBuffer | |
enum | ECloneFlags { ECF_VERTICES = 1 , ECF_INDICES = 2 } |
Bitflags with options for cloning. More... | |
Protected Member Functions inherited from jpp::IReferenceCounted | |
void | setDebugName (const c8 *newName) |
Sets the debug name of the object. | |
A mesh buffer able to choose between S3DVertex2TCoords, S3DVertex and S3DVertexTangents at runtime.
|
inlineoverridevirtual |
append the meshbuffer to the current buffer
Implements jpp::scene::IMeshBuffer.
|
inlineoverridevirtual |
append the vertices and indices to the current buffer
Implements jpp::scene::IMeshBuffer.
|
inlineoverridevirtual |
Create copy of the meshbuffer.
Implements jpp::scene::IMeshBuffer.
|
inlineoverridevirtual |
Get bounding box.
Implements jpp::scene::IMeshBuffer.
|
inlineoverridevirtual |
Get the currently used ID for identification of changes.
This shouldn't be used for anything outside the VideoDriver.
Implements jpp::scene::IMeshBuffer.
|
inlineoverridevirtual |
Get the currently used ID for identification of changes.
This shouldn't be used for anything outside the VideoDriver.
Implements jpp::scene::IMeshBuffer.
|
inlineoverridevirtual |
returns color of vertex i
Implements jpp::scene::IMeshBuffer.
|
inlineoverridevirtual |
returns color of vertex i
Implements jpp::scene::IMeshBuffer.
|
inlineoverridevirtual |
get the current hardware mapping hint for index buffers
Implements jpp::scene::IMeshBuffer.
|
inlineoverridevirtual |
get the current hardware mapping hint for vertex buffers
Implements jpp::scene::IMeshBuffer.
|
inlineoverridevirtual |
Get index count.
Implements jpp::scene::IMeshBuffer.
|
inlineoverridevirtual |
Get type of index data which is stored in this meshbuffer.
Implements jpp::scene::IMeshBuffer.
|
inlineoverridevirtual |
Get pointer to index array.
Implements jpp::scene::IMeshBuffer.
|
inlineoverridevirtual |
Get pointer to index array.
Implements jpp::scene::IMeshBuffer.
|
inlineoverridevirtual |
Get Material of this buffer.
Implements jpp::scene::IMeshBuffer.
|
inlineoverridevirtual |
Get Material of this buffer.
Implements jpp::scene::IMeshBuffer.
|
inlineoverridevirtual |
returns normal of vertex i
Implements jpp::scene::IMeshBuffer.
|
inlineoverridevirtual |
returns normal of vertex i
Implements jpp::scene::IMeshBuffer.
|
inlineoverridevirtual |
returns position of vertex i
Implements jpp::scene::IMeshBuffer.
|
inlineoverridevirtual |
returns position of vertex i
Implements jpp::scene::IMeshBuffer.
|
inlineoverridevirtual |
Get the kind of primitive geometry which is used by the meshbuffer.
Implements jpp::scene::IMeshBuffer.
|
inlineoverridevirtual |
returns texture coords of vertex i
Implements jpp::scene::IMeshBuffer.
|
inlineoverridevirtual |
returns texture coords of vertex i
Implements jpp::scene::IMeshBuffer.
|
inlineoverridevirtual |
Returns type of the class implementing the IMeshBuffer.
Reimplemented from jpp::scene::IMeshBuffer.
|
inlineoverridevirtual |
Get vertex count.
Implements jpp::scene::IMeshBuffer.
|
inlineoverridevirtual |
Get vertex type.
Implements jpp::scene::IMeshBuffer.
|
inlineoverridevirtual |
Get pointer to vertex array.
Implements jpp::scene::IMeshBuffer.
|
inlineoverridevirtual |
Get pointer to vertex array.
Implements jpp::scene::IMeshBuffer.
|
inlineoverridevirtual |
Recalculate bounding box.
Implements jpp::scene::IMeshBuffer.
|
inlineoverridevirtual |
Set bounding box.
Implements jpp::scene::IMeshBuffer.
|
inlineoverridevirtual |
flags the mesh as changed, reloads hardware buffers
Implements jpp::scene::IMeshBuffer.
|
inlineoverridevirtual |
set the hardware mapping hint, for driver
Implements jpp::scene::IMeshBuffer.
|
inlineoverridevirtual |
Describe what kind of primitive geometry is used by the meshbuffer.
Implements jpp::scene::IMeshBuffer.