\hypertarget{class_ogre_1_1_polygon}{}\section{Ogre\+:\+:Polygon Class Reference}
\label{class_ogre_1_1_polygon}\index{Ogre\+::\+Polygon@{Ogre\+::\+Polygon}}


The class represents a polygon in 3D space.  




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

\subsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef std\+::pair$<$ \hyperlink{class_ogre_1_1_vector3}{Vector3}, \hyperlink{class_ogre_1_1_vector3}{Vector3} $>$ \hyperlink{class_ogre_1_1_polygon_ae6e7019c9a29ef5eb95e6c063d355830}{Edge}
\item 
typedef std\+::multimap$<$ \hyperlink{class_ogre_1_1_vector3}{Vector3}, \hyperlink{class_ogre_1_1_vector3}{Vector3} $>$ \hyperlink{class_ogre_1_1_polygon_a75ad4cca62e4f65b7f6007ee29c42644}{Edge\+Map}
\item 
typedef std\+::vector$<$ \hyperlink{class_ogre_1_1_vector3}{Vector3} $>$ \hyperlink{class_ogre_1_1_polygon_a72d1c26d937a8a3f8caad158c7d71745}{Vertex\+List}
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_ogre_1_1_polygon_a1530c1d4761371c423916f4b497d612e}{Polygon} ()
\item 
\hyperlink{class_ogre_1_1_polygon_a86fb38e409c2792034bb6754ff373dc0}{Polygon} (const \hyperlink{class_ogre_1_1_polygon}{Polygon} \&cpy)
\item 
\hyperlink{class_ogre_1_1_polygon_a7ce008c85c18f7c28776a7e6b5fb60f3}{$\sim$\+Polygon} ()
\item 
void \hyperlink{class_ogre_1_1_polygon_a2326d35755fe008fb437c208c6b007d6}{delete\+Vertex} (size\+\_\+t vertex)
\begin{DoxyCompactList}\small\item\em Deletes a specific vertex. \end{DoxyCompactList}\item 
const \hyperlink{class_ogre_1_1_vector3}{Vector3} \& \hyperlink{class_ogre_1_1_polygon_a7f281b800e73f58345a645a2a92f5c82}{get\+Normal} (void) const
\begin{DoxyCompactList}\small\item\em Returns the polygon normal. \end{DoxyCompactList}\item 
const \hyperlink{class_ogre_1_1_vector3}{Vector3} \& \hyperlink{class_ogre_1_1_polygon_ae88f6dcead5afbf639ab42959662dac3}{get\+Vertex} (size\+\_\+t vertex) const
\begin{DoxyCompactList}\small\item\em Returns a vertex. \end{DoxyCompactList}\item 
size\+\_\+t \hyperlink{class_ogre_1_1_polygon_a9d80e759f5c77ba5a308d298c8b498c2}{get\+Vertex\+Count} (void) const
\begin{DoxyCompactList}\small\item\em Vertex count. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_polygon_a8853087632d98ac16fa4e1c04e537353}{insert\+Vertex} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&vdata, size\+\_\+t vertex\+Index)
\begin{DoxyCompactList}\small\item\em Inserts a vertex at a specific position. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_polygon_ac32b2d0a6e7c0cee21471fdaf6da13c4}{insert\+Vertex} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&vdata)
\begin{DoxyCompactList}\small\item\em Inserts a vertex at the end of the polygon. \end{DoxyCompactList}\item 
bool \hyperlink{class_ogre_1_1_polygon_a5fd6676a7f72ed2cb4b96262e7e0b448}{is\+Point\+Inside} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&point) const
\begin{DoxyCompactList}\small\item\em Determines if a point is inside the polygon. \end{DoxyCompactList}\item 
bool \hyperlink{class_ogre_1_1_polygon_a88ae238bdf4e4074d76bffa45b587e37}{operator!=} (const \hyperlink{class_ogre_1_1_polygon}{Polygon} \&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_polygon_a268cd4fc6b3eab7805436795dc36d146}{operator==} (const \hyperlink{class_ogre_1_1_polygon}{Polygon} \&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_polygon_a777fe4198b330b2df854b68128299f5c}{remove\+Duplicates} (void)
\begin{DoxyCompactList}\small\item\em Removes duplicate vertices from a polygon. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_polygon_a9db9518c3381e7a840610bf181d65b73}{reset} (void)
\begin{DoxyCompactList}\small\item\em Resets the object. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_polygon_a0d19a9876f714cde041e3b7c4598e3b4}{set\+Vertex} (const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&vdata, size\+\_\+t vertex\+Index)
\begin{DoxyCompactList}\small\item\em Sets a specific vertex of a polygon. \end{DoxyCompactList}\item 
void \hyperlink{class_ogre_1_1_polygon_a6c6bde3911911e1bdf7ff2ed93209eda}{store\+Edges} (\hyperlink{class_ogre_1_1_polygon_a75ad4cca62e4f65b7f6007ee29c42644}{Edge\+Map} $\ast$edge\+Map) const
\begin{DoxyCompactList}\small\item\em Stores the edges of the polygon in ccw order. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\+\_\+\+Ogre\+Export friend std\+::ostream \& \hyperlink{class_ogre_1_1_polygon_a4ecd1e0336a4e27b0c09ae3f75a1da72}{operator$<$$<$} (std\+::ostream \&strm, const \hyperlink{class_ogre_1_1_polygon}{Polygon} \&poly)
\begin{DoxyCompactList}\small\item\em Prints out the polygon data. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
The class represents a polygon in 3D space. 

