\hypertarget{class_ogre_1_1_convex_body}{}\section{Ogre\+:\+:Convex\+Body Class Reference}
\label{class_ogre_1_1_convex_body}\index{Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}}


Holds a solid representation of a convex body.  




{\ttfamily \#include $<$Ogre\+Convex\+Body.\+h$>$}

\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef std\+::vector$<$ \hyperlink{class_ogre_1_1_polygon}{Polygon} $\ast$$>$ \hyperlink{class_ogre_1_1_convex_body_a4a13eb065fe856b0354d523394e9dfaa}{Polygon\+List}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_ogre_1_1_convex_body_a55e376da89733093d9061f2b5acebfb2}{Convex\+Body} ()
\item 
\hyperlink{class_ogre_1_1_convex_body_ae9792f9784f57a75d89a8aecb9ee2f58}{Convex\+Body} (const \hyperlink{class_ogre_1_1_convex_body}{Convex\+Body} \&cpy)
\item 
\hyperlink{class_ogre_1_1_convex_body_a6f643f10031458c33cc9b51dc4a8f893}{$\sim$\+Convex\+Body} ()
\item 
void \hyperlink{class_ogre_1_1_convex_body_af5fb91ac168eec8056adb7b2677523e1}{clip} (const \hyperlink{class_ogre_1_1_frustum}{Frustum} \&frustum)
\begin{DoxyCompactList}\small\item\em Clips the body with a frustum. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_convex_body_ad414f1e05c49050f464c164b9da8e04d}{clip} (const \hyperlink{class_ogre_1_1_axis_aligned_box}{Axis\+Aligned\+Box} \&aab)
\begin{DoxyCompactList}\small\item\em Clips the body with an A\+AB. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_convex_body_a132ccd23a0b43b15077605d813051c4d}{clip} (const \hyperlink{class_ogre_1_1_convex_body}{Convex\+Body} \&body)
\begin{DoxyCompactList}\small\item\em Clips the body with another body. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_convex_body_ac8a3f100f1b91cadf03ec2b9d9d6f684}{clip} (const \hyperlink{class_ogre_1_1_plane}{Plane} \&pl, bool keep\+Negative=true)
\begin{DoxyCompactList}\small\item\em Clips the object by the positive half space of a plane. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_convex_body_a9abd096ec64a6eedbd942a4f15ae4c34}{define} (const \hyperlink{class_ogre_1_1_frustum}{Frustum} \&frustum)
\begin{DoxyCompactList}\small\item\em Build a new polygon representation from a frustum. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_convex_body_af344427771b8ee0bde94a04e68cf4b77}{define} (const \hyperlink{class_ogre_1_1_axis_aligned_box}{Axis\+Aligned\+Box} \&aab)
\begin{DoxyCompactList}\small\item\em Build a new polygon representation from an A\+AB. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_convex_body_ab281318edcb6f9438693caecf718616c}{extend} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&pt)
\begin{DoxyCompactList}\small\item\em Extends the existing body to incorporate the passed in point as a convex hull. \end{DoxyCompactList}\item 
\hyperlink{class_ogre_1_1_axis_aligned_box}{Axis\+Aligned\+Box} \hyperlink{class_ogre_1_1_convex_body_a90ca1faff14ea4af44433dc9d7c9b5d5}{get\+A\+A\+BB} (void) const
\begin{DoxyCompactList}\small\item\em Returns an A\+A\+BB representation. \end{DoxyCompactList}\item 
const \hyperlink{class_ogre_1_1_vector3}{Vector3} \& \hyperlink{class_ogre_1_1_convex_body_abc9d10d37f23d0a0b82f1773bac04e1e}{get\+Normal} (size\+\_\+t poly)
\begin{DoxyCompactList}\small\item\em Returns the normal of a specified polygon. \end{DoxyCompactList}\item 
const \hyperlink{class_ogre_1_1_polygon}{Polygon} \& \hyperlink{class_ogre_1_1_convex_body_af9b91af53c73816889f98554fa6ad8e1}{get\+Polygon} (size\+\_\+t poly) const
\begin{DoxyCompactList}\small\item\em Returns a polygon. \end{DoxyCompactList}\item 
size\+\_\+t \hyperlink{class_ogre_1_1_convex_body_a750bb05cbde7696401cfdd4720bdf707}{get\+Polygon\+Count} (void) const
\begin{DoxyCompactList}\small\item\em Returns the current number of polygons. \end{DoxyCompactList}\item 
const \hyperlink{class_ogre_1_1_vector3}{Vector3} \& \hyperlink{class_ogre_1_1_convex_body_a887785993b06b9ed943414f5a4ceac77}{get\+Vertex} (size\+\_\+t poly, size\+\_\+t vertex) const
\begin{DoxyCompactList}\small\item\em Returns a specific vertex of a polygon. \end{DoxyCompactList}\item 
size\+\_\+t \hyperlink{class_ogre_1_1_convex_body_ad9196b29ab1a8e0a54fb16305b451fe4}{get\+Vertex\+Count} (size\+\_\+t poly) const
\begin{DoxyCompactList}\small\item\em Returns the number of vertices for a polygon. \end{DoxyCompactList}\item 
bool \hyperlink{class_ogre_1_1_convex_body_aab902f05e2959ef81806090841a54339}{has\+Closed\+Hull} (void) const
\begin{DoxyCompactList}\small\item\em Checks if the body has a closed hull. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_convex_body_a9f1b0dc680efee357dab08072d21d80f}{log\+Info} () const
\begin{DoxyCompactList}\small\item\em \hyperlink{class_ogre_1_1_log}{Log} details of this body. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_convex_body_a4d33db4b9003a76a299649cede0c5557}{merge\+Polygons} (void)
\begin{DoxyCompactList}\small\item\em Merges all neighboring polygons into one single polygon if they are lay in the same plane. \end{DoxyCompactList}\item 
bool \hyperlink{class_ogre_1_1_convex_body_a575cb975ec5246022b2069991295ea42}{operator!=} (const \hyperlink{class_ogre_1_1_convex_body}{Convex\+Body} \&rhs) const
\begin{DoxyCompactList}\small\item\em Determines if the current object is not equal to the compared one. \end{DoxyCompactList}\item 
bool \hyperlink{class_ogre_1_1_convex_body_a4e593920ea98ece61095ff1db3ad3150}{operator==} (const \hyperlink{class_ogre_1_1_convex_body}{Convex\+Body} \&rhs) const
\begin{DoxyCompactList}\small\item\em Determines if the current object is equal to the compared one. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_convex_body_a153a0fac3f0c9687a969a2565ccd320e}{reset} (void)
\begin{DoxyCompactList}\small\item\em Resets the object. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static void \hyperlink{class_ogre_1_1_convex_body_a0858a878ce677241ef5632b04a7ffea4}{\+\_\+destroy\+Pool} ()
\begin{DoxyCompactList}\small\item\em Tear down the internal polygon pool used to minimise allocations. \end{DoxyCompactList}\item 
static void \hyperlink{class_ogre_1_1_convex_body_a59fb24ee9a509ade6490ad1d9aac16d7}{\+\_\+initialise\+Pool} ()
\begin{DoxyCompactList}\small\item\em Initialise the internal polygon pool used to minimise allocations. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\+\_\+\+Ogre\+Export friend std\+::ostream \& \hyperlink{class_ogre_1_1_convex_body_a1082989fe2c9773d3e2385dec3f7f694}{operator$<$$<$} (std\+::ostream \&strm, const \hyperlink{class_ogre_1_1_convex_body}{Convex\+Body} \&body)
\begin{DoxyCompactList}\small\item\em Prints out the body with all its polygons. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Holds a solid representation of a convex body. 

