\hypertarget{class_ogre_1_1_volume_1_1_mesh_builder}{}\doxysection{Ogre\+::Volume\+::Mesh\+Builder Class Reference}
\label{class_ogre_1_1_volume_1_1_mesh_builder}\index{Ogre::Volume::MeshBuilder@{Ogre::Volume::MeshBuilder}}


Class to build up a mesh with vertices and indices.  




{\ttfamily \#include $<$Ogre\+Volume\+Mesh\+Builder.\+h$>$}



Inheritance diagram for Ogre\+::Volume\+::Mesh\+Builder\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=229pt]{class_ogre_1_1_volume_1_1_mesh_builder__inherit__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_ogre_1_1_volume_1_1_mesh_builder_a21ee4b8440710f4e4015c1396347e674}{Mesh\+Builder}} (void)
\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_volume_1_1_mesh_builder_a053f96d1b98827e457ca77b4ded3eac4}{add\+Triangle}} (const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&v0, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&n0, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&v1, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&n1, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&v2, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&n2)
\begin{DoxyCompactList}\small\item\em Adds a triangle to the mesh with reusing already existent vertices via their index. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_volume_1_1_mesh_builder_ac396d76811e76e6cd5ae9e74e990a356}{execute\+Callback}} (\mbox{\hyperlink{class_ogre_1_1_volume_1_1_mesh_builder_callback}{Mesh\+Builder\+Callback}} $\ast$callback, const \mbox{\hyperlink{class_ogre_1_1_simple_renderable}{Simple\+Renderable}} $\ast$simple\+Renderable, size\+\_\+t level, int in\+Process) const
\begin{DoxyCompactList}\small\item\em Executes a \mbox{\hyperlink{class_ogre_1_1_volume_1_1_mesh_builder_callback}{Mesh\+Builder\+Callback}} on this instance. \end{DoxyCompactList}\item 
size\+\_\+t \mbox{\hyperlink{class_ogre_1_1_volume_1_1_mesh_builder_ae700364d0682c95173d0168dd4230e27}{generate\+Buffers}} (\mbox{\hyperlink{class_ogre_1_1_render_operation}{Render\+Operation}} \&operation)
\begin{DoxyCompactList}\small\item\em Generates the vertex-\/ and indexbuffer of this mesh on the given \mbox{\hyperlink{class_ogre_1_1_render_operation}{Render\+Operation}}. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_ogre_1_1_entity}{Entity}} $\ast$ \mbox{\hyperlink{class_ogre_1_1_volume_1_1_mesh_builder_ac31d11d3b80b377ea945b423ad3a15a2}{generate\+With\+Manual\+Object}} (\mbox{\hyperlink{class_ogre_1_1_scene_manager}{Scene\+Manager}} $\ast$scene\+Manager, const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&name, const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&material)
\begin{DoxyCompactList}\small\item\em Generates an entity via a \mbox{\hyperlink{class_ogre_1_1_manual_object}{Manual\+Object}}. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_ogre_1_1_axis_aligned_box}{Axis\+Aligned\+Box}} \mbox{\hyperlink{class_ogre_1_1_volume_1_1_mesh_builder_a3a6c5b296bf2b476c657fca02dfb3f5a}{get\+Bounding\+Box}} (void)
\begin{DoxyCompactList}\small\item\em Gets the bounding box of the mesh. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static void \mbox{\hyperlink{class_ogre_1_1_volume_1_1_mesh_builder_ae3a953ca0ebafa9df031af1afe2c8b15}{add\+Cube\+To\+Manual\+Object}} (\mbox{\hyperlink{class_ogre_1_1_manual_object}{Manual\+Object}} $\ast$manual, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&c0, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&c1, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&c2, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&c3, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&c4, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&c5, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&c6, const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&c7, \mbox{\hyperlink{namespace_ogre_adf2a0cf2e77143b5ee1d38a75e289545}{uint32}} \&base\+Index)
\begin{DoxyCompactList}\small\item\em Adds a cube to a manual object rendering lines. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Class to build up a mesh with vertices and indices. 

