OGRE-Next  3.0.0
Object-Oriented Graphics Rendering Engine
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 ()
 Constructor. More...
 
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. More...
 
void executeCallback (MeshBuilderCallback *callback, const SimpleRenderable *simpleRenderable, size_t level, int inProcess) const
 Executes a MeshBuilderCallback on this instance. More...
 
size_t generateBuffers (RenderOperation &operation)
 Generates the vertex- and indexbuffer of this mesh on the given RenderOperation. More...
 
Entity * generateWithManualObject (SceneManager *sceneManager, const String &name, const String &material)
 Generates an entity via a ManualObject. More...
 
AxisAlignedBox getBoundingBox ()
 Gets the bounding box of the mesh. More...
 

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

Detailed Description

Class to build up a mesh with vertices and indices.

Constructor & Destructor Documentation

◆ MeshBuilder()

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

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.

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

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

Gets the bounding box of the mesh.

Returns
The bounding box.

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