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


Holds a solid representation of a convex body.  




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

\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef std\+::vector$<$ \mbox{\hyperlink{class_ogre_1_1_polygon}{Polygon}} $\ast$ $>$ \mbox{\hyperlink{class_ogre_1_1_convex_body_a4a13eb065fe856b0354d523394e9dfaa}{Polygon\+List}}
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_ogre_1_1_convex_body_a55e376da89733093d9061f2b5acebfb2}{Convex\+Body}} ()
\item 
\mbox{\hyperlink{class_ogre_1_1_convex_body_ae9792f9784f57a75d89a8aecb9ee2f58}{Convex\+Body}} (const \mbox{\hyperlink{class_ogre_1_1_convex_body}{Convex\+Body}} \&cpy)
\item 
\mbox{\hyperlink{class_ogre_1_1_convex_body_a6f643f10031458c33cc9b51dc4a8f893}{$\sim$\+Convex\+Body}} ()
\item 
void \mbox{\hyperlink{class_ogre_1_1_convex_body_ad414f1e05c49050f464c164b9da8e04d}{clip}} (const \mbox{\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 \mbox{\hyperlink{class_ogre_1_1_convex_body_a132ccd23a0b43b15077605d813051c4d}{clip}} (const \mbox{\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 \mbox{\hyperlink{class_ogre_1_1_convex_body_af5fb91ac168eec8056adb7b2677523e1}{clip}} (const \mbox{\hyperlink{class_ogre_1_1_frustum}{Frustum}} \&frustum)
\begin{DoxyCompactList}\small\item\em Clips the body with a frustum. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_convex_body_ac8a3f100f1b91cadf03ec2b9d9d6f684}{clip}} (const \mbox{\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 \mbox{\hyperlink{class_ogre_1_1_convex_body_af344427771b8ee0bde94a04e68cf4b77}{define}} (const \mbox{\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 \mbox{\hyperlink{class_ogre_1_1_convex_body_a9abd096ec64a6eedbd942a4f15ae4c34}{define}} (const \mbox{\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 \mbox{\hyperlink{class_ogre_1_1_convex_body_ab281318edcb6f9438693caecf718616c}{extend}} (const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \&pt)
\begin{DoxyCompactList}\small\item\em Extends the existing body to incorporate the passed in point as a convex hull. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_ogre_1_1_axis_aligned_box}{Axis\+Aligned\+Box}} \mbox{\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 \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \& \mbox{\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 \mbox{\hyperlink{class_ogre_1_1_polygon}{Polygon}} \& \mbox{\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 \mbox{\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 \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{Vector3}} \& \mbox{\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 \mbox{\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 \mbox{\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 \mbox{\hyperlink{class_ogre_1_1_convex_body_a9f1b0dc680efee357dab08072d21d80f}{log\+Info}} () const
\begin{DoxyCompactList}\small\item\em \mbox{\hyperlink{class_ogre_1_1_log}{Log}} details of this body. \end{DoxyCompactList}\item 
void \mbox{\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 \mbox{\hyperlink{class_ogre_1_1_convex_body_a575cb975ec5246022b2069991295ea42}{operator!=}} (const \mbox{\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 \mbox{\hyperlink{class_ogre_1_1_convex_body_a4e593920ea98ece61095ff1db3ad3150}{operator==}} (const \mbox{\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 \mbox{\hyperlink{class_ogre_1_1_convex_body_a153a0fac3f0c9687a969a2565ccd320e}{reset}} (void)
\begin{DoxyCompactList}\small\item\em Resets the object. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static void \mbox{\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 \mbox{\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}
\doxysubsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\+\_\+\+Ogre\+Export friend std\+::ostream \& \mbox{\hyperlink{class_ogre_1_1_convex_body_a1082989fe2c9773d3e2385dec3f7f694}{operator$<$$<$}} (std\+::ostream \&strm, const \mbox{\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}


\doxysubsection{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}


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



\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_convex_body_a55e376da89733093d9061f2b5acebfb2}\label{class_ogre_1_1_convex_body_a55e376da89733093d9061f2b5acebfb2}} 
\index{Ogre::ConvexBody@{Ogre::ConvexBody}!ConvexBody@{ConvexBody}}
\index{ConvexBody@{ConvexBody}!Ogre::ConvexBody@{Ogre::ConvexBody}}
\doxysubsubsection{\texorpdfstring{ConvexBody()}{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::ConvexBody@{Ogre::ConvexBody}!````~ConvexBody@{$\sim$ConvexBody}}
\index{````~ConvexBody@{$\sim$ConvexBody}!Ogre::ConvexBody@{Ogre::ConvexBody}}
\doxysubsubsection{\texorpdfstring{$\sim$ConvexBody()}{~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::ConvexBody@{Ogre::ConvexBody}!ConvexBody@{ConvexBody}}
\index{ConvexBody@{ConvexBody}!Ogre::ConvexBody@{Ogre::ConvexBody}}
\doxysubsubsection{\texorpdfstring{ConvexBody()}{ConvexBody()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily Ogre\+::\+Convex\+Body\+::\+Convex\+Body (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_convex_body}{Convex\+Body}} \&}]{cpy }\end{DoxyParamCaption})}



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_convex_body_a9abd096ec64a6eedbd942a4f15ae4c34}\label{class_ogre_1_1_convex_body_a9abd096ec64a6eedbd942a4f15ae4c34}} 
\index{Ogre::ConvexBody@{Ogre::ConvexBody}!define@{define}}
\index{define@{define}!Ogre::ConvexBody@{Ogre::ConvexBody}}
\doxysubsubsection{\texorpdfstring{define()}{define()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void Ogre\+::\+Convex\+Body\+::define (\begin{DoxyParamCaption}\item[{const \mbox{\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::ConvexBody@{Ogre::ConvexBody}!define@{define}}
\index{define@{define}!Ogre::ConvexBody@{Ogre::ConvexBody}}
\doxysubsubsection{\texorpdfstring{define()}{define()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void Ogre\+::\+Convex\+Body\+::define (\begin{DoxyParamCaption}\item[{const \mbox{\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::ConvexBody@{Ogre::ConvexBody}!clip@{clip}}
\index{clip@{clip}!Ogre::ConvexBody@{Ogre::ConvexBody}}
\doxysubsubsection{\texorpdfstring{clip()}{clip()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily void Ogre\+::\+Convex\+Body\+::clip (\begin{DoxyParamCaption}\item[{const \mbox{\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::ConvexBody@{Ogre::ConvexBody}!clip@{clip}}
\index{clip@{clip}!Ogre::ConvexBody@{Ogre::ConvexBody}}
\doxysubsubsection{\texorpdfstring{clip()}{clip()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily void Ogre\+::\+Convex\+Body\+::clip (\begin{DoxyParamCaption}\item[{const \mbox{\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::ConvexBody@{Ogre::ConvexBody}!clip@{clip}}
\index{clip@{clip}!Ogre::ConvexBody@{Ogre::ConvexBody}}
\doxysubsubsection{\texorpdfstring{clip()}{clip()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily void Ogre\+::\+Convex\+Body\+::clip (\begin{DoxyParamCaption}\item[{const \mbox{\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::ConvexBody@{Ogre::ConvexBody}!clip@{clip}}
\index{clip@{clip}!Ogre::ConvexBody@{Ogre::ConvexBody}}
\doxysubsubsection{\texorpdfstring{clip()}{clip()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily void Ogre\+::\+Convex\+Body\+::clip (\begin{DoxyParamCaption}\item[{const \mbox{\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::ConvexBody@{Ogre::ConvexBody}!extend@{extend}}
\index{extend@{extend}!Ogre::ConvexBody@{Ogre::ConvexBody}}
\doxysubsubsection{\texorpdfstring{extend()}{extend()}}
{\footnotesize\ttfamily void Ogre\+::\+Convex\+Body\+::extend (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{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::ConvexBody@{Ogre::ConvexBody}!reset@{reset}}
\index{reset@{reset}!Ogre::ConvexBody@{Ogre::ConvexBody}}
\doxysubsubsection{\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::ConvexBody@{Ogre::ConvexBody}!getPolygonCount@{getPolygonCount}}
\index{getPolygonCount@{getPolygonCount}!Ogre::ConvexBody@{Ogre::ConvexBody}}
\doxysubsubsection{\texorpdfstring{getPolygonCount()}{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::ConvexBody@{Ogre::ConvexBody}!getVertexCount@{getVertexCount}}
\index{getVertexCount@{getVertexCount}!Ogre::ConvexBody@{Ogre::ConvexBody}}
\doxysubsubsection{\texorpdfstring{getVertexCount()}{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::ConvexBody@{Ogre::ConvexBody}!getPolygon@{getPolygon}}
\index{getPolygon@{getPolygon}!Ogre::ConvexBody@{Ogre::ConvexBody}}
\doxysubsubsection{\texorpdfstring{getPolygon()}{getPolygon()}}
{\footnotesize\ttfamily const \mbox{\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::ConvexBody@{Ogre::ConvexBody}!getVertex@{getVertex}}
\index{getVertex@{getVertex}!Ogre::ConvexBody@{Ogre::ConvexBody}}
\doxysubsubsection{\texorpdfstring{getVertex()}{getVertex()}}
{\footnotesize\ttfamily const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{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::ConvexBody@{Ogre::ConvexBody}!getNormal@{getNormal}}
\index{getNormal@{getNormal}!Ogre::ConvexBody@{Ogre::ConvexBody}}
\doxysubsubsection{\texorpdfstring{getNormal()}{getNormal()}}
{\footnotesize\ttfamily const \mbox{\hyperlink{namespace_ogre_ac94fc4008c1165dea017263fee56b273}{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::ConvexBody@{Ogre::ConvexBody}!getAABB@{getAABB}}
\index{getAABB@{getAABB}!Ogre::ConvexBody@{Ogre::ConvexBody}}
\doxysubsubsection{\texorpdfstring{getAABB()}{getAABB()}}
{\footnotesize\ttfamily \mbox{\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::ConvexBody@{Ogre::ConvexBody}!hasClosedHull@{hasClosedHull}}
\index{hasClosedHull@{hasClosedHull}!Ogre::ConvexBody@{Ogre::ConvexBody}}
\doxysubsubsection{\texorpdfstring{hasClosedHull()}{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::ConvexBody@{Ogre::ConvexBody}!mergePolygons@{mergePolygons}}
\index{mergePolygons@{mergePolygons}!Ogre::ConvexBody@{Ogre::ConvexBody}}
\doxysubsubsection{\texorpdfstring{mergePolygons()}{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::ConvexBody@{Ogre::ConvexBody}!operator==@{operator==}}
\index{operator==@{operator==}!Ogre::ConvexBody@{Ogre::ConvexBody}}
\doxysubsubsection{\texorpdfstring{operator==()}{operator==()}}
{\footnotesize\ttfamily bool Ogre\+::\+Convex\+Body\+::operator== (\begin{DoxyParamCaption}\item[{const \mbox{\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::ConvexBody@{Ogre::ConvexBody}!operator"!=@{operator"!=}}
\index{operator"!=@{operator"!=}!Ogre::ConvexBody@{Ogre::ConvexBody}}
\doxysubsubsection{\texorpdfstring{operator"!=()}{operator!=()}}
{\footnotesize\ttfamily bool Ogre\+::\+Convex\+Body\+::operator!= (\begin{DoxyParamCaption}\item[{const \mbox{\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. 

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



\mbox{\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::ConvexBody@{Ogre::ConvexBody}!\_initialisePool@{\_initialisePool}}
\index{\_initialisePool@{\_initialisePool}!Ogre::ConvexBody@{Ogre::ConvexBody}}
\doxysubsubsection{\texorpdfstring{\_initialisePool()}{\_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::ConvexBody@{Ogre::ConvexBody}!\_destroyPool@{\_destroyPool}}
\index{\_destroyPool@{\_destroyPool}!Ogre::ConvexBody@{Ogre::ConvexBody}}
\doxysubsubsection{\texorpdfstring{\_destroyPool()}{\_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. 



\doxysubsection{Friends And Related Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_convex_body_a1082989fe2c9773d3e2385dec3f7f694}\label{class_ogre_1_1_convex_body_a1082989fe2c9773d3e2385dec3f7f694}} 
\index{Ogre::ConvexBody@{Ogre::ConvexBody}!operator$<$$<$@{operator$<$$<$}}
\index{operator$<$$<$@{operator$<$$<$}!Ogre::ConvexBody@{Ogre::ConvexBody}}
\doxysubsubsection{\texorpdfstring{operator$<$$<$}{operator<<}}
{\footnotesize\ttfamily \+\_\+\+Ogre\+Export friend std\+::ostream\& operator$<$$<$ (\begin{DoxyParamCaption}\item[{std\+::ostream \&}]{strm,  }\item[{const \mbox{\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 
\mbox{\hyperlink{_ogre_convex_body_8h}{Ogre\+Convex\+Body.\+h}}\end{DoxyCompactItemize}