\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_volume_1_1_mesh_builder_a21ee4b8440710f4e4015c1396347e674}\label{class_ogre_1_1_volume_1_1_mesh_builder_a21ee4b8440710f4e4015c1396347e674}} 
\index{Ogre::Volume::MeshBuilder@{Ogre::Volume::MeshBuilder}!MeshBuilder@{MeshBuilder}}
\index{MeshBuilder@{MeshBuilder}!Ogre::Volume::MeshBuilder@{Ogre::Volume::MeshBuilder}}
\doxysubsubsection{\texorpdfstring{MeshBuilder()}{MeshBuilder()}}
{\footnotesize\ttfamily Ogre\+::\+Volume\+::\+Mesh\+Builder\+::\+Mesh\+Builder (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Constructor. 



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_volume_1_1_mesh_builder_ae3a953ca0ebafa9df031af1afe2c8b15}\label{class_ogre_1_1_volume_1_1_mesh_builder_ae3a953ca0ebafa9df031af1afe2c8b15}} 
\index{Ogre::Volume::MeshBuilder@{Ogre::Volume::MeshBuilder}!addCubeToManualObject@{addCubeToManualObject}}
\index{addCubeToManualObject@{addCubeToManualObject}!Ogre::Volume::MeshBuilder@{Ogre::Volume::MeshBuilder}}
\doxysubsubsection{\texorpdfstring{addCubeToManualObject()}{addCubeToManualObject()}}
{\footnotesize\ttfamily static void Ogre\+::\+Volume\+::\+Mesh\+Builder\+::add\+Cube\+To\+Manual\+Object (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_manual_object}{Manual\+Object}} $\ast$}]{manual,  }\item[{const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&}]{c0,  }\item[{const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&}]{c1,  }\item[{const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&}]{c2,  }\item[{const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&}]{c3,  }\item[{const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&}]{c4,  }\item[{const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&}]{c5,  }\item[{const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&}]{c6,  }\item[{const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&}]{c7,  }\item[{\mbox{\hyperlink{namespace_ogre_adf2a0cf2e77143b5ee1d38a75e289545}{uint32}} \&}]{base\+Index }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Adds a cube to a manual object rendering lines. 

Corner numeration\+: 4 5 7 6 0 1 3 2 
\begin{DoxyParams}{Parameters}
{\em manual} & The manual for the cube lines. \\
\hline
{\em c0} & The corner 0. \\
\hline
{\em c1} & The corner 1. \\
\hline
{\em c2} & The corner 2. \\
\hline
{\em c3} & The corner 3. \\
\hline
{\em c4} & The corner 4. \\
\hline
{\em c5} & The corner 5. \\
\hline
{\em c6} & The corner 6. \\
\hline
{\em c7} & The corner 7. \\
\hline
{\em base\+Index} & The next free index of this manual object. Is incremented by 8 in this function. \\
\hline
\end{DoxyParams}


References Ogre\+::\+Manual\+Object\+::index(), and Ogre\+::\+Manual\+Object\+::position().

\mbox{\Hypertarget{class_ogre_1_1_volume_1_1_mesh_builder_a053f96d1b98827e457ca77b4ded3eac4}\label{class_ogre_1_1_volume_1_1_mesh_builder_a053f96d1b98827e457ca77b4ded3eac4}} 
\index{Ogre::Volume::MeshBuilder@{Ogre::Volume::MeshBuilder}!addTriangle@{addTriangle}}
\index{addTriangle@{addTriangle}!Ogre::Volume::MeshBuilder@{Ogre::Volume::MeshBuilder}}
\doxysubsubsection{\texorpdfstring{addTriangle()}{addTriangle()}}
{\footnotesize\ttfamily void Ogre\+::\+Volume\+::\+Mesh\+Builder\+::add\+Triangle (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&}]{v0,  }\item[{const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&}]{n0,  }\item[{const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&}]{v1,  }\item[{const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&}]{n1,  }\item[{const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&}]{v2,  }\item[{const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&}]{n2 }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



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


\begin{DoxyParams}{Parameters}
{\em v0} & The first vertex of the triangle. \\
\hline
{\em n0} & The normal of the first vertex. \\
\hline
{\em v1} & The second vertex of the triangle. \\
\hline
{\em n1} & The normal of the second vertex. \\
\hline
{\em v2} & The third vertex of the triangle. \\
\hline
{\em n2} & The normal of the third vertex. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_volume_1_1_mesh_builder_ae700364d0682c95173d0168dd4230e27}\label{class_ogre_1_1_volume_1_1_mesh_builder_ae700364d0682c95173d0168dd4230e27}} 
\index{Ogre::Volume::MeshBuilder@{Ogre::Volume::MeshBuilder}!generateBuffers@{generateBuffers}}
\index{generateBuffers@{generateBuffers}!Ogre::Volume::MeshBuilder@{Ogre::Volume::MeshBuilder}}
\doxysubsubsection{\texorpdfstring{generateBuffers()}{generateBuffers()}}
{\footnotesize\ttfamily size\+\_\+t Ogre\+::\+Volume\+::\+Mesh\+Builder\+::generate\+Buffers (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_render_operation}{Render\+Operation}} \&}]{operation }\end{DoxyParamCaption})}



Generates the vertex-\/ and indexbuffer of this mesh on the given \mbox{\hyperlink{class_ogre_1_1_render_operation}{Render\+Operation}}. 