\begin{DoxyRemark}{Remarks}
Administers a convex body. All polygons of the body are convex and planar. Several operations may be applied, ranging from intersection to join where each result it itself a convex body. 
\end{DoxyRemark}


\subsection{Member Typedef Documentation}
\mbox{\Hypertarget{class_ogre_1_1_convex_body_a4a13eb065fe856b0354d523394e9dfaa}\label{class_ogre_1_1_convex_body_a4a13eb065fe856b0354d523394e9dfaa}} 
\index{Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}!Polygon\+List@{Polygon\+List}}
\index{Polygon\+List@{Polygon\+List}!Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}}
\subsubsection{\texorpdfstring{Polygon\+List}{PolygonList}}
{\footnotesize\ttfamily typedef std\+::vector$<$ \hyperlink{class_ogre_1_1_polygon}{Polygon}$\ast$ $>$ \hyperlink{class_ogre_1_1_convex_body_a4a13eb065fe856b0354d523394e9dfaa}{Ogre\+::\+Convex\+Body\+::\+Polygon\+List}}



\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_convex_body_a55e376da89733093d9061f2b5acebfb2}\label{class_ogre_1_1_convex_body_a55e376da89733093d9061f2b5acebfb2}} 
\index{Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}!Convex\+Body@{Convex\+Body}}
\index{Convex\+Body@{Convex\+Body}!Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}}
\subsubsection{\texorpdfstring{Convex\+Body()}{ConvexBody()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily Ogre\+::\+Convex\+Body\+::\+Convex\+Body (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{class_ogre_1_1_convex_body_a6f643f10031458c33cc9b51dc4a8f893}\label{class_ogre_1_1_convex_body_a6f643f10031458c33cc9b51dc4a8f893}} 
\index{Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}!````~Convex\+Body@{$\sim$\+Convex\+Body}}
\index{````~Convex\+Body@{$\sim$\+Convex\+Body}!Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}}
\subsubsection{\texorpdfstring{$\sim$\+Convex\+Body()}{~ConvexBody()}}
{\footnotesize\ttfamily Ogre\+::\+Convex\+Body\+::$\sim$\+Convex\+Body (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{class_ogre_1_1_convex_body_ae9792f9784f57a75d89a8aecb9ee2f58}\label{class_ogre_1_1_convex_body_ae9792f9784f57a75d89a8aecb9ee2f58}} 
\index{Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}!Convex\+Body@{Convex\+Body}}
\index{Convex\+Body@{Convex\+Body}!Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}}
\subsubsection{\texorpdfstring{Convex\+Body()}{ConvexBody()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily Ogre\+::\+Convex\+Body\+::\+Convex\+Body (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_convex_body}{Convex\+Body} \&}]{cpy }\end{DoxyParamCaption})}



