\hypertarget{class_ogre_1_1_queued_renderable_collection}{}\doxysection{Ogre\+::Queued\+Renderable\+Collection Class Reference}
\label{class_ogre_1_1_queued_renderable_collection}\index{Ogre::QueuedRenderableCollection@{Ogre::QueuedRenderableCollection}}


Lowest level collection of renderables.  




{\ttfamily \#include $<$Ogre\+Render\+Queue\+Sorting\+Grouping.\+h$>$}



Inheritance diagram for Ogre\+::Queued\+Renderable\+Collection\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=268pt]{class_ogre_1_1_queued_renderable_collection__inherit__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{class_ogre_1_1_queued_renderable_collection_ab44ba16fe8e8c0247234d4e6edfae844}{Organisation\+Mode}} \{ \mbox{\hyperlink{class_ogre_1_1_queued_renderable_collection_ab44ba16fe8e8c0247234d4e6edfae844a5cb7861265877a6f1f0a4b3508df7014}{O\+M\+\_\+\+P\+A\+S\+S\+\_\+\+G\+R\+O\+UP}} = 1, 
\mbox{\hyperlink{class_ogre_1_1_queued_renderable_collection_ab44ba16fe8e8c0247234d4e6edfae844aaec5c102c9894feda331832a82738d72}{O\+M\+\_\+\+S\+O\+R\+T\+\_\+\+D\+E\+S\+C\+E\+N\+D\+I\+NG}} = 2, 
\mbox{\hyperlink{class_ogre_1_1_queued_renderable_collection_ab44ba16fe8e8c0247234d4e6edfae844a2cb722796eba6d25f8f7e8d7a4738241}{O\+M\+\_\+\+S\+O\+R\+T\+\_\+\+A\+S\+C\+E\+N\+D\+I\+NG}} = 6
 \}
\begin{DoxyCompactList}\small\item\em Organisation modes required for this collection. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_ogre_1_1_queued_renderable_collection_aef05cc3a16e4f6a83c2cbd8b4bec377b}{Queued\+Renderable\+Collection}} ()
\item 
void \mbox{\hyperlink{class_ogre_1_1_queued_renderable_collection_aec2e19f441301d4b629e17aae40e9dbd}{accept\+Visitor}} (\mbox{\hyperlink{class_ogre_1_1_queued_renderable_visitor}{Queued\+Renderable\+Visitor}} $\ast$visitor, \mbox{\hyperlink{class_ogre_1_1_queued_renderable_collection_ab44ba16fe8e8c0247234d4e6edfae844}{Organisation\+Mode}} om) const
\begin{DoxyCompactList}\small\item\em Accept a visitor over the collection contents. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_queued_renderable_collection_a1f30f771db3b5dd9f520a3e17ff9e1bb}{add\+Organisation\+Mode}} (\mbox{\hyperlink{class_ogre_1_1_queued_renderable_collection_ab44ba16fe8e8c0247234d4e6edfae844}{Organisation\+Mode}} om)
\begin{DoxyCompactList}\small\item\em Add a required sorting / grouping mode to this collection when next used. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_queued_renderable_collection_aa6dfdb7b4aefd87f8446651846d00e8c}{add\+Renderable}} (\mbox{\hyperlink{class_ogre_1_1_pass}{Pass}} $\ast$pass, \mbox{\hyperlink{class_ogre_1_1_renderable}{Renderable}} $\ast$rend)
\begin{DoxyCompactList}\small\item\em Add a renderable to the collection using a given pass. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_queued_renderable_collection_ae211c3c1661e84dc6c14c97c0ec26dc5}{clear}} (void)
\begin{DoxyCompactList}\small\item\em Empty the collection. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_queued_renderable_collection_a8fefa658106b7e61c4e779a93000485d}{merge}} (const \mbox{\hyperlink{class_ogre_1_1_queued_renderable_collection}{Queued\+Renderable\+Collection}} \&rhs)
\begin{DoxyCompactList}\small\item\em Merge renderable collection. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_queued_renderable_collection_abc5558898bde744ffebf36421b7c9d9e}{remove\+Pass\+Group}} (\mbox{\hyperlink{class_ogre_1_1_pass}{Pass}} $\ast$p)
\begin{DoxyCompactList}\small\item\em Remove the group entry (if any) for a given \mbox{\hyperlink{class_ogre_1_1_pass}{Pass}}. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_queued_renderable_collection_afde7f8e139270c04158880ea90da71a0}{reset\+Organisation\+Modes}} (void)
\begin{DoxyCompactList}\small\item\em Reset the organisation modes required for this collection. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_queued_renderable_collection_aed4bb7796c9730f96dbd1197c97af40b}{sort}} (const \mbox{\hyperlink{class_ogre_1_1_camera}{Camera}} $\ast$cam)
\begin{DoxyCompactList}\small\item\em Perform any sorting that is required on this collection. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Lowest level collection of renderables. 

