OGRE 14.3
Object-Oriented Graphics Rendering Engine
Loading...
Searching...
No Matches
Ogre::Volume::MeshBuilder Class Reference

Class to build up a mesh with vertices and indices. More...

#include <OgreVolumeMeshBuilder.h>

+ Inheritance diagram for Ogre::Volume::MeshBuilder:

Public Member Functions

 MeshBuilder (void)
 Constructor.
 
void addTriangle (const Vector3 &v0, const Vector3 &n0, const Vector3 &v1, const Vector3 &n1, const Vector3 &v2, const Vector3 &n2)
 Adds a triangle to the mesh with reusing already existent vertices via their index.
 
void executeCallback (MeshBuilderCallback *callback, const SimpleRenderable *simpleRenderable, size_t level, int inProcess) const
 Executes a MeshBuilderCallback on this instance.
 
size_t generateBuffers (RenderOperation &operation)
 Generates the vertex- and indexbuffer of this mesh on the given RenderOperation.
 
EntitygenerateWithManualObject (SceneManager *sceneManager, const String &name, const String &material)
 Generates an entity via a ManualObject.
 
AxisAlignedBox getBoundingBox (void)
 Gets the bounding box of the mesh.
 

Static Public Member Functions

static void addCubeToManualObject (ManualObject *manual, const Vector3 &c0, const Vector3 &c1, const Vector3 &c2, const Vector3 &c3, const Vector3 &c4, const Vector3 &c5, const Vector3 &c6, const Vector3 &c7, uint32 &baseIndex)
 Adds a cube to a manual object rendering lines.
 

Detailed Description

Class to build up a mesh with vertices and indices.

Constructor & Destructor Documentation

◆ MeshBuilder()

Ogre::Volume::MeshBuilder::MeshBuilder ( void )

Constructor.

Member Function Documentation

◆ addCubeToManualObject()

static void Ogre::Volume::MeshBuilder::addCubeToManualObject ( ManualObject * manual,
const Vector3 & c0,
const Vector3 & c1,
const Vector3 & c2,
const Vector3 & c3,
const Vector3 & c4,
const Vector3 & c5,
const Vector3 & c6,
const Vector3 & c7,
uint32 & baseIndex )
inlinestatic

Adds a cube to a manual object rendering lines.

Corner numeration: 4 5 7 6 0 1 3 2

Parameters
manualThe manual for the cube lines.
c0The corner 0.
c1The corner 1.
c2The corner 2.
c3The corner 3.
c4The corner 4.
c5The corner 5.
c6The corner 6.
c7The corner 7.
baseIndexThe next free index of this manual object. Is incremented by 8 in this function.

References Ogre::ManualObject::index(), and Ogre::ManualObject::position().

◆ addTriangle()

void Ogre::Volume::MeshBuilder::addTriangle ( const Vector3 & v0,
const Vector3 & n0,
const Vector3 & v1,
const Vector3 & n1,
const Vector3 & v2,
const Vector3 & n2 )
inline

Adds a triangle to the mesh with reusing already existent vertices via their index.

Parameters
v0The first vertex of the triangle.
n0The normal of the first vertex.
v1The second vertex of the triangle.
n1The normal of the second vertex.
v2The third vertex of the triangle.
n2The normal of the third vertex.

◆ generateBuffers()

size_t Ogre::Volume::MeshBuilder::generateBuffers ( RenderOperation & operation)

Generates the vertex- and indexbuffer of this mesh on the given RenderOperation.

Parameters
operationThe RenderOperation for the buffers.
Returns
The amount of generated triangles.

◆ generateWithManualObject()

Entity * Ogre::Volume::MeshBuilder::generateWithManualObject ( SceneManager * sceneManager,
const String & name,
const String & material )

Generates an entity via a ManualObject.

Parameters
sceneManagerThe creating sceneManager.
nameThe name for the entity.
materialThe material to use.
Returns
The created entity.

◆ getBoundingBox()

AxisAlignedBox Ogre::Volume::MeshBuilder::getBoundingBox ( void )

Gets the bounding box of the mesh.

Returns
The bounding box.

◆ executeCallback()

void Ogre::Volume::MeshBuilder::executeCallback ( MeshBuilderCallback * callback,
const SimpleRenderable * simpleRenderable,
size_t level,
int inProcess ) const

Executes a MeshBuilderCallback on this instance.

Parameters
callbackThe callback to execute.
simpleRenderableContains the SimpleRenderable for which the triangles were built.
levelThe LOD level of this mesh.
inProcessThe amount of other meshes/LOD-Chunks still to be loaded.

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