\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_convex_body_a9abd096ec64a6eedbd942a4f15ae4c34}\label{class_ogre_1_1_convex_body_a9abd096ec64a6eedbd942a4f15ae4c34}} 
\index{Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}!define@{define}}
\index{define@{define}!Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}}
\subsubsection{\texorpdfstring{define()}{define()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void Ogre\+::\+Convex\+Body\+::define (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_frustum}{Frustum} \&}]{frustum }\end{DoxyParamCaption})}



Build a new polygon representation from a frustum. 

\mbox{\Hypertarget{class_ogre_1_1_convex_body_af344427771b8ee0bde94a04e68cf4b77}\label{class_ogre_1_1_convex_body_af344427771b8ee0bde94a04e68cf4b77}} 
\index{Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}!define@{define}}
\index{define@{define}!Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}}
\subsubsection{\texorpdfstring{define()}{define()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void Ogre\+::\+Convex\+Body\+::define (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_axis_aligned_box}{Axis\+Aligned\+Box} \&}]{aab }\end{DoxyParamCaption})}



Build a new polygon representation from an A\+AB. 

\mbox{\Hypertarget{class_ogre_1_1_convex_body_af5fb91ac168eec8056adb7b2677523e1}\label{class_ogre_1_1_convex_body_af5fb91ac168eec8056adb7b2677523e1}} 
\index{Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}!clip@{clip}}
\index{clip@{clip}!Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}}
\subsubsection{\texorpdfstring{clip()}{clip()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily void Ogre\+::\+Convex\+Body\+::clip (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_frustum}{Frustum} \&}]{frustum }\end{DoxyParamCaption})}



Clips the body with a frustum. 

The resulting holes are filled with new polygons. \mbox{\Hypertarget{class_ogre_1_1_convex_body_ad414f1e05c49050f464c164b9da8e04d}\label{class_ogre_1_1_convex_body_ad414f1e05c49050f464c164b9da8e04d}} 
\index{Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}!clip@{clip}}
\index{clip@{clip}!Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}}
\subsubsection{\texorpdfstring{clip()}{clip()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily void Ogre\+::\+Convex\+Body\+::clip (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_axis_aligned_box}{Axis\+Aligned\+Box} \&}]{aab }\end{DoxyParamCaption})}



