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


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}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_ogre_1_1_volume_1_1_mesh_builder_a21ee4b8440710f4e4015c1396347e674}{Mesh\+Builder} (void)
\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_volume_1_1_mesh_builder_a053f96d1b98827e457ca77b4ded3eac4}{add\+Triangle} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&v0, const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&n0, const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&v1, const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&n1, const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&v2, const \hyperlink{class_ogre_1_1_vector3}{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 \hyperlink{class_ogre_1_1_volume_1_1_mesh_builder_ac396d76811e76e6cd5ae9e74e990a356}{execute\+Callback} (\hyperlink{class_ogre_1_1_volume_1_1_mesh_builder_callback}{Mesh\+Builder\+Callback} $\ast$callback, const \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 \hyperlink{class_ogre_1_1_volume_1_1_mesh_builder_callback}{Mesh\+Builder\+Callback} on this instance. \end{DoxyCompactList}\item 
size\+\_\+t \hyperlink{class_ogre_1_1_volume_1_1_mesh_builder_ae700364d0682c95173d0168dd4230e27}{generate\+Buffers} (\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 \hyperlink{class_ogre_1_1_render_operation}{Render\+Operation}. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_entity}{Entity} $\ast$ \hyperlink{class_ogre_1_1_volume_1_1_mesh_builder_ac31d11d3b80b377ea945b423ad3a15a2}{generate\+With\+Manual\+Object} (\hyperlink{class_ogre_1_1_scene_manager}{Scene\+Manager} $\ast$scene\+Manager, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&name, const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&material)
\begin{DoxyCompactList}\small\item\em Generates an entity via a \hyperlink{class_ogre_1_1_manual_object}{Manual\+Object}. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_axis_aligned_box}{Axis\+Aligned\+Box} \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}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static void \hyperlink{class_ogre_1_1_volume_1_1_mesh_builder_ae3a953ca0ebafa9df031af1afe2c8b15}{add\+Cube\+To\+Manual\+Object} (\hyperlink{class_ogre_1_1_manual_object}{Manual\+Object} $\ast$manual, const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&c0, const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&c1, const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&c2, const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&c3, const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&c4, const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&c5, const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&c6, const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&c7, \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}


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

\subsection{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\+::\+Mesh\+Builder@{Ogre\+::\+Volume\+::\+Mesh\+Builder}!Mesh\+Builder@{Mesh\+Builder}}
\index{Mesh\+Builder@{Mesh\+Builder}!Ogre\+::\+Volume\+::\+Mesh\+Builder@{Ogre\+::\+Volume\+::\+Mesh\+Builder}}
\subsubsection{\texorpdfstring{Mesh\+Builder()}{MeshBuilder()}}
{\footnotesize\ttfamily Ogre\+::\+Volume\+::\+Mesh\+Builder\+::\+Mesh\+Builder (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Constructor. 



\subsection{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\+::\+Mesh\+Builder@{Ogre\+::\+Volume\+::\+Mesh\+Builder}!add\+Cube\+To\+Manual\+Object@{add\+Cube\+To\+Manual\+Object}}
\index{add\+Cube\+To\+Manual\+Object@{add\+Cube\+To\+Manual\+Object}!Ogre\+::\+Volume\+::\+Mesh\+Builder@{Ogre\+::\+Volume\+::\+Mesh\+Builder}}
\subsubsection{\texorpdfstring{add\+Cube\+To\+Manual\+Object()}{addCubeToManualObject()}}
{\footnotesize\ttfamily static void Ogre\+::\+Volume\+::\+Mesh\+Builder\+::add\+Cube\+To\+Manual\+Object (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_manual_object}{Manual\+Object} $\ast$}]{manual,  }\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{c0,  }\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{c1,  }\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{c2,  }\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{c3,  }\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{c4,  }\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{c5,  }\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{c6,  }\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{c7,  }\item[{\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\+::\+Mesh\+Builder@{Ogre\+::\+Volume\+::\+Mesh\+Builder}!add\+Triangle@{add\+Triangle}}
\index{add\+Triangle@{add\+Triangle}!Ogre\+::\+Volume\+::\+Mesh\+Builder@{Ogre\+::\+Volume\+::\+Mesh\+Builder}}
\subsubsection{\texorpdfstring{add\+Triangle()}{addTriangle()}}
{\footnotesize\ttfamily void Ogre\+::\+Volume\+::\+Mesh\+Builder\+::add\+Triangle (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{v0,  }\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{n0,  }\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{v1,  }\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{n1,  }\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{v2,  }\item[{const \hyperlink{class_ogre_1_1_vector3}{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\+::\+Mesh\+Builder@{Ogre\+::\+Volume\+::\+Mesh\+Builder}!generate\+Buffers@{generate\+Buffers}}
\index{generate\+Buffers@{generate\+Buffers}!Ogre\+::\+Volume\+::\+Mesh\+Builder@{Ogre\+::\+Volume\+::\+Mesh\+Builder}}
\subsubsection{\texorpdfstring{generate\+Buffers()}{generateBuffers()}}
{\footnotesize\ttfamily size\+\_\+t Ogre\+::\+Volume\+::\+Mesh\+Builder\+::generate\+Buffers (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_render_operation}{Render\+Operation} \&}]{operation }\end{DoxyParamCaption})}



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


\begin{DoxyParams}{Parameters}
{\em operation} & The \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\+::\+Mesh\+Builder@{Ogre\+::\+Volume\+::\+Mesh\+Builder}!generate\+With\+Manual\+Object@{generate\+With\+Manual\+Object}}
\index{generate\+With\+Manual\+Object@{generate\+With\+Manual\+Object}!Ogre\+::\+Volume\+::\+Mesh\+Builder@{Ogre\+::\+Volume\+::\+Mesh\+Builder}}
\subsubsection{\texorpdfstring{generate\+With\+Manual\+Object()}{generateWithManualObject()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_entity}{Entity}$\ast$ Ogre\+::\+Volume\+::\+Mesh\+Builder\+::generate\+With\+Manual\+Object (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_scene_manager}{Scene\+Manager} $\ast$}]{scene\+Manager,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{name,  }\item[{const \hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String} \&}]{material }\end{DoxyParamCaption})}



Generates an entity via a \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\+::\+Mesh\+Builder@{Ogre\+::\+Volume\+::\+Mesh\+Builder}!get\+Bounding\+Box@{get\+Bounding\+Box}}
\index{get\+Bounding\+Box@{get\+Bounding\+Box}!Ogre\+::\+Volume\+::\+Mesh\+Builder@{Ogre\+::\+Volume\+::\+Mesh\+Builder}}
\subsubsection{\texorpdfstring{get\+Bounding\+Box()}{getBoundingBox()}}
{\footnotesize\ttfamily \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\+::\+Mesh\+Builder@{Ogre\+::\+Volume\+::\+Mesh\+Builder}!execute\+Callback@{execute\+Callback}}
\index{execute\+Callback@{execute\+Callback}!Ogre\+::\+Volume\+::\+Mesh\+Builder@{Ogre\+::\+Volume\+::\+Mesh\+Builder}}
\subsubsection{\texorpdfstring{execute\+Callback()}{executeCallback()}}
{\footnotesize\ttfamily void Ogre\+::\+Volume\+::\+Mesh\+Builder\+::execute\+Callback (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_volume_1_1_mesh_builder_callback}{Mesh\+Builder\+Callback} $\ast$}]{callback,  }\item[{const \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 \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 \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 
\hyperlink{_ogre_volume_mesh_builder_8h}{Ogre\+Volume\+Mesh\+Builder.\+h}\end{DoxyCompactItemize}