\begin{DoxyRemark}{Remarks}
It is made up of 3 or more vertices in a single plane, listed in counter-\/clockwise order. 
\end{DoxyRemark}


\subsection{Member Typedef Documentation}
\mbox{\Hypertarget{class_ogre_1_1_polygon_a72d1c26d937a8a3f8caad158c7d71745}\label{class_ogre_1_1_polygon_a72d1c26d937a8a3f8caad158c7d71745}} 
\index{Ogre\+::\+Polygon@{Ogre\+::\+Polygon}!Vertex\+List@{Vertex\+List}}
\index{Vertex\+List@{Vertex\+List}!Ogre\+::\+Polygon@{Ogre\+::\+Polygon}}
\subsubsection{\texorpdfstring{Vertex\+List}{VertexList}}
{\footnotesize\ttfamily typedef std\+::vector$<$\hyperlink{class_ogre_1_1_vector3}{Vector3}$>$ \hyperlink{class_ogre_1_1_polygon_a72d1c26d937a8a3f8caad158c7d71745}{Ogre\+::\+Polygon\+::\+Vertex\+List}}

\mbox{\Hypertarget{class_ogre_1_1_polygon_a75ad4cca62e4f65b7f6007ee29c42644}\label{class_ogre_1_1_polygon_a75ad4cca62e4f65b7f6007ee29c42644}} 
\index{Ogre\+::\+Polygon@{Ogre\+::\+Polygon}!Edge\+Map@{Edge\+Map}}
\index{Edge\+Map@{Edge\+Map}!Ogre\+::\+Polygon@{Ogre\+::\+Polygon}}
\subsubsection{\texorpdfstring{Edge\+Map}{EdgeMap}}
{\footnotesize\ttfamily typedef std\+::multimap$<$\hyperlink{class_ogre_1_1_vector3}{Vector3}, \hyperlink{class_ogre_1_1_vector3}{Vector3}$>$ \hyperlink{class_ogre_1_1_polygon_a75ad4cca62e4f65b7f6007ee29c42644}{Ogre\+::\+Polygon\+::\+Edge\+Map}}

\mbox{\Hypertarget{class_ogre_1_1_polygon_ae6e7019c9a29ef5eb95e6c063d355830}\label{class_ogre_1_1_polygon_ae6e7019c9a29ef5eb95e6c063d355830}} 
\index{Ogre\+::\+Polygon@{Ogre\+::\+Polygon}!Edge@{Edge}}
\index{Edge@{Edge}!Ogre\+::\+Polygon@{Ogre\+::\+Polygon}}
\subsubsection{\texorpdfstring{Edge}{Edge}}
{\footnotesize\ttfamily typedef std\+::pair$<$ \hyperlink{class_ogre_1_1_vector3}{Vector3}, \hyperlink{class_ogre_1_1_vector3}{Vector3}$>$ \hyperlink{class_ogre_1_1_polygon_ae6e7019c9a29ef5eb95e6c063d355830}{Ogre\+::\+Polygon\+::\+Edge}}



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

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

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