Clips the body with an A\+AB. 

The resulting holes are filled with new polygons. \mbox{\Hypertarget{class_ogre_1_1_convex_body_a132ccd23a0b43b15077605d813051c4d}\label{class_ogre_1_1_convex_body_a132ccd23a0b43b15077605d813051c4d}} 
\index{Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}!clip@{clip}}
\index{clip@{clip}!Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}}
\subsubsection{\texorpdfstring{clip()}{clip()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily void Ogre\+::\+Convex\+Body\+::clip (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_convex_body}{Convex\+Body} \&}]{body }\end{DoxyParamCaption})}



Clips the body with another body. 

\mbox{\Hypertarget{class_ogre_1_1_convex_body_ac8a3f100f1b91cadf03ec2b9d9d6f684}\label{class_ogre_1_1_convex_body_ac8a3f100f1b91cadf03ec2b9d9d6f684}} 
\index{Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}!clip@{clip}}
\index{clip@{clip}!Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}}
\subsubsection{\texorpdfstring{clip()}{clip()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily void Ogre\+::\+Convex\+Body\+::clip (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_plane}{Plane} \&}]{pl,  }\item[{bool}]{keep\+Negative = {\ttfamily true} }\end{DoxyParamCaption})}



Clips the object by the positive half space of a plane. 

\mbox{\Hypertarget{class_ogre_1_1_convex_body_ab281318edcb6f9438693caecf718616c}\label{class_ogre_1_1_convex_body_ab281318edcb6f9438693caecf718616c}} 
\index{Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}!extend@{extend}}
\index{extend@{extend}!Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}}
\subsubsection{\texorpdfstring{extend()}{extend()}}
{\footnotesize\ttfamily void Ogre\+::\+Convex\+Body\+::extend (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{pt }\end{DoxyParamCaption})}



Extends the existing body to incorporate the passed in point as a convex hull. 

\begin{DoxyRemark}{Remarks}
You must already have constructed a basic body using a \textquotesingle{}construct\textquotesingle{} method. 
\end{DoxyRemark}
\mbox{\Hypertarget{class_ogre_1_1_convex_body_a153a0fac3f0c9687a969a2565ccd320e}\label{class_ogre_1_1_convex_body_a153a0fac3f0c9687a969a2565ccd320e}} 
\index{Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}!reset@{reset}}
\index{reset@{reset}!Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}}
\subsubsection{\texorpdfstring{reset()}{reset()}}
{\footnotesize\ttfamily void Ogre\+::\+Convex\+Body\+::reset (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Resets the object. 

\mbox{\Hypertarget{class_ogre_1_1_convex_body_a750bb05cbde7696401cfdd4720bdf707}\label{class_ogre_1_1_convex_body_a750bb05cbde7696401cfdd4720bdf707}} 
\index{Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}!get\+Polygon\+Count@{get\+Polygon\+Count}}
\index{get\+Polygon\+Count@{get\+Polygon\+Count}!Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}}
\subsubsection{\texorpdfstring{get\+Polygon\+Count()}{getPolygonCount()}}
{\footnotesize\ttfamily size\+\_\+t Ogre\+::\+Convex\+Body\+::get\+Polygon\+Count (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const}



Returns the current number of polygons. 

\mbox{\Hypertarget{class_ogre_1_1_convex_body_ad9196b29ab1a8e0a54fb16305b451fe4}\label{class_ogre_1_1_convex_body_ad9196b29ab1a8e0a54fb16305b451fe4}} 
\index{Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}!get\+Vertex\+Count@{get\+Vertex\+Count}}
\index{get\+Vertex\+Count@{get\+Vertex\+Count}!Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}}
\subsubsection{\texorpdfstring{get\+Vertex\+Count()}{getVertexCount()}}
{\footnotesize\ttfamily size\+\_\+t Ogre\+::\+Convex\+Body\+::get\+Vertex\+Count (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{poly }\end{DoxyParamCaption}) const}



Returns the number of vertices for a polygon. 