\begin{DoxyParams}{Parameters}
{\em operation} & The \mbox{\hyperlink{class_ogre_1_1_render_operation}{Render\+Operation}} for the buffers. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The amount of generated triangles. 
\end{DoxyReturn}
\mbox{\Hypertarget{class_ogre_1_1_volume_1_1_mesh_builder_ac31d11d3b80b377ea945b423ad3a15a2}\label{class_ogre_1_1_volume_1_1_mesh_builder_ac31d11d3b80b377ea945b423ad3a15a2}} 
\index{Ogre::Volume::MeshBuilder@{Ogre::Volume::MeshBuilder}!generateWithManualObject@{generateWithManualObject}}
\index{generateWithManualObject@{generateWithManualObject}!Ogre::Volume::MeshBuilder@{Ogre::Volume::MeshBuilder}}
\doxysubsubsection{\texorpdfstring{generateWithManualObject()}{generateWithManualObject()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_ogre_1_1_entity}{Entity}}$\ast$ Ogre\+::\+Volume\+::\+Mesh\+Builder\+::generate\+With\+Manual\+Object (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_scene_manager}{Scene\+Manager}} $\ast$}]{scene\+Manager,  }\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{name,  }\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{material }\end{DoxyParamCaption})}



Generates an entity via a \mbox{\hyperlink{class_ogre_1_1_manual_object}{Manual\+Object}}. 


\begin{DoxyParams}{Parameters}
{\em scene\+Manager} & The creating scene\+Manager. \\
\hline
{\em name} & The name for the entity. \\
\hline
{\em material} & The material to use. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The created entity. 
\end{DoxyReturn}
\mbox{\Hypertarget{class_ogre_1_1_volume_1_1_mesh_builder_a3a6c5b296bf2b476c657fca02dfb3f5a}\label{class_ogre_1_1_volume_1_1_mesh_builder_a3a6c5b296bf2b476c657fca02dfb3f5a}} 
\index{Ogre::Volume::MeshBuilder@{Ogre::Volume::MeshBuilder}!getBoundingBox@{getBoundingBox}}
\index{getBoundingBox@{getBoundingBox}!Ogre::Volume::MeshBuilder@{Ogre::Volume::MeshBuilder}}
\doxysubsubsection{\texorpdfstring{getBoundingBox()}{getBoundingBox()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_ogre_1_1_axis_aligned_box}{Axis\+Aligned\+Box}} Ogre\+::\+Volume\+::\+Mesh\+Builder\+::get\+Bounding\+Box (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Gets the bounding box of the mesh. 

\begin{DoxyReturn}{Returns}
The bounding box. 
\end{DoxyReturn}
\mbox{\Hypertarget{class_ogre_1_1_volume_1_1_mesh_builder_ac396d76811e76e6cd5ae9e74e990a356}\label{class_ogre_1_1_volume_1_1_mesh_builder_ac396d76811e76e6cd5ae9e74e990a356}} 
\index{Ogre::Volume::MeshBuilder@{Ogre::Volume::MeshBuilder}!executeCallback@{executeCallback}}
\index{executeCallback@{executeCallback}!Ogre::Volume::MeshBuilder@{Ogre::Volume::MeshBuilder}}
\doxysubsubsection{\texorpdfstring{executeCallback()}{executeCallback()}}
{\footnotesize\ttfamily void Ogre\+::\+Volume\+::\+Mesh\+Builder\+::execute\+Callback (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_volume_1_1_mesh_builder_callback}{Mesh\+Builder\+Callback}} $\ast$}]{callback,  }\item[{const \mbox{\hyperlink{class_ogre_1_1_simple_renderable}{Simple\+Renderable}} $\ast$}]{simple\+Renderable,  }\item[{size\+\_\+t}]{level,  }\item[{int}]{in\+Process }\end{DoxyParamCaption}) const}



Executes a \mbox{\hyperlink{class_ogre_1_1_volume_1_1_mesh_builder_callback}{Mesh\+Builder\+Callback}} on this instance. 


\begin{DoxyParams}{Parameters}
{\em callback} & The callback to execute. \\
\hline
{\em simple\+Renderable} & Contains the \mbox{\hyperlink{class_ogre_1_1_simple_renderable}{Simple\+Renderable}} for which the triangles were built. \\
\hline
{\em level} & The L\+OD level of this mesh. \\
\hline
{\em in\+Process} & The amount of other meshes/\+L\+O\+D-\/\+Chunks still to be loaded. \\
\hline
\end{DoxyParams}


The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{_ogre_volume_mesh_builder_8h}{Ogre\+Volume\+Mesh\+Builder.\+h}}\end{DoxyCompactItemize}