\begin{DoxyRemark}{Remarks}
To iterate over items in this collection, you must call the accept method and supply a \mbox{\hyperlink{class_ogre_1_1_queued_renderable_visitor}{Queued\+Renderable\+Visitor}}. The order of the iteration, and whether that iteration is over a \mbox{\hyperlink{struct_ogre_1_1_renderable_pass}{Renderable\+Pass}} list or a 2-\/level grouped list which causes a visit call at the \mbox{\hyperlink{class_ogre_1_1_pass}{Pass}} level, and a call for each \mbox{\hyperlink{class_ogre_1_1_renderable}{Renderable}} underneath. 
\end{DoxyRemark}


\doxysubsection{Member Enumeration Documentation}
\mbox{\Hypertarget{class_ogre_1_1_queued_renderable_collection_ab44ba16fe8e8c0247234d4e6edfae844}\label{class_ogre_1_1_queued_renderable_collection_ab44ba16fe8e8c0247234d4e6edfae844}} 
\index{Ogre::QueuedRenderableCollection@{Ogre::QueuedRenderableCollection}!OrganisationMode@{OrganisationMode}}
\index{OrganisationMode@{OrganisationMode}!Ogre::QueuedRenderableCollection@{Ogre::QueuedRenderableCollection}}
\doxysubsubsection{\texorpdfstring{OrganisationMode}{OrganisationMode}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{class_ogre_1_1_queued_renderable_collection_ab44ba16fe8e8c0247234d4e6edfae844}{Ogre\+::\+Queued\+Renderable\+Collection\+::\+Organisation\+Mode}}}



Organisation modes required for this collection. 

\begin{DoxyRemark}{Remarks}
This affects the internal placement of the items added to this collection; if only one type of sorting / grouping is to be required, then renderables can be stored only once, whilst if multiple types are going to be needed then internally there will be multiple organisations. Changing the organisation needs to be done when the collection is empty. 
\end{DoxyRemark}
\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{OM\_PASS\_GROUP@{OM\_PASS\_GROUP}!Ogre::QueuedRenderableCollection@{Ogre::QueuedRenderableCollection}}\index{Ogre::QueuedRenderableCollection@{Ogre::QueuedRenderableCollection}!OM\_PASS\_GROUP@{OM\_PASS\_GROUP}}}\mbox{\Hypertarget{class_ogre_1_1_queued_renderable_collection_ab44ba16fe8e8c0247234d4e6edfae844a5cb7861265877a6f1f0a4b3508df7014}\label{class_ogre_1_1_queued_renderable_collection_ab44ba16fe8e8c0247234d4e6edfae844a5cb7861265877a6f1f0a4b3508df7014}} 
O\+M\+\_\+\+P\+A\+S\+S\+\_\+\+G\+R\+O\+UP&Group by pass. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{OM\_SORT\_DESCENDING@{OM\_SORT\_DESCENDING}!Ogre::QueuedRenderableCollection@{Ogre::QueuedRenderableCollection}}\index{Ogre::QueuedRenderableCollection@{Ogre::QueuedRenderableCollection}!OM\_SORT\_DESCENDING@{OM\_SORT\_DESCENDING}}}\mbox{\Hypertarget{class_ogre_1_1_queued_renderable_collection_ab44ba16fe8e8c0247234d4e6edfae844aaec5c102c9894feda331832a82738d72}\label{class_ogre_1_1_queued_renderable_collection_ab44ba16fe8e8c0247234d4e6edfae844aaec5c102c9894feda331832a82738d72}} 
O\+M\+\_\+\+S\+O\+R\+T\+\_\+\+D\+E\+S\+C\+E\+N\+D\+I\+NG&Sort descending camera distance. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{OM\_SORT\_ASCENDING@{OM\_SORT\_ASCENDING}!Ogre::QueuedRenderableCollection@{Ogre::QueuedRenderableCollection}}\index{Ogre::QueuedRenderableCollection@{Ogre::QueuedRenderableCollection}!OM\_SORT\_ASCENDING@{OM\_SORT\_ASCENDING}}}\mbox{\Hypertarget{class_ogre_1_1_queued_renderable_collection_ab44ba16fe8e8c0247234d4e6edfae844a2cb722796eba6d25f8f7e8d7a4738241}\label{class_ogre_1_1_queued_renderable_collection_ab44ba16fe8e8c0247234d4e6edfae844a2cb722796eba6d25f8f7e8d7a4738241}} 
O\+M\+\_\+\+S\+O\+R\+T\+\_\+\+A\+S\+C\+E\+N\+D\+I\+NG&Sort ascending camera distance Note value overlaps with descending since both use same sort. \\
\hline

