\hypertarget{class_ogre_1_1_shadow_texture_manager}{}\section{Ogre\+:\+:Shadow\+Texture\+Manager Class Reference}
\label{class_ogre_1_1_shadow_texture_manager}\index{Ogre\+::\+Shadow\+Texture\+Manager@{Ogre\+::\+Shadow\+Texture\+Manager}}


Class to manage the available shadow textures which may be shared between many \hyperlink{class_ogre_1_1_scene_manager}{Scene\+Manager} instances if formats agree.  




{\ttfamily \#include $<$Ogre\+Shadow\+Texture\+Manager.\+h$>$}



Inheritance diagram for Ogre\+:\+:Shadow\+Texture\+Manager\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{class_ogre_1_1_shadow_texture_manager__inherit__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_ogre_1_1_shadow_texture_manager_a114b64cfb0aa04b386056c7fc7846178}{Shadow\+Texture\+Manager} ()
\item 
virtual \hyperlink{class_ogre_1_1_shadow_texture_manager_a27006df439acf39da15ce6a34afb7672}{$\sim$\+Shadow\+Texture\+Manager} ()
\item 
virtual void \hyperlink{class_ogre_1_1_shadow_texture_manager_a256d02a32dd8ddd8c6a3625cb7b39ae8}{clear} ()
\begin{DoxyCompactList}\small\item\em Dereference all the shadow textures kept in this class and remove them from \hyperlink{class_ogre_1_1_texture_manager}{Texture\+Manager}; note that it is up to the Scene\+Managers to clear their local references. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_shadow_texture_manager_ac74dfda686edb04424ada418dbe7b402}{clear\+Unused} ()
\begin{DoxyCompactList}\small\item\em Remove any shadow textures that are no longer being referenced. \end{DoxyCompactList}\item 
virtual \hyperlink{namespace_ogre_aa381890787803da43b614dee8d9c8994}{Texture\+Ptr} \hyperlink{class_ogre_1_1_shadow_texture_manager_a00425a10d5e57db5e9b7742e4235ea86}{get\+Null\+Shadow\+Texture} (\hyperlink{group___image_ga7e0353e7d36d4c2e8468641b7303d39c}{Pixel\+Format} format)
\begin{DoxyCompactList}\small\item\em Get an appropriately defined \textquotesingle{}null\textquotesingle{} texture, i.\+e. \end{DoxyCompactList}\item 
virtual void \hyperlink{class_ogre_1_1_shadow_texture_manager_acf644d1d5fe1657adce6ae8da247b162}{get\+Shadow\+Textures} (const \hyperlink{group___scene_ga498ca415d30ec282949ce7dce9d1db69}{Shadow\+Texture\+Config\+List} \&config, \hyperlink{group___scene_gab5efceec9e1a6e88e156564c15e86f6a}{Shadow\+Texture\+List} \&list\+To\+Populate)
\begin{DoxyCompactList}\small\item\em Populate an incoming list with shadow texture references as requested in the configuration list. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static \hyperlink{class_ogre_1_1_shadow_texture_manager}{Shadow\+Texture\+Manager} \& \hyperlink{class_ogre_1_1_shadow_texture_manager_a90f28dc399e6efb5f02de3115d8a0d7a}{get\+Singleton} (void)
\begin{DoxyCompactList}\small\item\em Get the singleton instance. \end{DoxyCompactList}\item 
static \hyperlink{class_ogre_1_1_shadow_texture_manager}{Shadow\+Texture\+Manager} $\ast$ \hyperlink{class_ogre_1_1_shadow_texture_manager_a9490269f8bbbdcd75fea78989b12fb99}{get\+Singleton\+Ptr} (void)
\begin{DoxyCompactList}\small\item\em Get the singleton instance. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Class to manage the available shadow textures which may be shared between many \hyperlink{class_ogre_1_1_scene_manager}{Scene\+Manager} instances if formats agree. 

\begin{DoxyRemark}{Remarks}
The management of the list of shadow textures has been separated out into a dedicated class to enable the clean management of shadow textures across many scene manager instances. Where multiple scene managers are used with shadow textures, the configuration of those shadows may or may not be consistent -\/ if it is, it is good to centrally manage the textures so that creation and destruction responsibility is clear. 
\end{DoxyRemark}


\subsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_shadow_texture_manager_a114b64cfb0aa04b386056c7fc7846178}\label{class_ogre_1_1_shadow_texture_manager_a114b64cfb0aa04b386056c7fc7846178}} 
\index{Ogre\+::\+Shadow\+Texture\+Manager@{Ogre\+::\+Shadow\+Texture\+Manager}!Shadow\+Texture\+Manager@{Shadow\+Texture\+Manager}}
\index{Shadow\+Texture\+Manager@{Shadow\+Texture\+Manager}!Ogre\+::\+Shadow\+Texture\+Manager@{Ogre\+::\+Shadow\+Texture\+Manager}}
\subsubsection{\texorpdfstring{Shadow\+Texture\+Manager()}{ShadowTextureManager()}}
{\footnotesize\ttfamily Ogre\+::\+Shadow\+Texture\+Manager\+::\+Shadow\+Texture\+Manager (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{class_ogre_1_1_shadow_texture_manager_a27006df439acf39da15ce6a34afb7672}\label{class_ogre_1_1_shadow_texture_manager_a27006df439acf39da15ce6a34afb7672}} 
\index{Ogre\+::\+Shadow\+Texture\+Manager@{Ogre\+::\+Shadow\+Texture\+Manager}!````~Shadow\+Texture\+Manager@{$\sim$\+Shadow\+Texture\+Manager}}
\index{````~Shadow\+Texture\+Manager@{$\sim$\+Shadow\+Texture\+Manager}!Ogre\+::\+Shadow\+Texture\+Manager@{Ogre\+::\+Shadow\+Texture\+Manager}}
\subsubsection{\texorpdfstring{$\sim$\+Shadow\+Texture\+Manager()}{~ShadowTextureManager()}}
{\footnotesize\ttfamily virtual Ogre\+::\+Shadow\+Texture\+Manager\+::$\sim$\+Shadow\+Texture\+Manager (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



\subsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_shadow_texture_manager_acf644d1d5fe1657adce6ae8da247b162}\label{class_ogre_1_1_shadow_texture_manager_acf644d1d5fe1657adce6ae8da247b162}} 
\index{Ogre\+::\+Shadow\+Texture\+Manager@{Ogre\+::\+Shadow\+Texture\+Manager}!get\+Shadow\+Textures@{get\+Shadow\+Textures}}
\index{get\+Shadow\+Textures@{get\+Shadow\+Textures}!Ogre\+::\+Shadow\+Texture\+Manager@{Ogre\+::\+Shadow\+Texture\+Manager}}
\subsubsection{\texorpdfstring{get\+Shadow\+Textures()}{getShadowTextures()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Shadow\+Texture\+Manager\+::get\+Shadow\+Textures (\begin{DoxyParamCaption}\item[{const \hyperlink{group___scene_ga498ca415d30ec282949ce7dce9d1db69}{Shadow\+Texture\+Config\+List} \&}]{config,  }\item[{\hyperlink{group___scene_gab5efceec9e1a6e88e156564c15e86f6a}{Shadow\+Texture\+List} \&}]{list\+To\+Populate }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Populate an incoming list with shadow texture references as requested in the configuration list. 

\mbox{\Hypertarget{class_ogre_1_1_shadow_texture_manager_a00425a10d5e57db5e9b7742e4235ea86}\label{class_ogre_1_1_shadow_texture_manager_a00425a10d5e57db5e9b7742e4235ea86}} 
\index{Ogre\+::\+Shadow\+Texture\+Manager@{Ogre\+::\+Shadow\+Texture\+Manager}!get\+Null\+Shadow\+Texture@{get\+Null\+Shadow\+Texture}}
\index{get\+Null\+Shadow\+Texture@{get\+Null\+Shadow\+Texture}!Ogre\+::\+Shadow\+Texture\+Manager@{Ogre\+::\+Shadow\+Texture\+Manager}}
\subsubsection{\texorpdfstring{get\+Null\+Shadow\+Texture()}{getNullShadowTexture()}}
{\footnotesize\ttfamily virtual \hyperlink{namespace_ogre_aa381890787803da43b614dee8d9c8994}{Texture\+Ptr} Ogre\+::\+Shadow\+Texture\+Manager\+::get\+Null\+Shadow\+Texture (\begin{DoxyParamCaption}\item[{\hyperlink{group___image_ga7e0353e7d36d4c2e8468641b7303d39c}{Pixel\+Format}}]{format }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Get an appropriately defined \textquotesingle{}null\textquotesingle{} texture, i.\+e. 

one which will always result in no shadows. \mbox{\Hypertarget{class_ogre_1_1_shadow_texture_manager_ac74dfda686edb04424ada418dbe7b402}\label{class_ogre_1_1_shadow_texture_manager_ac74dfda686edb04424ada418dbe7b402}} 
\index{Ogre\+::\+Shadow\+Texture\+Manager@{Ogre\+::\+Shadow\+Texture\+Manager}!clear\+Unused@{clear\+Unused}}
\index{clear\+Unused@{clear\+Unused}!Ogre\+::\+Shadow\+Texture\+Manager@{Ogre\+::\+Shadow\+Texture\+Manager}}
\subsubsection{\texorpdfstring{clear\+Unused()}{clearUnused()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Shadow\+Texture\+Manager\+::clear\+Unused (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Remove any shadow textures that are no longer being referenced. 

\begin{DoxyRemark}{Remarks}
This should be called fairly regularly since references may take a little while to disappear in some cases (if referenced by materials) 
\end{DoxyRemark}
\mbox{\Hypertarget{class_ogre_1_1_shadow_texture_manager_a256d02a32dd8ddd8c6a3625cb7b39ae8}\label{class_ogre_1_1_shadow_texture_manager_a256d02a32dd8ddd8c6a3625cb7b39ae8}} 
\index{Ogre\+::\+Shadow\+Texture\+Manager@{Ogre\+::\+Shadow\+Texture\+Manager}!clear@{clear}}
\index{clear@{clear}!Ogre\+::\+Shadow\+Texture\+Manager@{Ogre\+::\+Shadow\+Texture\+Manager}}
\subsubsection{\texorpdfstring{clear()}{clear()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Shadow\+Texture\+Manager\+::clear (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Dereference all the shadow textures kept in this class and remove them from \hyperlink{class_ogre_1_1_texture_manager}{Texture\+Manager}; note that it is up to the Scene\+Managers to clear their local references. 

\mbox{\Hypertarget{class_ogre_1_1_shadow_texture_manager_a90f28dc399e6efb5f02de3115d8a0d7a}\label{class_ogre_1_1_shadow_texture_manager_a90f28dc399e6efb5f02de3115d8a0d7a}} 
\index{Ogre\+::\+Shadow\+Texture\+Manager@{Ogre\+::\+Shadow\+Texture\+Manager}!get\+Singleton@{get\+Singleton}}
\index{get\+Singleton@{get\+Singleton}!Ogre\+::\+Shadow\+Texture\+Manager@{Ogre\+::\+Shadow\+Texture\+Manager}}
\subsubsection{\texorpdfstring{get\+Singleton()}{getSingleton()}}
{\footnotesize\ttfamily static \hyperlink{class_ogre_1_1_shadow_texture_manager}{Shadow\+Texture\+Manager}\& Ogre\+::\+Shadow\+Texture\+Manager\+::get\+Singleton (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Get the singleton instance. 

\mbox{\Hypertarget{class_ogre_1_1_shadow_texture_manager_a9490269f8bbbdcd75fea78989b12fb99}\label{class_ogre_1_1_shadow_texture_manager_a9490269f8bbbdcd75fea78989b12fb99}} 
\index{Ogre\+::\+Shadow\+Texture\+Manager@{Ogre\+::\+Shadow\+Texture\+Manager}!get\+Singleton\+Ptr@{get\+Singleton\+Ptr}}
\index{get\+Singleton\+Ptr@{get\+Singleton\+Ptr}!Ogre\+::\+Shadow\+Texture\+Manager@{Ogre\+::\+Shadow\+Texture\+Manager}}
\subsubsection{\texorpdfstring{get\+Singleton\+Ptr()}{getSingletonPtr()}}
{\footnotesize\ttfamily static \hyperlink{class_ogre_1_1_shadow_texture_manager}{Shadow\+Texture\+Manager}$\ast$ Ogre\+::\+Shadow\+Texture\+Manager\+::get\+Singleton\+Ptr (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Get the singleton instance. 



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