\mbox{\Hypertarget{class_ogre_1_1_convex_body_af9b91af53c73816889f98554fa6ad8e1}\label{class_ogre_1_1_convex_body_af9b91af53c73816889f98554fa6ad8e1}} 
\index{Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}!get\+Polygon@{get\+Polygon}}
\index{get\+Polygon@{get\+Polygon}!Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}}
\subsubsection{\texorpdfstring{get\+Polygon()}{getPolygon()}}
{\footnotesize\ttfamily const \hyperlink{class_ogre_1_1_polygon}{Polygon}\& Ogre\+::\+Convex\+Body\+::get\+Polygon (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{poly }\end{DoxyParamCaption}) const}



Returns a polygon. 

\mbox{\Hypertarget{class_ogre_1_1_convex_body_a887785993b06b9ed943414f5a4ceac77}\label{class_ogre_1_1_convex_body_a887785993b06b9ed943414f5a4ceac77}} 
\index{Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}!get\+Vertex@{get\+Vertex}}
\index{get\+Vertex@{get\+Vertex}!Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}}
\subsubsection{\texorpdfstring{get\+Vertex()}{getVertex()}}
{\footnotesize\ttfamily const \hyperlink{class_ogre_1_1_vector3}{Vector3}\& Ogre\+::\+Convex\+Body\+::get\+Vertex (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{poly,  }\item[{size\+\_\+t}]{vertex }\end{DoxyParamCaption}) const}



Returns a specific vertex of a polygon. 

\mbox{\Hypertarget{class_ogre_1_1_convex_body_abc9d10d37f23d0a0b82f1773bac04e1e}\label{class_ogre_1_1_convex_body_abc9d10d37f23d0a0b82f1773bac04e1e}} 
\index{Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}!get\+Normal@{get\+Normal}}
\index{get\+Normal@{get\+Normal}!Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}}
\subsubsection{\texorpdfstring{get\+Normal()}{getNormal()}}
{\footnotesize\ttfamily const \hyperlink{class_ogre_1_1_vector3}{Vector3}\& Ogre\+::\+Convex\+Body\+::get\+Normal (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{poly }\end{DoxyParamCaption})}



Returns the normal of a specified polygon. 

\mbox{\Hypertarget{class_ogre_1_1_convex_body_a90ca1faff14ea4af44433dc9d7c9b5d5}\label{class_ogre_1_1_convex_body_a90ca1faff14ea4af44433dc9d7c9b5d5}} 
\index{Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}!get\+A\+A\+BB@{get\+A\+A\+BB}}
\index{get\+A\+A\+BB@{get\+A\+A\+BB}!Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}}
\subsubsection{\texorpdfstring{get\+A\+A\+B\+B()}{getAABB()}}
{\footnotesize\ttfamily \hyperlink{class_ogre_1_1_axis_aligned_box}{Axis\+Aligned\+Box} Ogre\+::\+Convex\+Body\+::get\+A\+A\+BB (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const}



Returns an A\+A\+BB representation. 

\mbox{\Hypertarget{class_ogre_1_1_convex_body_aab902f05e2959ef81806090841a54339}\label{class_ogre_1_1_convex_body_aab902f05e2959ef81806090841a54339}} 
\index{Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}!has\+Closed\+Hull@{has\+Closed\+Hull}}
\index{has\+Closed\+Hull@{has\+Closed\+Hull}!Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}}
\subsubsection{\texorpdfstring{has\+Closed\+Hull()}{hasClosedHull()}}
{\footnotesize\ttfamily bool Ogre\+::\+Convex\+Body\+::has\+Closed\+Hull (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const}



Checks if the body has a closed hull. 

\mbox{\Hypertarget{class_ogre_1_1_convex_body_a4d33db4b9003a76a299649cede0c5557}\label{class_ogre_1_1_convex_body_a4d33db4b9003a76a299649cede0c5557}} 
\index{Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}!merge\+Polygons@{merge\+Polygons}}
\index{merge\+Polygons@{merge\+Polygons}!Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}}
\subsubsection{\texorpdfstring{merge\+Polygons()}{mergePolygons()}}
{\footnotesize\ttfamily void Ogre\+::\+Convex\+Body\+::merge\+Polygons (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Merges all neighboring polygons into one single polygon if they are lay in the same plane. 

\mbox{\Hypertarget{class_ogre_1_1_convex_body_a4e593920ea98ece61095ff1db3ad3150}\label{class_ogre_1_1_convex_body_a4e593920ea98ece61095ff1db3ad3150}} 
\index{Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}!operator==@{operator==}}
\index{operator==@{operator==}!Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}}
\subsubsection{\texorpdfstring{operator==()}{operator==()}}
{\footnotesize\ttfamily bool Ogre\+::\+Convex\+Body\+::operator== (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_convex_body}{Convex\+Body} \&}]{rhs }\end{DoxyParamCaption}) const}