\end{DoxyEnumFields}


\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_queued_renderable_collection_aef05cc3a16e4f6a83c2cbd8b4bec377b}\label{class_ogre_1_1_queued_renderable_collection_aef05cc3a16e4f6a83c2cbd8b4bec377b}} 
\index{Ogre::QueuedRenderableCollection@{Ogre::QueuedRenderableCollection}!QueuedRenderableCollection@{QueuedRenderableCollection}}
\index{QueuedRenderableCollection@{QueuedRenderableCollection}!Ogre::QueuedRenderableCollection@{Ogre::QueuedRenderableCollection}}
\doxysubsubsection{\texorpdfstring{QueuedRenderableCollection()}{QueuedRenderableCollection()}}
{\footnotesize\ttfamily Ogre\+::\+Queued\+Renderable\+Collection\+::\+Queued\+Renderable\+Collection (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_queued_renderable_collection_ae211c3c1661e84dc6c14c97c0ec26dc5}\label{class_ogre_1_1_queued_renderable_collection_ae211c3c1661e84dc6c14c97c0ec26dc5}} 
\index{Ogre::QueuedRenderableCollection@{Ogre::QueuedRenderableCollection}!clear@{clear}}
\index{clear@{clear}!Ogre::QueuedRenderableCollection@{Ogre::QueuedRenderableCollection}}
\doxysubsubsection{\texorpdfstring{clear()}{clear()}}
{\footnotesize\ttfamily void Ogre\+::\+Queued\+Renderable\+Collection\+::clear (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Empty the collection. 

\mbox{\Hypertarget{class_ogre_1_1_queued_renderable_collection_abc5558898bde744ffebf36421b7c9d9e}\label{class_ogre_1_1_queued_renderable_collection_abc5558898bde744ffebf36421b7c9d9e}} 
\index{Ogre::QueuedRenderableCollection@{Ogre::QueuedRenderableCollection}!removePassGroup@{removePassGroup}}
\index{removePassGroup@{removePassGroup}!Ogre::QueuedRenderableCollection@{Ogre::QueuedRenderableCollection}}
\doxysubsubsection{\texorpdfstring{removePassGroup()}{removePassGroup()}}
{\footnotesize\ttfamily void Ogre\+::\+Queued\+Renderable\+Collection\+::remove\+Pass\+Group (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_pass}{Pass}} $\ast$}]{p }\end{DoxyParamCaption})}



Remove the group entry (if any) for a given \mbox{\hyperlink{class_ogre_1_1_pass}{Pass}}. 

\begin{DoxyRemark}{Remarks}
To be used when a pass is destroyed, such that any grouping level for it becomes useless. 
\end{DoxyRemark}
\mbox{\Hypertarget{class_ogre_1_1_queued_renderable_collection_afde7f8e139270c04158880ea90da71a0}\label{class_ogre_1_1_queued_renderable_collection_afde7f8e139270c04158880ea90da71a0}} 
\index{Ogre::QueuedRenderableCollection@{Ogre::QueuedRenderableCollection}!resetOrganisationModes@{resetOrganisationModes}}
\index{resetOrganisationModes@{resetOrganisationModes}!Ogre::QueuedRenderableCollection@{Ogre::QueuedRenderableCollection}}
\doxysubsubsection{\texorpdfstring{resetOrganisationModes()}{resetOrganisationModes()}}
{\footnotesize\ttfamily void Ogre\+::\+Queued\+Renderable\+Collection\+::reset\+Organisation\+Modes (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Reset the organisation modes required for this collection. 

\begin{DoxyRemark}{Remarks}
You can only do this when the collection is empty. 
\end{DoxyRemark}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_ogre_1_1_queued_renderable_collection_ab44ba16fe8e8c0247234d4e6edfae844}{Organisation\+Mode}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_ogre_1_1_queued_renderable_collection_a1f30f771db3b5dd9f520a3e17ff9e1bb}\label{class_ogre_1_1_queued_renderable_collection_a1f30f771db3b5dd9f520a3e17ff9e1bb}} 
\index{Ogre::QueuedRenderableCollection@{Ogre::QueuedRenderableCollection}!addOrganisationMode@{addOrganisationMode}}
\index{addOrganisationMode@{addOrganisationMode}!Ogre::QueuedRenderableCollection@{Ogre::QueuedRenderableCollection}}
\doxysubsubsection{\texorpdfstring{addOrganisationMode()}{addOrganisationMode()}}
{\footnotesize\ttfamily void Ogre\+::\+Queued\+Renderable\+Collection\+::add\+Organisation\+Mode (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_queued_renderable_collection_ab44ba16fe8e8c0247234d4e6edfae844}{Organisation\+Mode}}}]{om }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