\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_polygon_a8853087632d98ac16fa4e1c04e537353}\label{class_ogre_1_1_polygon_a8853087632d98ac16fa4e1c04e537353}} 
\index{Ogre\+::\+Polygon@{Ogre\+::\+Polygon}!insert\+Vertex@{insert\+Vertex}}
\index{insert\+Vertex@{insert\+Vertex}!Ogre\+::\+Polygon@{Ogre\+::\+Polygon}}
\subsubsection{\texorpdfstring{insert\+Vertex()}{insertVertex()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void Ogre\+::\+Polygon\+::insert\+Vertex (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{vdata,  }\item[{size\+\_\+t}]{vertex\+Index }\end{DoxyParamCaption})}



Inserts a vertex at a specific position. 

\begin{DoxyNote}{Note}
Vertices must be coplanar. 
\end{DoxyNote}
\mbox{\Hypertarget{class_ogre_1_1_polygon_ac32b2d0a6e7c0cee21471fdaf6da13c4}\label{class_ogre_1_1_polygon_ac32b2d0a6e7c0cee21471fdaf6da13c4}} 
\index{Ogre\+::\+Polygon@{Ogre\+::\+Polygon}!insert\+Vertex@{insert\+Vertex}}
\index{insert\+Vertex@{insert\+Vertex}!Ogre\+::\+Polygon@{Ogre\+::\+Polygon}}
\subsubsection{\texorpdfstring{insert\+Vertex()}{insertVertex()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void Ogre\+::\+Polygon\+::insert\+Vertex (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{vdata }\end{DoxyParamCaption})}



Inserts a vertex at the end of the polygon. 

\begin{DoxyNote}{Note}
Vertices must be coplanar. 
\end{DoxyNote}
\mbox{\Hypertarget{class_ogre_1_1_polygon_ae88f6dcead5afbf639ab42959662dac3}\label{class_ogre_1_1_polygon_ae88f6dcead5afbf639ab42959662dac3}} 
\index{Ogre\+::\+Polygon@{Ogre\+::\+Polygon}!get\+Vertex@{get\+Vertex}}
\index{get\+Vertex@{get\+Vertex}!Ogre\+::\+Polygon@{Ogre\+::\+Polygon}}
\subsubsection{\texorpdfstring{get\+Vertex()}{getVertex()}}
{\footnotesize\ttfamily const \hyperlink{class_ogre_1_1_vector3}{Vector3}\& Ogre\+::\+Polygon\+::get\+Vertex (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{vertex }\end{DoxyParamCaption}) const}



Returns a vertex. 

\mbox{\Hypertarget{class_ogre_1_1_polygon_a0d19a9876f714cde041e3b7c4598e3b4}\label{class_ogre_1_1_polygon_a0d19a9876f714cde041e3b7c4598e3b4}} 
\index{Ogre\+::\+Polygon@{Ogre\+::\+Polygon}!set\+Vertex@{set\+Vertex}}
\index{set\+Vertex@{set\+Vertex}!Ogre\+::\+Polygon@{Ogre\+::\+Polygon}}
\subsubsection{\texorpdfstring{set\+Vertex()}{setVertex()}}
{\footnotesize\ttfamily void Ogre\+::\+Polygon\+::set\+Vertex (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{vdata,  }\item[{size\+\_\+t}]{vertex\+Index }\end{DoxyParamCaption})}



Sets a specific vertex of a polygon. 

\begin{DoxyNote}{Note}
Vertices must be coplanar. 
\end{DoxyNote}
\mbox{\Hypertarget{class_ogre_1_1_polygon_a777fe4198b330b2df854b68128299f5c}\label{class_ogre_1_1_polygon_a777fe4198b330b2df854b68128299f5c}} 
\index{Ogre\+::\+Polygon@{Ogre\+::\+Polygon}!remove\+Duplicates@{remove\+Duplicates}}
\index{remove\+Duplicates@{remove\+Duplicates}!Ogre\+::\+Polygon@{Ogre\+::\+Polygon}}
\subsubsection{\texorpdfstring{remove\+Duplicates()}{removeDuplicates()}}
{\footnotesize\ttfamily void Ogre\+::\+Polygon\+::remove\+Duplicates (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Removes duplicate vertices from a polygon. 

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



Vertex count. 

\mbox{\Hypertarget{class_ogre_1_1_polygon_a7f281b800e73f58345a645a2a92f5c82}\label{class_ogre_1_1_polygon_a7f281b800e73f58345a645a2a92f5c82}} 
\index{Ogre\+::\+Polygon@{Ogre\+::\+Polygon}!get\+Normal@{get\+Normal}}
\index{get\+Normal@{get\+Normal}!Ogre\+::\+Polygon@{Ogre\+::\+Polygon}}
\subsubsection{\texorpdfstring{get\+Normal()}{getNormal()}}
{\footnotesize\ttfamily const \hyperlink{class_ogre_1_1_vector3}{Vector3}\& Ogre\+::\+Polygon\+::get\+Normal (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const}



Returns the polygon normal. 

\mbox{\Hypertarget{class_ogre_1_1_polygon_a2326d35755fe008fb437c208c6b007d6}\label{class_ogre_1_1_polygon_a2326d35755fe008fb437c208c6b007d6}} 
\index{Ogre\+::\+Polygon@{Ogre\+::\+Polygon}!delete\+Vertex@{delete\+Vertex}}
\index{delete\+Vertex@{delete\+Vertex}!Ogre\+::\+Polygon@{Ogre\+::\+Polygon}}
\subsubsection{\texorpdfstring{delete\+Vertex()}{deleteVertex()}}
{\footnotesize\ttfamily void Ogre\+::\+Polygon\+::delete\+Vertex (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{vertex }\end{DoxyParamCaption})}



Deletes a specific vertex. 

\mbox{\Hypertarget{class_ogre_1_1_polygon_a5fd6676a7f72ed2cb4b96262e7e0b448}\label{class_ogre_1_1_polygon_a5fd6676a7f72ed2cb4b96262e7e0b448}} 
\index{Ogre\+::\+Polygon@{Ogre\+::\+Polygon}!is\+Point\+Inside@{is\+Point\+Inside}}
\index{is\+Point\+Inside@{is\+Point\+Inside}!Ogre\+::\+Polygon@{Ogre\+::\+Polygon}}
\subsubsection{\texorpdfstring{is\+Point\+Inside()}{isPointInside()}}
{\footnotesize\ttfamily bool Ogre\+::\+Polygon\+::is\+Point\+Inside (\begin{DoxyParamCaption}\item[{const \hyperlink{class_ogre_1_1_vector3}{Vector3} \&}]{point }\end{DoxyParamCaption}) const}



Determines if a point is inside the polygon. 

\begin{DoxyRemark}{Remarks}
A point is inside a polygon if it is both on the polygon\textquotesingle{}s plane, and within the polygon\textquotesingle{}s bounds. Polygons are assumed to be convex and planar. 
\end{DoxyRemark}
\mbox{\Hypertarget{class_ogre_1_1_polygon_a6c6bde3911911e1bdf7ff2ed93209eda}\label{class_ogre_1_1_polygon_a6c6bde3911911e1bdf7ff2ed93209eda}} 
\index{Ogre\+::\+Polygon@{Ogre\+::\+Polygon}!store\+Edges@{store\+Edges}}
\index{store\+Edges@{store\+Edges}!Ogre\+::\+Polygon@{Ogre\+::\+Polygon}}
\subsubsection{\texorpdfstring{store\+Edges()}{storeEdges()}}
{\footnotesize\ttfamily void Ogre\+::\+Polygon\+::store\+Edges (\begin{DoxyParamCaption}\item[{\hyperlink{class_ogre_1_1_polygon_a75ad4cca62e4f65b7f6007ee29c42644}{Edge\+Map} $\ast$}]{edge\+Map }\end{DoxyParamCaption}) const}



Stores the edges of the polygon in ccw order. 

The vertices are copied so the user has to take the deletion into account. \mbox{\Hypertarget{class_ogre_1_1_polygon_a9db9518c3381e7a840610bf181d65b73}\label{class_ogre_1_1_polygon_a9db9518c3381e7a840610bf181d65b73}} 
\index{Ogre\+::\+Polygon@{Ogre\+::\+Polygon}!reset@{reset}}
\index{reset@{reset}!Ogre\+::\+Polygon@{Ogre\+::\+Polygon}}
\subsubsection{\texorpdfstring{reset()}{reset()}}
{\footnotesize\ttfamily void Ogre\+::\+Polygon\+::reset (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Resets the object. 

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



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

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



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



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



\subsection{Friends And Related Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_polygon_a4ecd1e0336a4e27b0c09ae3f75a1da72}\label{class_ogre_1_1_polygon_a4ecd1e0336a4e27b0c09ae3f75a1da72}} 
\index{Ogre\+::\+Polygon@{Ogre\+::\+Polygon}!operator$<$$<$@{operator$<$$<$}}
\index{operator$<$$<$@{operator$<$$<$}!Ogre\+::\+Polygon@{Ogre\+::\+Polygon}}
\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_polygon}{Polygon} \&}]{poly }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [friend]}}



Prints out the polygon data. 



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