Determines if the current object is equal to the compared one. 

\mbox{\Hypertarget{class_ogre_1_1_convex_body_a575cb975ec5246022b2069991295ea42}\label{class_ogre_1_1_convex_body_a575cb975ec5246022b2069991295ea42}} 
\index{Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}!operator"!=@{operator"!=}}
\index{operator"!=@{operator"!=}!Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}}
\subsubsection{\texorpdfstring{operator"!=()}{operator!=()}}
{\footnotesize\ttfamily bool Ogre\+::\+Convex\+Body\+::operator!= (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_convex_body}{Convex\+Body} \&}]{rhs }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}



Determines if the current object is not equal to the compared one. 



References Ogre\+::operator$<$$<$().

\mbox{\Hypertarget{class_ogre_1_1_convex_body_a9f1b0dc680efee357dab08072d21d80f}\label{class_ogre_1_1_convex_body_a9f1b0dc680efee357dab08072d21d80f}} 
\index{Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}!log\+Info@{log\+Info}}
\index{log\+Info@{log\+Info}!Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}}
\subsubsection{\texorpdfstring{log\+Info()}{logInfo()}}
{\footnotesize\ttfamily void Ogre\+::\+Convex\+Body\+::log\+Info (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



\hyperlink{class_ogre_1_1_log}{Log} details of this body. 

\mbox{\Hypertarget{class_ogre_1_1_convex_body_a59fb24ee9a509ade6490ad1d9aac16d7}\label{class_ogre_1_1_convex_body_a59fb24ee9a509ade6490ad1d9aac16d7}} 
\index{Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}!\+\_\+initialise\+Pool@{\+\_\+initialise\+Pool}}
\index{\+\_\+initialise\+Pool@{\+\_\+initialise\+Pool}!Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}}
\subsubsection{\texorpdfstring{\+\_\+initialise\+Pool()}{\_initialisePool()}}
{\footnotesize\ttfamily static void Ogre\+::\+Convex\+Body\+::\+\_\+initialise\+Pool (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Initialise the internal polygon pool used to minimise allocations. 

\mbox{\Hypertarget{class_ogre_1_1_convex_body_a0858a878ce677241ef5632b04a7ffea4}\label{class_ogre_1_1_convex_body_a0858a878ce677241ef5632b04a7ffea4}} 
\index{Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}!\+\_\+destroy\+Pool@{\+\_\+destroy\+Pool}}
\index{\+\_\+destroy\+Pool@{\+\_\+destroy\+Pool}!Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}}
\subsubsection{\texorpdfstring{\+\_\+destroy\+Pool()}{\_destroyPool()}}
{\footnotesize\ttfamily static void Ogre\+::\+Convex\+Body\+::\+\_\+destroy\+Pool (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Tear down the internal polygon pool used to minimise allocations. 



\subsection{Friends And Related Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_convex_body_a1082989fe2c9773d3e2385dec3f7f694}\label{class_ogre_1_1_convex_body_a1082989fe2c9773d3e2385dec3f7f694}} 
\index{Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}!operator$<$$<$@{operator$<$$<$}}
\index{operator$<$$<$@{operator$<$$<$}!Ogre\+::\+Convex\+Body@{Ogre\+::\+Convex\+Body}}
\subsubsection{\texorpdfstring{operator$<$$<$}{operator<<}}
{\footnotesize\ttfamily \+\_\+\+Ogre\+Export friend std\+::ostream\& operator$<$$<$ (\begin{DoxyParamCaption}\item[{std\+::ostream \&}]{strm,  }\item[{const \hyperlink{class_ogre_1_1_convex_body}{Convex\+Body} \&}]{body }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}



Prints out the body with all its polygons. 



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\hyperlink{_ogre_convex_body_8h}{Ogre\+Convex\+Body.\+h}\end{DoxyCompactItemize}