Add a required sorting / grouping mode to this collection when next used. 

\begin{DoxyRemark}{Remarks}
You can only do this when the collection is empty. 
\end{DoxyRemark}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_ogre_1_1_queued_renderable_collection_ab44ba16fe8e8c0247234d4e6edfae844}{Organisation\+Mode}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_ogre_1_1_queued_renderable_collection_aa6dfdb7b4aefd87f8446651846d00e8c}\label{class_ogre_1_1_queued_renderable_collection_aa6dfdb7b4aefd87f8446651846d00e8c}} 
\index{Ogre::QueuedRenderableCollection@{Ogre::QueuedRenderableCollection}!addRenderable@{addRenderable}}
\index{addRenderable@{addRenderable}!Ogre::QueuedRenderableCollection@{Ogre::QueuedRenderableCollection}}
\doxysubsubsection{\texorpdfstring{addRenderable()}{addRenderable()}}
{\footnotesize\ttfamily void Ogre\+::\+Queued\+Renderable\+Collection\+::add\+Renderable (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_pass}{Pass}} $\ast$}]{pass,  }\item[{\mbox{\hyperlink{class_ogre_1_1_renderable}{Renderable}} $\ast$}]{rend }\end{DoxyParamCaption})}



Add a renderable to the collection using a given pass. 

\mbox{\Hypertarget{class_ogre_1_1_queued_renderable_collection_aed4bb7796c9730f96dbd1197c97af40b}\label{class_ogre_1_1_queued_renderable_collection_aed4bb7796c9730f96dbd1197c97af40b}} 
\index{Ogre::QueuedRenderableCollection@{Ogre::QueuedRenderableCollection}!sort@{sort}}
\index{sort@{sort}!Ogre::QueuedRenderableCollection@{Ogre::QueuedRenderableCollection}}
\doxysubsubsection{\texorpdfstring{sort()}{sort()}}
{\footnotesize\ttfamily void Ogre\+::\+Queued\+Renderable\+Collection\+::sort (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_camera}{Camera}} $\ast$}]{cam }\end{DoxyParamCaption})}



Perform any sorting that is required on this collection. 


\begin{DoxyParams}{Parameters}
{\em cam} & The camera \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_queued_renderable_collection_aec2e19f441301d4b629e17aae40e9dbd}\label{class_ogre_1_1_queued_renderable_collection_aec2e19f441301d4b629e17aae40e9dbd}} 
\index{Ogre::QueuedRenderableCollection@{Ogre::QueuedRenderableCollection}!acceptVisitor@{acceptVisitor}}
\index{acceptVisitor@{acceptVisitor}!Ogre::QueuedRenderableCollection@{Ogre::QueuedRenderableCollection}}
\doxysubsubsection{\texorpdfstring{acceptVisitor()}{acceptVisitor()}}
{\footnotesize\ttfamily void Ogre\+::\+Queued\+Renderable\+Collection\+::accept\+Visitor (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_queued_renderable_visitor}{Queued\+Renderable\+Visitor}} $\ast$}]{visitor,  }\item[{\mbox{\hyperlink{class_ogre_1_1_queued_renderable_collection_ab44ba16fe8e8c0247234d4e6edfae844}{Organisation\+Mode}}}]{om }\end{DoxyParamCaption}) const}



Accept a visitor over the collection contents. 


\begin{DoxyParams}{Parameters}
{\em visitor} & Visitor class which should be called back \\
\hline
{\em om} & The organisation mode which you want to iterate over. Note that this must have been included in an add\+Organisation\+Mode call before any renderables were added. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_queued_renderable_collection_a8fefa658106b7e61c4e779a93000485d}\label{class_ogre_1_1_queued_renderable_collection_a8fefa658106b7e61c4e779a93000485d}} 
\index{Ogre::QueuedRenderableCollection@{Ogre::QueuedRenderableCollection}!merge@{merge}}
\index{merge@{merge}!Ogre::QueuedRenderableCollection@{Ogre::QueuedRenderableCollection}}
\doxysubsubsection{\texorpdfstring{merge()}{merge()}}
{\footnotesize\ttfamily void Ogre\+::\+Queued\+Renderable\+Collection\+::merge (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{class_ogre_1_1_queued_renderable_collection}{Queued\+Renderable\+Collection}} \&}]{rhs }\end{DoxyParamCaption})}



Merge renderable collection. 



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{_ogre_render_queue_sorting_grouping_8h}{Ogre\+Render\+Queue\+Sorting\+Grouping.\+h}}\end{DoxyCompactItemize}
