Nirtcpp 2.1.0
Nirtcpp is a high-performance c++ graphics engine.
Loading...
Searching...
No Matches
nirt::scene::CDynamicMeshBuffer Class Reference

Implementation of the IMeshBuffer interface for which can work with 16 and 32 bit indices as well as different vertex types. More...

#include <nirtcpp/core/engine/CDynamicMeshBuffer.hpp>

Inheritance diagram for nirt::scene::CDynamicMeshBuffer:
Inheritance graph
Collaboration diagram for nirt::scene::CDynamicMeshBuffer:
Collaboration graph

Public Member Functions

 CDynamicMeshBuffer (video::E_VERTEX_TYPE vertexType, video::E_INDEX_TYPE indexType)
 constructor
 
virtual ~CDynamicMeshBuffer ()
 destructor
 
virtual IVertexBuffergetVertexBuffer () const override
 
virtual IIndexBuffergetIndexBuffer () const override
 
virtual void setVertexBuffer (IVertexBuffer *newVertexBuffer) override
 
virtual void setIndexBuffer (IIndexBuffer *newIndexBuffer) override
 
virtual const video::SMaterialgetMaterial () const override
 Get Material of this buffer.
 
virtual video::SMaterialgetMaterial () override
 Get Material of this buffer.
 
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 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 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 EMESH_BUFFER_TYPE getType () const override
 Returns type of the class implementing the IMeshBuffer.
 
virtual IMeshBuffercreateClone (int cloneFlags) const override
 Create copy of the meshbuffer.
 
- Public Member Functions inherited from nirt::scene::IDynamicMeshBuffer
virtual E_HARDWARE_MAPPING getHardwareMappingHint_Vertex () const override
 get the current hardware mapping hint
 
virtual E_HARDWARE_MAPPING getHardwareMappingHint_Index () const override
 get the current hardware mapping hint
 
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 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 video::E_VERTEX_TYPE getVertexType () const override
 Get type of vertex data which is stored in this meshbuffer.
 
virtual const void * getVertices () const override
 Get access to vertex data. The data is an array of vertices.
 
virtual void * getVertices () override
 Get access to vertex data. The data is an array of vertices.
 
virtual u32 getVertexCount () const override
 Get amount of vertices in meshbuffer.
 
virtual video::E_INDEX_TYPE getIndexType () const override
 Get type of index data which is stored in this meshbuffer.
 
virtual const u16getIndices () const override
 Get access to indices.
 
virtual u16getIndices () override
 Get access to indices.
 
virtual u32 getIndexCount () const override
 Get amount of indices in this meshbuffer.
 
virtual const core::vector3dfgetPosition (u32 i) const override
 returns position of vertex i
 
virtual core::vector3dfgetPosition (u32 i) override
 returns position of vertex i
 
virtual const core::vector2dfgetTCoords (u32 i) const override
 returns texture coords of vertex i
 
virtual core::vector2dfgetTCoords (u32 i) override
 returns texture coords of vertex i
 
virtual const core::vector3dfgetNormal (u32 i) const override
 returns normal of vertex i
 
virtual core::vector3dfgetNormal (u32 i) override
 returns normal of vertex i
 
virtual video::SColorgetColor (u32 i) override
 returns color of vertex i
 
virtual const video::SColorgetColor (u32 i) const override
 returns color of vertex i
 
- Public Member Functions inherited from nirt::scene::IMeshBuffer
virtual u32 getPrimitiveCount () const
 Calculate how many geometric primitives are used by this meshbuffer.
 
- Public Member Functions inherited from nirt::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 c8getDebugName () const
 Returns the debug name of the object.
 

Public Attributes

video::SMaterial Material
 
core::aabbox3d< f32BoundingBox
 
E_PRIMITIVE_TYPE PrimitiveType
 Primitive type used for rendering (triangles, lines, ...)
 

Additional Inherited Members

- Public Types inherited from nirt::scene::IMeshBuffer
enum  ECloneFlags { ECF_VERTICES = 1 , ECF_INDICES = 2 }
 Bitflags with options for cloning. More...
 
- Protected Member Functions inherited from nirt::IReferenceCounted
void setDebugName (const c8 *newName)
 Sets the debug name of the object.
 

Detailed Description

Implementation of the IMeshBuffer interface for which can work with 16 and 32 bit indices as well as different vertex types.

Member Function Documentation

◆ append() [1/2]

virtual void nirt::scene::CDynamicMeshBuffer::append ( const IMeshBuffer *const  other)
inlineoverridevirtual

Append the meshbuffer to the current buffer.

Only works for compatible vertex types

Parameters
otherBuffer to append to this one.

Implements nirt::scene::IMeshBuffer.

◆ append() [2/2]

virtual void nirt::scene::CDynamicMeshBuffer::append ( const void *const  vertices,
u32  numVertices,
const u16 *const  indices,
u32  numIndices 
)
inlineoverridevirtual

Append the vertices and indices to the current buffer.

Only works for compatible vertex types.

Parameters
verticesPointer to a vertex array.
numVerticesNumber of vertices in the array.
indicesPointer to index array.
numIndicesNumber of indices in array.

Implements nirt::scene::IMeshBuffer.

◆ createClone()

virtual IMeshBuffer * nirt::scene::CDynamicMeshBuffer::createClone ( int  cloneFlags) const
inlineoverridevirtual

Create copy of the meshbuffer.

Implements nirt::scene::IMeshBuffer.

◆ getBoundingBox()

virtual const core::aabbox3d< f32 > & nirt::scene::CDynamicMeshBuffer::getBoundingBox ( ) const
inlineoverridevirtual

Get bounding box.

Implements nirt::scene::IMeshBuffer.

◆ getIndexBuffer()

virtual IIndexBuffer & nirt::scene::CDynamicMeshBuffer::getIndexBuffer ( ) const
inlineoverridevirtual

◆ getMaterial() [1/2]

virtual const video::SMaterial & nirt::scene::CDynamicMeshBuffer::getMaterial ( ) const
inlineoverridevirtual

Get Material of this buffer.

Implements nirt::scene::IMeshBuffer.

◆ getMaterial() [2/2]

virtual video::SMaterial & nirt::scene::CDynamicMeshBuffer::getMaterial ( )
inlineoverridevirtual

Get Material of this buffer.

Implements nirt::scene::IMeshBuffer.

◆ getPrimitiveType()

virtual E_PRIMITIVE_TYPE nirt::scene::CDynamicMeshBuffer::getPrimitiveType ( ) const
inlineoverridevirtual

Get the kind of primitive geometry which is used by the meshbuffer.

Implements nirt::scene::IMeshBuffer.

◆ getType()

virtual EMESH_BUFFER_TYPE nirt::scene::CDynamicMeshBuffer::getType ( ) const
inlineoverridevirtual

Returns type of the class implementing the IMeshBuffer.

Reimplemented from nirt::scene::IMeshBuffer.

◆ getVertexBuffer()

virtual IVertexBuffer & nirt::scene::CDynamicMeshBuffer::getVertexBuffer ( ) const
inlineoverridevirtual

◆ recalculateBoundingBox()

virtual void nirt::scene::CDynamicMeshBuffer::recalculateBoundingBox ( )
inlineoverridevirtual

Recalculate bounding box.

Implements nirt::scene::IMeshBuffer.

◆ setBoundingBox()

virtual void nirt::scene::CDynamicMeshBuffer::setBoundingBox ( const core::aabbox3df box)
inlineoverridevirtual

Set bounding box.

Implements nirt::scene::IMeshBuffer.

◆ setIndexBuffer()

virtual void nirt::scene::CDynamicMeshBuffer::setIndexBuffer ( IIndexBuffer newIndexBuffer)
inlineoverridevirtual

◆ setPrimitiveType()

virtual void nirt::scene::CDynamicMeshBuffer::setPrimitiveType ( E_PRIMITIVE_TYPE  type)
inlineoverridevirtual

Describe what kind of primitive geometry is used by the meshbuffer.

Implements nirt::scene::IMeshBuffer.

◆ setVertexBuffer()

virtual void nirt::scene::CDynamicMeshBuffer::setVertexBuffer ( IVertexBuffer newVertexBuffer)
inlineoverridevirtual

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

Nirtcpp    @cppfx.xyz

Esvcpp    esv::print