\hypertarget{class_ogre_1_1_high_level_gpu_program_manager}{}\doxysection{Ogre\+::High\+Level\+Gpu\+Program\+Manager Class Reference}
\label{class_ogre_1_1_high_level_gpu_program_manager}\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}


This \mbox{\hyperlink{class_ogre_1_1_resource_manager}{Resource\+Manager}} manages high-\/level vertex and fragment programs.  




{\ttfamily \#include $<$Ogre\+High\+Level\+Gpu\+Program\+Manager.\+h$>$}



Inheritance diagram for Ogre\+::High\+Level\+Gpu\+Program\+Manager\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{class_ogre_1_1_high_level_gpu_program_manager__inherit__graph}
\end{center}
\end{figure}
\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
typedef std\+::map$<$ \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}}, \mbox{\hyperlink{class_ogre_1_1_high_level_gpu_program_factory}{High\+Level\+Gpu\+Program\+Factory}} $\ast$ $>$ \mbox{\hyperlink{class_ogre_1_1_high_level_gpu_program_manager_a55f4583fc44e6729aac134a4a2aa0315}{Factory\+Map}}
\item 
typedef std\+::pair$<$ \mbox{\hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr}}, bool $>$ \mbox{\hyperlink{class_ogre_1_1_resource_manager_af484f2b60c8d9bc87f37fa8af8e630c5}{Resource\+Create\+Or\+Retrieve\+Result}}
\item 
typedef std\+::map$<$ \mbox{\hyperlink{namespace_ogre_aeb9f62c8e6c4239315286c63321722b2}{Resource\+Handle}}, \mbox{\hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr}} $>$ \mbox{\hyperlink{class_ogre_1_1_resource_manager_a6d9424ed93bc679b5543ddc9fc9fe41b}{Resource\+Handle\+Map}}
\item 
typedef std\+::unordered\+\_\+map$<$ \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}}, \mbox{\hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr}} $>$ \mbox{\hyperlink{class_ogre_1_1_resource_manager_a849d25862f43feec07252f0ae139c3e4}{Resource\+Map}}
\item 
typedef \mbox{\hyperlink{class_ogre_1_1_map_iterator}{Map\+Iterator}}$<$ \mbox{\hyperlink{class_ogre_1_1_resource_manager_a6d9424ed93bc679b5543ddc9fc9fe41b}{Resource\+Handle\+Map}} $>$ \mbox{\hyperlink{class_ogre_1_1_resource_manager_a4f7da59507a5a8550ea97615ff9afff0}{Resource\+Map\+Iterator}}
\item 
typedef std\+::unordered\+\_\+map$<$ \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}}, \mbox{\hyperlink{class_ogre_1_1_resource_manager_a849d25862f43feec07252f0ae139c3e4}{Resource\+Map}} $>$ \mbox{\hyperlink{class_ogre_1_1_resource_manager_a31a40854bf7ade620d6632550f2c474b}{Resource\+With\+Group\+Map}}
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_ogre_1_1_high_level_gpu_program_manager_a4fc12d0a6460a6a86ccf26c74fefbf9f}{High\+Level\+Gpu\+Program\+Manager}} ()
\item 
\mbox{\hyperlink{class_ogre_1_1_high_level_gpu_program_manager_a04d94cd96f9a6ea563f2f88290a68203}{$\sim$\+High\+Level\+Gpu\+Program\+Manager}} ()
\item 
virtual void \mbox{\hyperlink{class_ogre_1_1_resource_manager_af1a871ac005af0be0b8c1857a4f8eea9}{\+\_\+notify\+Resource\+Loaded}} (\mbox{\hyperlink{class_ogre_1_1_resource}{Resource}} $\ast$res)
\begin{DoxyCompactList}\small\item\em Notify this manager that a resource which it manages has been loaded. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{class_ogre_1_1_resource_manager_a40769092850d5b296e1d1a9190631700}{\+\_\+notify\+Resource\+Touched}} (\mbox{\hyperlink{class_ogre_1_1_resource}{Resource}} $\ast$res)
\begin{DoxyCompactList}\small\item\em Notify this manager that a resource which it manages has been \textquotesingle{}touched\textquotesingle{}, i.\+e. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{class_ogre_1_1_resource_manager_a54d1843a43aebb13542312cd17134e6a}{\+\_\+notify\+Resource\+Unloaded}} (\mbox{\hyperlink{class_ogre_1_1_resource}{Resource}} $\ast$res)
\begin{DoxyCompactList}\small\item\em Notify this manager that a resource which it manages has been unloaded. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_high_level_gpu_program_manager_ad95dcf667a304b0d59f8e09e69beef5b}{add\+Factory}} (\mbox{\hyperlink{class_ogre_1_1_high_level_gpu_program_factory}{High\+Level\+Gpu\+Program\+Factory}} $\ast$factory)
\begin{DoxyCompactList}\small\item\em Add a new factory object for high-\/level programs of a given language. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_ogre_1_1_resource_manager_af484f2b60c8d9bc87f37fa8af8e630c5}{Resource\+Create\+Or\+Retrieve\+Result}} \mbox{\hyperlink{class_ogre_1_1_resource_manager_ac3f365e1d71fbe328637a681171d7acd}{create\+Or\+Retrieve}} (const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&name, const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&group, bool is\+Manual=false, \mbox{\hyperlink{class_ogre_1_1_manual_resource_loader}{Manual\+Resource\+Loader}} $\ast$loader=0, const \mbox{\hyperlink{group___general_ga0537f38d7a77fcbe9f600f6ed8a926d6}{Name\+Value\+Pair\+List}} $\ast$create\+Params=0)
\begin{DoxyCompactList}\small\item\em Create a new resource, or retrieve an existing one with the same name if it already exists. \end{DoxyCompactList}\item 
\mbox{\hyperlink{namespace_ogre_aa0dbc2fa75a10658398c55e1450309e6}{High\+Level\+Gpu\+Program\+Ptr}} \mbox{\hyperlink{class_ogre_1_1_high_level_gpu_program_manager_a992de8146fdd698d1cd6774fb15a2001}{create\+Program}} (const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&name, const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&group\+Name, const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&language, \mbox{\hyperlink{group___resources_gad08e89fa63e81d061ea9e2f37664976e}{Gpu\+Program\+Type}} gptype)
\begin{DoxyCompactList}\small\item\em Create a new, unloaded \mbox{\hyperlink{class_ogre_1_1_high_level_gpu_program}{High\+Level\+Gpu\+Program}}. \end{DoxyCompactList}\item 
\mbox{\hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr}} \mbox{\hyperlink{class_ogre_1_1_resource_manager_a700088a63eabb0f6cb1fac96686db464}{create\+Resource}} (const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&name, const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&group, bool is\+Manual=false, \mbox{\hyperlink{class_ogre_1_1_manual_resource_loader}{Manual\+Resource\+Loader}} $\ast$loader=0, const \mbox{\hyperlink{group___general_ga0537f38d7a77fcbe9f600f6ed8a926d6}{Name\+Value\+Pair\+List}} $\ast$create\+Params=0)
\begin{DoxyCompactList}\small\item\em Creates a new blank resource, but does not immediately load it. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_resource_manager_a7913c36c02ef03007ff1a1c76ddf7710}{destroy\+All\+Resource\+Pools}} ()
\begin{DoxyCompactList}\small\item\em destroy all pools \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_resource_manager_a00a7fe59aaaa4acdfda07edc704516ee}{destroy\+Resource\+Pool}} (const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&name)
\begin{DoxyCompactList}\small\item\em Destroy a resource pool. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_resource_manager_aa8b761abb06d74347e9636550307ccd9}{destroy\+Resource\+Pool}} (\mbox{\hyperlink{class_ogre_1_1_resource_manager_1_1_resource_pool}{Resource\+Pool}} $\ast$pool)
\begin{DoxyCompactList}\small\item\em Destroy a resource pool. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr}} \mbox{\hyperlink{class_ogre_1_1_resource_manager_ab1c354fd2294c7c50b3f3e9ce42543f7}{get\+By\+Handle}} (\mbox{\hyperlink{namespace_ogre_aeb9f62c8e6c4239315286c63321722b2}{Resource\+Handle}} handle)
\begin{DoxyCompactList}\small\item\em Retrieves a pointer to a resource by handle, or null if the resource does not exist. \end{DoxyCompactList}\item 
\mbox{\hyperlink{namespace_ogre_aa0dbc2fa75a10658398c55e1450309e6}{High\+Level\+Gpu\+Program\+Ptr}} \mbox{\hyperlink{class_ogre_1_1_high_level_gpu_program_manager_a100c5f6ae39b317bf60b2150c53ac24d}{get\+By\+Name}} (const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&name, const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&group\+Name=\mbox{\hyperlink{group___resources_gad0e16ff2458722373e3eea3b303e52da}{R\+G\+N\+\_\+\+D\+E\+F\+A\+U\+LT}})
\begin{DoxyCompactList}\small\item\em Get a resource by name. \end{DoxyCompactList}\item 
\mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} \mbox{\hyperlink{class_ogre_1_1_resource_manager_a3ae7c3ae5494fc088fa8a17e736fef6b}{get\+Loading\+Order}} (void) const
\begin{DoxyCompactList}\small\item\em Gets the relative loading order of resources of this type. \end{DoxyCompactList}\item 
size\+\_\+t \mbox{\hyperlink{class_ogre_1_1_resource_manager_abd807a5a8f5754af45fc60db40b455d5}{get\+Memory\+Budget}} (void) const
\begin{DoxyCompactList}\small\item\em Get the limit on the amount of memory this resource handler may use. \end{DoxyCompactList}\item 
size\+\_\+t \mbox{\hyperlink{class_ogre_1_1_resource_manager_ac401b57afcc205728a3821065aef6238}{get\+Memory\+Usage}} (void) const
\begin{DoxyCompactList}\small\item\em Gets the current memory usage, in bytes. \end{DoxyCompactList}\item 
virtual \mbox{\hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr}} \mbox{\hyperlink{class_ogre_1_1_resource_manager_a0154dd3f0ed6e8665eecab30d2535101}{get\+Resource\+By\+Name}} (const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&name, const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&group\+Name=\mbox{\hyperlink{group___resources_gad0e16ff2458722373e3eea3b303e52da}{R\+G\+N\+\_\+\+D\+E\+F\+A\+U\+LT}})
\begin{DoxyCompactList}\small\item\em Retrieves a pointer to a resource by name, or null if the resource does not exist. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_ogre_1_1_resource_manager_a4f7da59507a5a8550ea97615ff9afff0}{Resource\+Map\+Iterator}} \mbox{\hyperlink{class_ogre_1_1_resource_manager_a4d3289d4636168230da11c1c9794db59}{get\+Resource\+Iterator}} (void)
\begin{DoxyCompactList}\small\item\em Returns an iterator over all resources in this manager. \end{DoxyCompactList}\item 
\mbox{\hyperlink{class_ogre_1_1_resource_manager_1_1_resource_pool}{Resource\+Pool}} $\ast$ \mbox{\hyperlink{class_ogre_1_1_resource_manager_ad18cc3f0a4b3e0553cfe715204f15359}{get\+Resource\+Pool}} (const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&name)
\begin{DoxyCompactList}\small\item\em Create a resource pool, or reuse one that already exists. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \& \mbox{\hyperlink{class_ogre_1_1_resource_manager_abc20acc2d57fd224b218a07d802e8c1a}{get\+Resource\+Type}} (void) const
\begin{DoxyCompactList}\small\item\em Gets a string identifying the type of resource this manager handles. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{group___general_ga783e5227595f351519627abfb740ec85}{String\+Vector}} \& \mbox{\hyperlink{class_ogre_1_1_resource_manager_a356d42e699011a2d86770c9b3ee55e6d}{get\+Script\+Patterns}} (void) const
\begin{DoxyCompactList}\small\item\em Gets the file patterns which should be used to find scripts for this \mbox{\hyperlink{class_ogre_1_1_resource_manager}{Resource\+Manager}}. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{class_ogre_1_1_resource_manager_ae071093e2681923ddf1d661087b44e4d}{get\+Verbose}} (void)
\begin{DoxyCompactList}\small\item\em Gets whether this manager and its resources habitually produce log output. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{class_ogre_1_1_high_level_gpu_program_manager_a900744260df0ceb1e1eec502a9e06d1d}{is\+Language\+Supported}} (const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&lang)
\begin{DoxyCompactList}\small\item\em Returns whether a given high-\/level language is supported. \end{DoxyCompactList}\item 
\mbox{\hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr}} \mbox{\hyperlink{class_ogre_1_1_resource_manager_a379c3ff20c97fcd13db3bc7841b4b560}{load}} (const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&name, const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&group, bool is\+Manual=false, \mbox{\hyperlink{class_ogre_1_1_manual_resource_loader}{Manual\+Resource\+Loader}} $\ast$loader=0, const \mbox{\hyperlink{group___general_ga0537f38d7a77fcbe9f600f6ed8a926d6}{Name\+Value\+Pair\+List}} $\ast$load\+Params=0, bool background\+Thread=false)
\begin{DoxyCompactList}\small\item\em Generic load method, used to create a \mbox{\hyperlink{class_ogre_1_1_resource}{Resource}} specific to this \mbox{\hyperlink{class_ogre_1_1_resource_manager}{Resource\+Manager}} without using one of the specialised \textquotesingle{}load\textquotesingle{} methods (containing per-\/\+Resource-\/type parameters). \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_resource_manager_a266d959fecaf0568270acfbf024e0b4b}{parse\+Script}} (\mbox{\hyperlink{namespace_ogre_a8a2a961b4205aacff9c01e81e08d7781}{Data\+Stream\+Ptr}} \&stream, const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&group\+Name)
\begin{DoxyCompactList}\small\item\em Parse the definition of a set of resources from a script file. \end{DoxyCompactList}\item 
\mbox{\hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr}} \mbox{\hyperlink{class_ogre_1_1_resource_manager_a4350b30d83790f208a9fdd1197ce9c95}{prepare}} (const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&name, const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&group, bool is\+Manual=false, \mbox{\hyperlink{class_ogre_1_1_manual_resource_loader}{Manual\+Resource\+Loader}} $\ast$loader=0, const \mbox{\hyperlink{group___general_ga0537f38d7a77fcbe9f600f6ed8a926d6}{Name\+Value\+Pair\+List}} $\ast$load\+Params=0, bool background\+Thread=false)
\begin{DoxyCompactList}\small\item\em Generic prepare method, used to create a \mbox{\hyperlink{class_ogre_1_1_resource}{Resource}} specific to this \mbox{\hyperlink{class_ogre_1_1_resource_manager}{Resource\+Manager}} without using one of the specialised \textquotesingle{}prepare\textquotesingle{} methods (containing per-\/\+Resource-\/type parameters). \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_resource_manager_aa9608544a7beb1b0e43835877ab62788}{reload\+All}} (bool reloadable\+Only=true)
\begin{DoxyCompactList}\small\item\em Caused all currently loaded resources to be reloaded. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{class_ogre_1_1_resource_manager_a84e25cc5ad09ff7567d1fed7429433a3}{reload\+All}} (\mbox{\hyperlink{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94}{Resource\+::\+Loading\+Flags}} flags)
\begin{DoxyCompactList}\small\item\em Caused all currently loaded resources to be reloaded. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_resource_manager_a4dda8323b265a00638dd29a4fa6510bc}{reload\+Unreferenced\+Resources}} (bool reloadable\+Only=true)
\begin{DoxyCompactList}\small\item\em Caused all currently loaded but not referenced by any other object resources to be reloaded. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_resource_manager_a257ae8a9ac7538581173b7ddcf7b3f19}{remove}} (const \mbox{\hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr}} \&r)
\begin{DoxyCompactList}\small\item\em Remove a single resource. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_resource_manager_aea812804e59454cd29ee531ebab56b1b}{remove}} (const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&name, const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&group=\mbox{\hyperlink{group___resources_gad0e16ff2458722373e3eea3b303e52da}{R\+G\+N\+\_\+\+D\+E\+F\+A\+U\+LT}})
\begin{DoxyCompactList}\small\item\em This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_resource_manager_a6871e913a62e1b419438e3169bc72bd3}{remove}} (\mbox{\hyperlink{namespace_ogre_aeb9f62c8e6c4239315286c63321722b2}{Resource\+Handle}} handle)
\begin{DoxyCompactList}\small\item\em This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{class_ogre_1_1_resource_manager_a6ff50fee06a678837cbeeea75e4372a5}{remove\+All}} (void)
\begin{DoxyCompactList}\small\item\em Removes all resources. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_high_level_gpu_program_manager_a610d333f2c2ed9957de5716b93275fc4}{remove\+Factory}} (\mbox{\hyperlink{class_ogre_1_1_high_level_gpu_program_factory}{High\+Level\+Gpu\+Program\+Factory}} $\ast$factory)
\begin{DoxyCompactList}\small\item\em Remove a factory object for high-\/level programs of a given language. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{class_ogre_1_1_resource_manager_a6ce966e769770ce9f90d77eddc2c30a3}{remove\+Unreferenced\+Resources}} (bool reloadable\+Only=true)
\begin{DoxyCompactList}\small\item\em Remove all resources which are not referenced by any other object. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{class_ogre_1_1_resource_manager_a3fdbd35468f69e6f6662bae7ec84af21}{resource\+Exists}} (const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&name, const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&group=\mbox{\hyperlink{group___resources_gad0e16ff2458722373e3eea3b303e52da}{R\+G\+N\+\_\+\+D\+E\+F\+A\+U\+LT}})
\begin{DoxyCompactList}\small\item\em Returns whether the named resource exists in this manager. \end{DoxyCompactList}\item 
bool \mbox{\hyperlink{class_ogre_1_1_resource_manager_a6a58b96feb67c25e123ccc3b287fcd2c}{resource\+Exists}} (\mbox{\hyperlink{namespace_ogre_aeb9f62c8e6c4239315286c63321722b2}{Resource\+Handle}} handle)
\begin{DoxyCompactList}\small\item\em Returns whether a resource with the given handle exists in this manager. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_resource_manager_a532e96fbeac065b4a7866b4302a90618}{set\+Memory\+Budget}} (size\+\_\+t bytes)
\begin{DoxyCompactList}\small\item\em Set a limit on the amount of memory this resource handler may use. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_resource_manager_a82b76280229c498b8d66f64b2a848447}{set\+Verbose}} (bool v)
\begin{DoxyCompactList}\small\item\em Sets whether this manager and its resources habitually produce log output. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_resource_manager_a62ddf3760bd9871b25ca016732e149d1}{unload}} (const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&name, const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&group=\mbox{\hyperlink{group___resources_gad0e16ff2458722373e3eea3b303e52da}{R\+G\+N\+\_\+\+D\+E\+F\+A\+U\+LT}})
\begin{DoxyCompactList}\small\item\em Unloads a single resource by name. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_resource_manager_a2514952116c93b5b5eba051492d2caa9}{unload}} (\mbox{\hyperlink{namespace_ogre_aeb9f62c8e6c4239315286c63321722b2}{Resource\+Handle}} handle)
\begin{DoxyCompactList}\small\item\em Unloads a single resource by handle. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_resource_manager_a1fe343406d15d5367cfc4f86ba589b55}{unload\+All}} (bool reloadable\+Only=true)
\begin{DoxyCompactList}\small\item\em Unloads all resources. \end{DoxyCompactList}\item 
virtual void \mbox{\hyperlink{class_ogre_1_1_resource_manager_a93b40c858020f2bbbcebcd4dc72a6321}{unload\+All}} (\mbox{\hyperlink{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94}{Resource\+::\+Loading\+Flags}} flags)
\begin{DoxyCompactList}\small\item\em Unloads all resources. \end{DoxyCompactList}\item 
void \mbox{\hyperlink{class_ogre_1_1_resource_manager_aeaa1410333b7bcea14b00c360112a528}{unload\+Unreferenced\+Resources}} (bool reloadable\+Only=true)
\begin{DoxyCompactList}\small\item\em Unload all resources which are not referenced by any other object. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static \mbox{\hyperlink{class_ogre_1_1_high_level_gpu_program_manager}{High\+Level\+Gpu\+Program\+Manager}} \& \mbox{\hyperlink{class_ogre_1_1_high_level_gpu_program_manager_a77dc1f71e5aae0cb1e146a2a0a3ced49}{get\+Singleton}} (void)
\begin{DoxyCompactList}\small\item\em Get the singleton instance. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{class_ogre_1_1_high_level_gpu_program_manager}{High\+Level\+Gpu\+Program\+Manager}} $\ast$ \mbox{\hyperlink{class_ogre_1_1_high_level_gpu_program_manager_a9229f816e3c47a5ca351c0d667cf53a4}{get\+Singleton\+Ptr}} (void)
\begin{DoxyCompactList}\small\item\em Get the singleton instance. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{class_ogre_1_1_resource_manager_abbb523a827bc6ea90d3b5ec80f0cf770}{O\+G\+R\+E\+\_\+\+A\+U\+T\+O\+\_\+\+M\+U\+T\+EX}}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
This \mbox{\hyperlink{class_ogre_1_1_resource_manager}{Resource\+Manager}} manages high-\/level vertex and fragment programs. 

\begin{DoxyRemark}{Remarks}
High-\/level vertex and fragment programs can be used instead of assembler programs as managed by \mbox{\hyperlink{class_ogre_1_1_gpu_program_manager}{Gpu\+Program\+Manager}}; however they typically result in a \mbox{\hyperlink{class_ogre_1_1_gpu_program}{Gpu\+Program}} being created as a derivative of the high-\/level program. High-\/level programs are easier to write, and can often be A\+P\+I-\/independent, unlike assembler programs. 
\end{DoxyRemark}
\begin{DoxyParagraph}{}
This class not only manages the programs themselves, it also manages the factory classes which allow the creation of high-\/level programs using a variety of high-\/level syntaxes. Plugins can be created which register themselves as high-\/level program factories and as such the engine can be extended to accept virtually any kind of program provided a plugin is written. 
\end{DoxyParagraph}


\doxysubsection{Member Typedef Documentation}
\mbox{\Hypertarget{class_ogre_1_1_high_level_gpu_program_manager_a55f4583fc44e6729aac134a4a2aa0315}\label{class_ogre_1_1_high_level_gpu_program_manager_a55f4583fc44e6729aac134a4a2aa0315}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!FactoryMap@{FactoryMap}}
\index{FactoryMap@{FactoryMap}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{FactoryMap}{FactoryMap}}
{\footnotesize\ttfamily typedef std\+::map$<$\mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}}, \mbox{\hyperlink{class_ogre_1_1_high_level_gpu_program_factory}{High\+Level\+Gpu\+Program\+Factory}}$\ast$$>$ \mbox{\hyperlink{class_ogre_1_1_high_level_gpu_program_manager_a55f4583fc44e6729aac134a4a2aa0315}{Ogre\+::\+High\+Level\+Gpu\+Program\+Manager\+::\+Factory\+Map}}}

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_af484f2b60c8d9bc87f37fa8af8e630c5}\label{class_ogre_1_1_resource_manager_af484f2b60c8d9bc87f37fa8af8e630c5}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!ResourceCreateOrRetrieveResult@{ResourceCreateOrRetrieveResult}}
\index{ResourceCreateOrRetrieveResult@{ResourceCreateOrRetrieveResult}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{ResourceCreateOrRetrieveResult}{ResourceCreateOrRetrieveResult}}
{\footnotesize\ttfamily typedef std\+::pair$<$\mbox{\hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr}}, bool$>$ \mbox{\hyperlink{class_ogre_1_1_resource_manager_af484f2b60c8d9bc87f37fa8af8e630c5}{Ogre\+::\+Resource\+Manager\+::\+Resource\+Create\+Or\+Retrieve\+Result}}\hspace{0.3cm}{\ttfamily [inherited]}}

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a849d25862f43feec07252f0ae139c3e4}\label{class_ogre_1_1_resource_manager_a849d25862f43feec07252f0ae139c3e4}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!ResourceMap@{ResourceMap}}
\index{ResourceMap@{ResourceMap}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{ResourceMap}{ResourceMap}}
{\footnotesize\ttfamily typedef std\+::unordered\+\_\+map$<$ \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}}, \mbox{\hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr}} $>$ \mbox{\hyperlink{class_ogre_1_1_resource_manager_a849d25862f43feec07252f0ae139c3e4}{Ogre\+::\+Resource\+Manager\+::\+Resource\+Map}}\hspace{0.3cm}{\ttfamily [inherited]}}

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a31a40854bf7ade620d6632550f2c474b}\label{class_ogre_1_1_resource_manager_a31a40854bf7ade620d6632550f2c474b}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!ResourceWithGroupMap@{ResourceWithGroupMap}}
\index{ResourceWithGroupMap@{ResourceWithGroupMap}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{ResourceWithGroupMap}{ResourceWithGroupMap}}
{\footnotesize\ttfamily typedef std\+::unordered\+\_\+map$<$ \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}}, \mbox{\hyperlink{class_ogre_1_1_resource_manager_a849d25862f43feec07252f0ae139c3e4}{Resource\+Map}} $>$ \mbox{\hyperlink{class_ogre_1_1_resource_manager_a31a40854bf7ade620d6632550f2c474b}{Ogre\+::\+Resource\+Manager\+::\+Resource\+With\+Group\+Map}}\hspace{0.3cm}{\ttfamily [inherited]}}

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a6d9424ed93bc679b5543ddc9fc9fe41b}\label{class_ogre_1_1_resource_manager_a6d9424ed93bc679b5543ddc9fc9fe41b}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!ResourceHandleMap@{ResourceHandleMap}}
\index{ResourceHandleMap@{ResourceHandleMap}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{ResourceHandleMap}{ResourceHandleMap}}
{\footnotesize\ttfamily typedef std\+::map$<$\mbox{\hyperlink{namespace_ogre_aeb9f62c8e6c4239315286c63321722b2}{Resource\+Handle}}, \mbox{\hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr}}$>$ \mbox{\hyperlink{class_ogre_1_1_resource_manager_a6d9424ed93bc679b5543ddc9fc9fe41b}{Ogre\+::\+Resource\+Manager\+::\+Resource\+Handle\+Map}}\hspace{0.3cm}{\ttfamily [inherited]}}

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a4f7da59507a5a8550ea97615ff9afff0}\label{class_ogre_1_1_resource_manager_a4f7da59507a5a8550ea97615ff9afff0}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!ResourceMapIterator@{ResourceMapIterator}}
\index{ResourceMapIterator@{ResourceMapIterator}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{ResourceMapIterator}{ResourceMapIterator}}
{\footnotesize\ttfamily typedef \mbox{\hyperlink{class_ogre_1_1_map_iterator}{Map\+Iterator}}$<$\mbox{\hyperlink{class_ogre_1_1_resource_manager_a6d9424ed93bc679b5543ddc9fc9fe41b}{Resource\+Handle\+Map}}$>$ \mbox{\hyperlink{class_ogre_1_1_resource_manager_a4f7da59507a5a8550ea97615ff9afff0}{Ogre\+::\+Resource\+Manager\+::\+Resource\+Map\+Iterator}}\hspace{0.3cm}{\ttfamily [inherited]}}



\doxysubsection{Constructor \& Destructor Documentation}
\mbox{\Hypertarget{class_ogre_1_1_high_level_gpu_program_manager_a4fc12d0a6460a6a86ccf26c74fefbf9f}\label{class_ogre_1_1_high_level_gpu_program_manager_a4fc12d0a6460a6a86ccf26c74fefbf9f}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!HighLevelGpuProgramManager@{HighLevelGpuProgramManager}}
\index{HighLevelGpuProgramManager@{HighLevelGpuProgramManager}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{HighLevelGpuProgramManager()}{HighLevelGpuProgramManager()}}
{\footnotesize\ttfamily Ogre\+::\+High\+Level\+Gpu\+Program\+Manager\+::\+High\+Level\+Gpu\+Program\+Manager (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{class_ogre_1_1_high_level_gpu_program_manager_a04d94cd96f9a6ea563f2f88290a68203}\label{class_ogre_1_1_high_level_gpu_program_manager_a04d94cd96f9a6ea563f2f88290a68203}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!````~HighLevelGpuProgramManager@{$\sim$HighLevelGpuProgramManager}}
\index{````~HighLevelGpuProgramManager@{$\sim$HighLevelGpuProgramManager}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{$\sim$HighLevelGpuProgramManager()}{~HighLevelGpuProgramManager()}}
{\footnotesize\ttfamily Ogre\+::\+High\+Level\+Gpu\+Program\+Manager\+::$\sim$\+High\+Level\+Gpu\+Program\+Manager (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{class_ogre_1_1_high_level_gpu_program_manager_ad95dcf667a304b0d59f8e09e69beef5b}\label{class_ogre_1_1_high_level_gpu_program_manager_ad95dcf667a304b0d59f8e09e69beef5b}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!addFactory@{addFactory}}
\index{addFactory@{addFactory}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{addFactory()}{addFactory()}}
{\footnotesize\ttfamily void Ogre\+::\+High\+Level\+Gpu\+Program\+Manager\+::add\+Factory (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_high_level_gpu_program_factory}{High\+Level\+Gpu\+Program\+Factory}} $\ast$}]{factory }\end{DoxyParamCaption})}



Add a new factory object for high-\/level programs of a given language. 

\mbox{\Hypertarget{class_ogre_1_1_high_level_gpu_program_manager_a610d333f2c2ed9957de5716b93275fc4}\label{class_ogre_1_1_high_level_gpu_program_manager_a610d333f2c2ed9957de5716b93275fc4}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!removeFactory@{removeFactory}}
\index{removeFactory@{removeFactory}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{removeFactory()}{removeFactory()}}
{\footnotesize\ttfamily void Ogre\+::\+High\+Level\+Gpu\+Program\+Manager\+::remove\+Factory (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_high_level_gpu_program_factory}{High\+Level\+Gpu\+Program\+Factory}} $\ast$}]{factory }\end{DoxyParamCaption})}



Remove a factory object for high-\/level programs of a given language. 

\mbox{\Hypertarget{class_ogre_1_1_high_level_gpu_program_manager_a900744260df0ceb1e1eec502a9e06d1d}\label{class_ogre_1_1_high_level_gpu_program_manager_a900744260df0ceb1e1eec502a9e06d1d}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!isLanguageSupported@{isLanguageSupported}}
\index{isLanguageSupported@{isLanguageSupported}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{isLanguageSupported()}{isLanguageSupported()}}
{\footnotesize\ttfamily bool Ogre\+::\+High\+Level\+Gpu\+Program\+Manager\+::is\+Language\+Supported (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{lang }\end{DoxyParamCaption})}



Returns whether a given high-\/level language is supported. 

\mbox{\Hypertarget{class_ogre_1_1_high_level_gpu_program_manager_a100c5f6ae39b317bf60b2150c53ac24d}\label{class_ogre_1_1_high_level_gpu_program_manager_a100c5f6ae39b317bf60b2150c53ac24d}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!getByName@{getByName}}
\index{getByName@{getByName}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{getByName()}{getByName()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespace_ogre_aa0dbc2fa75a10658398c55e1450309e6}{High\+Level\+Gpu\+Program\+Ptr}} Ogre\+::\+High\+Level\+Gpu\+Program\+Manager\+::get\+By\+Name (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{name,  }\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{group\+Name = {\ttfamily \mbox{\hyperlink{group___resources_gad0e16ff2458722373e3eea3b303e52da}{R\+G\+N\+\_\+\+D\+E\+F\+A\+U\+LT}}} }\end{DoxyParamCaption})}



Get a resource by name. 

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_ogre_1_1_resource_manager_a0154dd3f0ed6e8665eecab30d2535101}{Resource\+Manager\+::get\+Resource\+By\+Name}} 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_ogre_1_1_high_level_gpu_program_manager_a992de8146fdd698d1cd6774fb15a2001}\label{class_ogre_1_1_high_level_gpu_program_manager_a992de8146fdd698d1cd6774fb15a2001}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!createProgram@{createProgram}}
\index{createProgram@{createProgram}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{createProgram()}{createProgram()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespace_ogre_aa0dbc2fa75a10658398c55e1450309e6}{High\+Level\+Gpu\+Program\+Ptr}} Ogre\+::\+High\+Level\+Gpu\+Program\+Manager\+::create\+Program (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{name,  }\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{group\+Name,  }\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{language,  }\item[{\mbox{\hyperlink{group___resources_gad08e89fa63e81d061ea9e2f37664976e}{Gpu\+Program\+Type}}}]{gptype }\end{DoxyParamCaption})}



Create a new, unloaded \mbox{\hyperlink{class_ogre_1_1_high_level_gpu_program}{High\+Level\+Gpu\+Program}}. 

\begin{DoxyParagraph}{}
This method creates a new program of the type specified as the second and third parameters. You will have to call further methods on the returned program in order to define the program fully before you can load it. 
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em name} & The identifying name of the program \\
\hline
{\em group\+Name} & The name of the resource group which this program is to be a member of \\
\hline
{\em language} & Code of the language to use (e.\+g. \char`\"{}cg\char`\"{}) \\
\hline
{\em gptype} & The type of program to create \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_high_level_gpu_program_manager_a77dc1f71e5aae0cb1e146a2a0a3ced49}\label{class_ogre_1_1_high_level_gpu_program_manager_a77dc1f71e5aae0cb1e146a2a0a3ced49}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!getSingleton@{getSingleton}}
\index{getSingleton@{getSingleton}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{getSingleton()}{getSingleton()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{class_ogre_1_1_high_level_gpu_program_manager}{High\+Level\+Gpu\+Program\+Manager}}\& Ogre\+::\+High\+Level\+Gpu\+Program\+Manager\+::get\+Singleton (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Get the singleton instance. 

\mbox{\Hypertarget{class_ogre_1_1_high_level_gpu_program_manager_a9229f816e3c47a5ca351c0d667cf53a4}\label{class_ogre_1_1_high_level_gpu_program_manager_a9229f816e3c47a5ca351c0d667cf53a4}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!getSingletonPtr@{getSingletonPtr}}
\index{getSingletonPtr@{getSingletonPtr}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{getSingletonPtr()}{getSingletonPtr()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{class_ogre_1_1_high_level_gpu_program_manager}{High\+Level\+Gpu\+Program\+Manager}}$\ast$ Ogre\+::\+High\+Level\+Gpu\+Program\+Manager\+::get\+Singleton\+Ptr (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Get the singleton instance. 

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a700088a63eabb0f6cb1fac96686db464}\label{class_ogre_1_1_resource_manager_a700088a63eabb0f6cb1fac96686db464}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!createResource@{createResource}}
\index{createResource@{createResource}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{createResource()}{createResource()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr}} Ogre\+::\+Resource\+Manager\+::create\+Resource (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{name,  }\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{group,  }\item[{bool}]{is\+Manual = {\ttfamily false},  }\item[{\mbox{\hyperlink{class_ogre_1_1_manual_resource_loader}{Manual\+Resource\+Loader}} $\ast$}]{loader = {\ttfamily 0},  }\item[{const \mbox{\hyperlink{group___general_ga0537f38d7a77fcbe9f600f6ed8a926d6}{Name\+Value\+Pair\+List}} $\ast$}]{create\+Params = {\ttfamily 0} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Creates a new blank resource, but does not immediately load it. 


\begin{DoxyParams}{Parameters}
{\em name} & The unique name of the Resource \\
\hline
{\em group} & The name of the resource group to attach this new resource to \\
\hline
{\em is\+Manual} & Is this resource manually loaded? If so, you should really populate the loader parameter in order that the load process can call the loader back when loading is required. \\
\hline
{\em loader} & Pointer to a Manual\+Loader implementation which will be called when the \mbox{\hyperlink{class_ogre_1_1_resource}{Resource}} wishes to load (should be supplied if you set is\+Manual to true). You can in fact leave this parameter null if you wish, but the \mbox{\hyperlink{class_ogre_1_1_resource}{Resource}} will never be able to reload if anything ever causes it to unload. Therefore provision of a proper Manual\+Loader instance is strongly recommended. \\
\hline
{\em create\+Params} & If any parameters are required to create an instance, they should be supplied here as name / value pairs \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_resource_manager_ac3f365e1d71fbe328637a681171d7acd}\label{class_ogre_1_1_resource_manager_ac3f365e1d71fbe328637a681171d7acd}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!createOrRetrieve@{createOrRetrieve}}
\index{createOrRetrieve@{createOrRetrieve}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{createOrRetrieve()}{createOrRetrieve()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_ogre_1_1_resource_manager_af484f2b60c8d9bc87f37fa8af8e630c5}{Resource\+Create\+Or\+Retrieve\+Result}} Ogre\+::\+Resource\+Manager\+::create\+Or\+Retrieve (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{name,  }\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{group,  }\item[{bool}]{is\+Manual = {\ttfamily false},  }\item[{\mbox{\hyperlink{class_ogre_1_1_manual_resource_loader}{Manual\+Resource\+Loader}} $\ast$}]{loader = {\ttfamily 0},  }\item[{const \mbox{\hyperlink{group___general_ga0537f38d7a77fcbe9f600f6ed8a926d6}{Name\+Value\+Pair\+List}} $\ast$}]{create\+Params = {\ttfamily 0} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Create a new resource, or retrieve an existing one with the same name if it already exists. 

\begin{DoxyRemark}{Remarks}
This method performs the same task as calling \mbox{\hyperlink{class_ogre_1_1_high_level_gpu_program_manager_a100c5f6ae39b317bf60b2150c53ac24d}{get\+By\+Name()}} followed by create() if that returns null. The advantage is that it does it in one call so there are no race conditions if using multiple threads that could cause \mbox{\hyperlink{class_ogre_1_1_high_level_gpu_program_manager_a100c5f6ae39b317bf60b2150c53ac24d}{get\+By\+Name()}} to return null, but create() to fail because another thread created a resource in between. 
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em name} & The unique name of the Resource \\
\hline
{\em group} & The name of the resource group to attach this new resource to \\
\hline
{\em is\+Manual} & Is this resource manually loaded? If so, you should really populate the loader parameter in order that the load process can call the loader back when loading is required. \\
\hline
{\em loader} & Pointer to a Manual\+Loader implementation which will be called when the \mbox{\hyperlink{class_ogre_1_1_resource}{Resource}} wishes to load (should be supplied if you set is\+Manual to true). You can in fact leave this parameter null if you wish, but the \mbox{\hyperlink{class_ogre_1_1_resource}{Resource}} will never be able to reload if anything ever causes it to unload. Therefore provision of a proper Manual\+Loader instance is strongly recommended. \\
\hline
{\em create\+Params} & If any parameters are required to create an instance, they should be supplied here as name / value pairs \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A pair, the first element being the pointer, and the second being an indicator specifying whether the resource was newly created. 
\end{DoxyReturn}
\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a532e96fbeac065b4a7866b4302a90618}\label{class_ogre_1_1_resource_manager_a532e96fbeac065b4a7866b4302a90618}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!setMemoryBudget@{setMemoryBudget}}
\index{setMemoryBudget@{setMemoryBudget}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{setMemoryBudget()}{setMemoryBudget()}}
{\footnotesize\ttfamily void Ogre\+::\+Resource\+Manager\+::set\+Memory\+Budget (\begin{DoxyParamCaption}\item[{size\+\_\+t}]{bytes }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Set a limit on the amount of memory this resource handler may use. 

\begin{DoxyRemark}{Remarks}
If, when asked to load a new resource, the manager believes it will exceed this memory budget, it will temporarily unload a resource to make room for the new one. This unloading is not permanent and the \mbox{\hyperlink{class_ogre_1_1_resource}{Resource}} is not destroyed; it simply needs to be reloaded when next used. 
\end{DoxyRemark}
\mbox{\Hypertarget{class_ogre_1_1_resource_manager_abd807a5a8f5754af45fc60db40b455d5}\label{class_ogre_1_1_resource_manager_abd807a5a8f5754af45fc60db40b455d5}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!getMemoryBudget@{getMemoryBudget}}
\index{getMemoryBudget@{getMemoryBudget}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{getMemoryBudget()}{getMemoryBudget()}}
{\footnotesize\ttfamily size\+\_\+t Ogre\+::\+Resource\+Manager\+::get\+Memory\+Budget (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inherited]}}



Get the limit on the amount of memory this resource handler may use. 

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_ac401b57afcc205728a3821065aef6238}\label{class_ogre_1_1_resource_manager_ac401b57afcc205728a3821065aef6238}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!getMemoryUsage@{getMemoryUsage}}
\index{getMemoryUsage@{getMemoryUsage}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{getMemoryUsage()}{getMemoryUsage()}}
{\footnotesize\ttfamily size\+\_\+t Ogre\+::\+Resource\+Manager\+::get\+Memory\+Usage (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Gets the current memory usage, in bytes. 

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a62ddf3760bd9871b25ca016732e149d1}\label{class_ogre_1_1_resource_manager_a62ddf3760bd9871b25ca016732e149d1}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!unload@{unload}}
\index{unload@{unload}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{unload()}{unload()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void Ogre\+::\+Resource\+Manager\+::unload (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{name,  }\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{group = {\ttfamily \mbox{\hyperlink{group___resources_gad0e16ff2458722373e3eea3b303e52da}{R\+G\+N\+\_\+\+D\+E\+F\+A\+U\+LT}}} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Unloads a single resource by name. 

\begin{DoxyRemark}{Remarks}
Unloaded resources are not removed, they simply free up their memory as much as they can and wait to be reloaded. 
\end{DoxyRemark}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_ogre_1_1_resource_group_manager}{Resource\+Group\+Manager}} for unloading of resource groups. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a2514952116c93b5b5eba051492d2caa9}\label{class_ogre_1_1_resource_manager_a2514952116c93b5b5eba051492d2caa9}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!unload@{unload}}
\index{unload@{unload}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{unload()}{unload()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void Ogre\+::\+Resource\+Manager\+::unload (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aeb9f62c8e6c4239315286c63321722b2}{Resource\+Handle}}}]{handle }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Unloads a single resource by handle. 

\begin{DoxyRemark}{Remarks}
Unloaded resources are not removed, they simply free up their memory as much as they can and wait to be reloaded. 
\end{DoxyRemark}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_ogre_1_1_resource_group_manager}{Resource\+Group\+Manager}} for unloading of resource groups. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a1fe343406d15d5367cfc4f86ba589b55}\label{class_ogre_1_1_resource_manager_a1fe343406d15d5367cfc4f86ba589b55}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!unloadAll@{unloadAll}}
\index{unloadAll@{unloadAll}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{unloadAll()}{unloadAll()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void Ogre\+::\+Resource\+Manager\+::unload\+All (\begin{DoxyParamCaption}\item[{bool}]{reloadable\+Only = {\ttfamily true} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Unloads all resources. 

\begin{DoxyRemark}{Remarks}
Unloaded resources are not removed, they simply free up their memory as much as they can and wait to be reloaded. 
\end{DoxyRemark}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_ogre_1_1_resource_group_manager}{Resource\+Group\+Manager}} for unloading of resource groups. 
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em reloadable\+Only} & If true (the default), only unload the resource that is reloadable. Because some resources isn\textquotesingle{}t reloadable, they will be unloaded but can\textquotesingle{}t load them later. Thus, you might not want to them unloaded. Or, you might unload all of them, and then populate them manually later. \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_ogre_1_1_resource_a8eb34a9034aab62fd537c021a79e3366}{Resource\+::is\+Reloadable}} for resource is reloadable. 
\end{DoxySeeAlso}


References Ogre\+::\+Resource\+::\+L\+F\+\_\+\+D\+E\+F\+A\+U\+LT, and Ogre\+::\+Resource\+::\+L\+F\+\_\+\+I\+N\+C\+L\+U\+D\+E\+\_\+\+N\+O\+N\+\_\+\+R\+E\+L\+O\+A\+D\+A\+B\+LE.

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a93b40c858020f2bbbcebcd4dc72a6321}\label{class_ogre_1_1_resource_manager_a93b40c858020f2bbbcebcd4dc72a6321}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!unloadAll@{unloadAll}}
\index{unloadAll@{unloadAll}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{unloadAll()}{unloadAll()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Resource\+Manager\+::unload\+All (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94}{Resource\+::\+Loading\+Flags}}}]{flags }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [inherited]}}



Unloads all resources. 

\begin{DoxyRemark}{Remarks}
Unloaded resources are not removed, they simply free up their memory as much as they can and wait to be reloaded. 
\end{DoxyRemark}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_ogre_1_1_resource_group_manager}{Resource\+Group\+Manager}} for unloading of resource groups. 
\end{DoxySeeAlso}

\begin{DoxyParams}{Parameters}
{\em flags} & Allow to restrict processing to only reloadable and/or unreferenced resources. \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94}{Resource\+::\+Loading\+Flags}} for additional information. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_ogre_1_1_resource_manager_aa9608544a7beb1b0e43835877ab62788}\label{class_ogre_1_1_resource_manager_aa9608544a7beb1b0e43835877ab62788}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!reloadAll@{reloadAll}}
\index{reloadAll@{reloadAll}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{reloadAll()}{reloadAll()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void Ogre\+::\+Resource\+Manager\+::reload\+All (\begin{DoxyParamCaption}\item[{bool}]{reloadable\+Only = {\ttfamily true} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Caused all currently loaded resources to be reloaded. 

\begin{DoxyRemark}{Remarks}
All resources currently being held in this manager which are also marked as currently loaded will be unloaded, then loaded again. 
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em reloadable\+Only} & If true (the default), only reload the resource that is reloadable. Because some resources isn\textquotesingle{}t reloadable, they will be unloaded but can\textquotesingle{}t loaded again. Thus, you might not want to them unloaded. Or, you might unload all of them, and then populate them manually later. \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_ogre_1_1_resource_a8eb34a9034aab62fd537c021a79e3366}{Resource\+::is\+Reloadable}} for resource is reloadable. 
\end{DoxySeeAlso}


References Ogre\+::\+Resource\+::\+L\+F\+\_\+\+D\+E\+F\+A\+U\+LT, and Ogre\+::\+Resource\+::\+L\+F\+\_\+\+I\+N\+C\+L\+U\+D\+E\+\_\+\+N\+O\+N\+\_\+\+R\+E\+L\+O\+A\+D\+A\+B\+LE.

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a84e25cc5ad09ff7567d1fed7429433a3}\label{class_ogre_1_1_resource_manager_a84e25cc5ad09ff7567d1fed7429433a3}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!reloadAll@{reloadAll}}
\index{reloadAll@{reloadAll}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{reloadAll()}{reloadAll()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Resource\+Manager\+::reload\+All (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94}{Resource\+::\+Loading\+Flags}}}]{flags }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [inherited]}}



Caused all currently loaded resources to be reloaded. 

\begin{DoxyRemark}{Remarks}
All resources currently being held in this manager which are also marked as currently loaded will be unloaded, then loaded again. 
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em flags} & Allow to restrict processing to only reloadable and/or unreferenced resources. Additionally, reloading could be done with preserving some selected resource states that could be used elsewhere. \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_ogre_1_1_resource_a1aa750a4b994f2b1066220936cdfdb94}{Resource\+::\+Loading\+Flags}} for additional information. 
\end{DoxySeeAlso}
\mbox{\Hypertarget{class_ogre_1_1_resource_manager_aeaa1410333b7bcea14b00c360112a528}\label{class_ogre_1_1_resource_manager_aeaa1410333b7bcea14b00c360112a528}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!unloadUnreferencedResources@{unloadUnreferencedResources}}
\index{unloadUnreferencedResources@{unloadUnreferencedResources}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{unloadUnreferencedResources()}{unloadUnreferencedResources()}}
{\footnotesize\ttfamily void Ogre\+::\+Resource\+Manager\+::unload\+Unreferenced\+Resources (\begin{DoxyParamCaption}\item[{bool}]{reloadable\+Only = {\ttfamily true} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Unload all resources which are not referenced by any other object. 

\begin{DoxyRemark}{Remarks}
This method behaves like unload\+All, except that it only unloads resources which are not in use, ie not referenced by other objects. This allows you to free up some memory selectively whilst still keeping the group around (and the resources present, just not using much memory). 
\end{DoxyRemark}
\begin{DoxyParagraph}{}
Some referenced resource may exists \textquotesingle{}weak\textquotesingle{} pointer to their sub-\/components (e.\+g. \mbox{\hyperlink{class_ogre_1_1_entity}{Entity}} held pointer to \mbox{\hyperlink{class_ogre_1_1_sub_mesh}{Sub\+Mesh}}), in this case, unload or reload that resource will cause dangerous pointer access. Use this function instead of unload\+All allows you avoid fail in those situations. 
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em reloadable\+Only} & If true (the default), only unloads resources which can be subsequently automatically reloaded. \\
\hline
\end{DoxyParams}


References Ogre\+::\+Resource\+::\+L\+F\+\_\+\+O\+N\+L\+Y\+\_\+\+U\+N\+R\+E\+F\+E\+R\+E\+N\+C\+ED, and Ogre\+::\+Resource\+::\+L\+F\+\_\+\+O\+N\+L\+Y\+\_\+\+U\+N\+R\+E\+F\+E\+R\+E\+N\+C\+E\+D\+\_\+\+I\+N\+C\+L\+U\+D\+E\+\_\+\+N\+O\+N\+\_\+\+R\+E\+L\+O\+A\+D\+A\+B\+LE.

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a4dda8323b265a00638dd29a4fa6510bc}\label{class_ogre_1_1_resource_manager_a4dda8323b265a00638dd29a4fa6510bc}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!reloadUnreferencedResources@{reloadUnreferencedResources}}
\index{reloadUnreferencedResources@{reloadUnreferencedResources}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{reloadUnreferencedResources()}{reloadUnreferencedResources()}}
{\footnotesize\ttfamily void Ogre\+::\+Resource\+Manager\+::reload\+Unreferenced\+Resources (\begin{DoxyParamCaption}\item[{bool}]{reloadable\+Only = {\ttfamily true} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Caused all currently loaded but not referenced by any other object resources to be reloaded. 

\begin{DoxyRemark}{Remarks}
This method behaves like reload\+All, except that it only reloads resources which are not in use, i.\+e. not referenced by other objects. 
\end{DoxyRemark}
\begin{DoxyParagraph}{}
Some referenced resource may exists \textquotesingle{}weak\textquotesingle{} pointer to their sub-\/components (e.\+g. \mbox{\hyperlink{class_ogre_1_1_entity}{Entity}} held pointer to \mbox{\hyperlink{class_ogre_1_1_sub_mesh}{Sub\+Mesh}}), in this case, unload or reload that resource will cause dangerous pointer access. Use this function instead of reload\+All allows you avoid fail in those situations. 
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em reloadable\+Only} & If true (the default), only reloads resources which can be subsequently automatically reloaded. \\
\hline
\end{DoxyParams}


References Ogre\+::\+Resource\+::\+L\+F\+\_\+\+O\+N\+L\+Y\+\_\+\+U\+N\+R\+E\+F\+E\+R\+E\+N\+C\+ED, and Ogre\+::\+Resource\+::\+L\+F\+\_\+\+O\+N\+L\+Y\+\_\+\+U\+N\+R\+E\+F\+E\+R\+E\+N\+C\+E\+D\+\_\+\+I\+N\+C\+L\+U\+D\+E\+\_\+\+N\+O\+N\+\_\+\+R\+E\+L\+O\+A\+D\+A\+B\+LE.

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a257ae8a9ac7538581173b7ddcf7b3f19}\label{class_ogre_1_1_resource_manager_a257ae8a9ac7538581173b7ddcf7b3f19}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!remove@{remove}}
\index{remove@{remove}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{remove()}{remove()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily void Ogre\+::\+Resource\+Manager\+::remove (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr}} \&}]{r }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Remove a single resource. 

\begin{DoxyRemark}{Remarks}
Removes a single resource, meaning it will be removed from the list of valid resources in this manager, also causing it to be unloaded. 
\end{DoxyRemark}
\begin{DoxyNote}{Note}
The word \textquotesingle{}Destroy\textquotesingle{} is not used here, since if any other pointers are referring to this resource, it will persist until they have finished with it; however to all intents and purposes it no longer exists and will likely get destroyed imminently. 

If you do have shared pointers to resources hanging around after the \mbox{\hyperlink{class_ogre_1_1_resource_manager}{Resource\+Manager}} is destroyed, you may get problems on destruction of these resources if they were relying on the manager (especially if it is a plugin). If you find you get problems on shutdown in the destruction of resources, try making sure you release all your shared pointers before you shutdown O\+G\+RE. 
\end{DoxyNote}
\mbox{\Hypertarget{class_ogre_1_1_resource_manager_aea812804e59454cd29ee531ebab56b1b}\label{class_ogre_1_1_resource_manager_aea812804e59454cd29ee531ebab56b1b}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!remove@{remove}}
\index{remove@{remove}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{remove()}{remove()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily void Ogre\+::\+Resource\+Manager\+::remove (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{name,  }\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{group = {\ttfamily \mbox{\hyperlink{group___resources_gad0e16ff2458722373e3eea3b303e52da}{R\+G\+N\+\_\+\+D\+E\+F\+A\+U\+LT}}} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. 

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a6871e913a62e1b419438e3169bc72bd3}\label{class_ogre_1_1_resource_manager_a6871e913a62e1b419438e3169bc72bd3}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!remove@{remove}}
\index{remove@{remove}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{remove()}{remove()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily void Ogre\+::\+Resource\+Manager\+::remove (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aeb9f62c8e6c4239315286c63321722b2}{Resource\+Handle}}}]{handle }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. 

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a6ff50fee06a678837cbeeea75e4372a5}\label{class_ogre_1_1_resource_manager_a6ff50fee06a678837cbeeea75e4372a5}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!removeAll@{removeAll}}
\index{removeAll@{removeAll}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{removeAll()}{removeAll()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Resource\+Manager\+::remove\+All (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [inherited]}}



Removes all resources. 

\begin{DoxyNote}{Note}
The word \textquotesingle{}Destroy\textquotesingle{} is not used here, since if any other pointers are referring to these resources, they will persist until they have been finished with; however to all intents and purposes the resources no longer exist and will get destroyed imminently. 

If you do have shared pointers to resources hanging around after the \mbox{\hyperlink{class_ogre_1_1_resource_manager}{Resource\+Manager}} is destroyed, you may get problems on destruction of these resources if they were relying on the manager (especially if it is a plugin). If you find you get problems on shutdown in the destruction of resources, try making sure you release all your shared pointers before you shutdown O\+G\+RE. 
\end{DoxyNote}


Reimplemented in \mbox{\hyperlink{class_ogre_1_1_compositor_manager_a565f51a7a31bc6848c9e334d1c699242}{Ogre\+::\+Compositor\+Manager}}.

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a6ce966e769770ce9f90d77eddc2c30a3}\label{class_ogre_1_1_resource_manager_a6ce966e769770ce9f90d77eddc2c30a3}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!removeUnreferencedResources@{removeUnreferencedResources}}
\index{removeUnreferencedResources@{removeUnreferencedResources}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{removeUnreferencedResources()}{removeUnreferencedResources()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Resource\+Manager\+::remove\+Unreferenced\+Resources (\begin{DoxyParamCaption}\item[{bool}]{reloadable\+Only = {\ttfamily true} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [inherited]}}



Remove all resources which are not referenced by any other object. 

\begin{DoxyRemark}{Remarks}
This method behaves like remove\+All, except that it only removes resources which are not in use, ie not referenced by other objects. This allows you to free up some memory selectively whilst still keeping the group around (and the resources present, just not using much memory). 
\end{DoxyRemark}
\begin{DoxyParagraph}{}
Some referenced resource may exists \textquotesingle{}weak\textquotesingle{} pointer to their sub-\/components (e.\+g. \mbox{\hyperlink{class_ogre_1_1_entity}{Entity}} held pointer to \mbox{\hyperlink{class_ogre_1_1_sub_mesh}{Sub\+Mesh}}), in this case, remove or reload that resource will cause dangerous pointer access. Use this function instead of remove\+All allows you avoid fail in those situations. 
\end{DoxyParagraph}

\begin{DoxyParams}{Parameters}
{\em reloadable\+Only} & If true (the default), only removes resources which can be subsequently automatically reloaded. \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a0154dd3f0ed6e8665eecab30d2535101}\label{class_ogre_1_1_resource_manager_a0154dd3f0ed6e8665eecab30d2535101}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!getResourceByName@{getResourceByName}}
\index{getResourceByName@{getResourceByName}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{getResourceByName()}{getResourceByName()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr}} Ogre\+::\+Resource\+Manager\+::get\+Resource\+By\+Name (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{name,  }\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{group\+Name = {\ttfamily \mbox{\hyperlink{group___resources_gad0e16ff2458722373e3eea3b303e52da}{R\+G\+N\+\_\+\+D\+E\+F\+A\+U\+LT}}} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [inherited]}}



Retrieves a pointer to a resource by name, or null if the resource does not exist. 



Reimplemented in \mbox{\hyperlink{class_ogre_1_1_gpu_program_manager_ad43bb4fa7094b05f1a167869dd9ce2ab}{Ogre\+::\+Gpu\+Program\+Manager}}.

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_ab1c354fd2294c7c50b3f3e9ce42543f7}\label{class_ogre_1_1_resource_manager_ab1c354fd2294c7c50b3f3e9ce42543f7}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!getByHandle@{getByHandle}}
\index{getByHandle@{getByHandle}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{getByHandle()}{getByHandle()}}
{\footnotesize\ttfamily virtual \mbox{\hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr}} Ogre\+::\+Resource\+Manager\+::get\+By\+Handle (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aeb9f62c8e6c4239315286c63321722b2}{Resource\+Handle}}}]{handle }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [inherited]}}



Retrieves a pointer to a resource by handle, or null if the resource does not exist. 

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a3fdbd35468f69e6f6662bae7ec84af21}\label{class_ogre_1_1_resource_manager_a3fdbd35468f69e6f6662bae7ec84af21}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!resourceExists@{resourceExists}}
\index{resourceExists@{resourceExists}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{resourceExists()}{resourceExists()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily bool Ogre\+::\+Resource\+Manager\+::resource\+Exists (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{name,  }\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{group = {\ttfamily \mbox{\hyperlink{group___resources_gad0e16ff2458722373e3eea3b303e52da}{R\+G\+N\+\_\+\+D\+E\+F\+A\+U\+LT}}} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Returns whether the named resource exists in this manager. 

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a6a58b96feb67c25e123ccc3b287fcd2c}\label{class_ogre_1_1_resource_manager_a6a58b96feb67c25e123ccc3b287fcd2c}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!resourceExists@{resourceExists}}
\index{resourceExists@{resourceExists}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{resourceExists()}{resourceExists()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily bool Ogre\+::\+Resource\+Manager\+::resource\+Exists (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_aeb9f62c8e6c4239315286c63321722b2}{Resource\+Handle}}}]{handle }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Returns whether a resource with the given handle exists in this manager. 

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a40769092850d5b296e1d1a9190631700}\label{class_ogre_1_1_resource_manager_a40769092850d5b296e1d1a9190631700}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!\_notifyResourceTouched@{\_notifyResourceTouched}}
\index{\_notifyResourceTouched@{\_notifyResourceTouched}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{\_notifyResourceTouched()}{\_notifyResourceTouched()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Resource\+Manager\+::\+\_\+notify\+Resource\+Touched (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_resource}{Resource}} $\ast$}]{res }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [inherited]}}



Notify this manager that a resource which it manages has been \textquotesingle{}touched\textquotesingle{}, i.\+e. 

used. \mbox{\Hypertarget{class_ogre_1_1_resource_manager_af1a871ac005af0be0b8c1857a4f8eea9}\label{class_ogre_1_1_resource_manager_af1a871ac005af0be0b8c1857a4f8eea9}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!\_notifyResourceLoaded@{\_notifyResourceLoaded}}
\index{\_notifyResourceLoaded@{\_notifyResourceLoaded}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{\_notifyResourceLoaded()}{\_notifyResourceLoaded()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Resource\+Manager\+::\+\_\+notify\+Resource\+Loaded (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_resource}{Resource}} $\ast$}]{res }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [inherited]}}



Notify this manager that a resource which it manages has been loaded. 

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a54d1843a43aebb13542312cd17134e6a}\label{class_ogre_1_1_resource_manager_a54d1843a43aebb13542312cd17134e6a}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!\_notifyResourceUnloaded@{\_notifyResourceUnloaded}}
\index{\_notifyResourceUnloaded@{\_notifyResourceUnloaded}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{\_notifyResourceUnloaded()}{\_notifyResourceUnloaded()}}
{\footnotesize\ttfamily virtual void Ogre\+::\+Resource\+Manager\+::\+\_\+notify\+Resource\+Unloaded (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_resource}{Resource}} $\ast$}]{res }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}, {\ttfamily [inherited]}}



Notify this manager that a resource which it manages has been unloaded. 

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a4350b30d83790f208a9fdd1197ce9c95}\label{class_ogre_1_1_resource_manager_a4350b30d83790f208a9fdd1197ce9c95}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!prepare@{prepare}}
\index{prepare@{prepare}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{prepare()}{prepare()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr}} Ogre\+::\+Resource\+Manager\+::prepare (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{name,  }\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{group,  }\item[{bool}]{is\+Manual = {\ttfamily false},  }\item[{\mbox{\hyperlink{class_ogre_1_1_manual_resource_loader}{Manual\+Resource\+Loader}} $\ast$}]{loader = {\ttfamily 0},  }\item[{const \mbox{\hyperlink{group___general_ga0537f38d7a77fcbe9f600f6ed8a926d6}{Name\+Value\+Pair\+List}} $\ast$}]{load\+Params = {\ttfamily 0},  }\item[{bool}]{background\+Thread = {\ttfamily false} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Generic prepare method, used to create a \mbox{\hyperlink{class_ogre_1_1_resource}{Resource}} specific to this \mbox{\hyperlink{class_ogre_1_1_resource_manager}{Resource\+Manager}} without using one of the specialised \textquotesingle{}prepare\textquotesingle{} methods (containing per-\/\+Resource-\/type parameters). 


\begin{DoxyParams}{Parameters}
{\em name} & The name of the Resource \\
\hline
{\em group} & The resource group to which this resource will belong \\
\hline
{\em is\+Manual} & Is the resource to be manually loaded? If so, you should provide a value for the loader parameter \\
\hline
{\em loader} & The manual loader which is to perform the required actions when this resource is loaded; only applicable when you specify true for the previous parameter \\
\hline
{\em load\+Params} & Optional pointer to a list of name/value pairs containing loading parameters for this type of resource. \\
\hline
{\em background\+Thread} & Optional boolean which lets the load routine know if it is being run on the background resource loading thread \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a379c3ff20c97fcd13db3bc7841b4b560}\label{class_ogre_1_1_resource_manager_a379c3ff20c97fcd13db3bc7841b4b560}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!load@{load}}
\index{load@{load}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{load()}{load()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespace_ogre_a4697cc0c72aef3b488c7e058adf734ed}{Resource\+Ptr}} Ogre\+::\+Resource\+Manager\+::load (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{name,  }\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{group,  }\item[{bool}]{is\+Manual = {\ttfamily false},  }\item[{\mbox{\hyperlink{class_ogre_1_1_manual_resource_loader}{Manual\+Resource\+Loader}} $\ast$}]{loader = {\ttfamily 0},  }\item[{const \mbox{\hyperlink{group___general_ga0537f38d7a77fcbe9f600f6ed8a926d6}{Name\+Value\+Pair\+List}} $\ast$}]{load\+Params = {\ttfamily 0},  }\item[{bool}]{background\+Thread = {\ttfamily false} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Generic load method, used to create a \mbox{\hyperlink{class_ogre_1_1_resource}{Resource}} specific to this \mbox{\hyperlink{class_ogre_1_1_resource_manager}{Resource\+Manager}} without using one of the specialised \textquotesingle{}load\textquotesingle{} methods (containing per-\/\+Resource-\/type parameters). 


\begin{DoxyParams}{Parameters}
{\em name} & The name of the Resource \\
\hline
{\em group} & The resource group to which this resource will belong \\
\hline
{\em is\+Manual} & Is the resource to be manually loaded? If so, you should provide a value for the loader parameter \\
\hline
{\em loader} & The manual loader which is to perform the required actions when this resource is loaded; only applicable when you specify true for the previous parameter \\
\hline
{\em load\+Params} & Optional pointer to a list of name/value pairs containing loading parameters for this type of resource. \\
\hline
{\em background\+Thread} & Optional boolean which lets the load routine know if it is being run on the background resource loading thread \\
\hline
\end{DoxyParams}
\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a356d42e699011a2d86770c9b3ee55e6d}\label{class_ogre_1_1_resource_manager_a356d42e699011a2d86770c9b3ee55e6d}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!getScriptPatterns@{getScriptPatterns}}
\index{getScriptPatterns@{getScriptPatterns}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{getScriptPatterns()}{getScriptPatterns()}}
{\footnotesize\ttfamily const \mbox{\hyperlink{group___general_ga783e5227595f351519627abfb740ec85}{String\+Vector}}\& Ogre\+::\+Resource\+Manager\+::get\+Script\+Patterns (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Gets the file patterns which should be used to find scripts for this \mbox{\hyperlink{class_ogre_1_1_resource_manager}{Resource\+Manager}}. 

\begin{DoxyRemark}{Remarks}
Some resource managers can read script files in order to define resources ahead of time. These resources are added to the available list inside the manager, but none are loaded initially. This allows you to load the items that are used on demand, or to load them all as a group if you wish (through \mbox{\hyperlink{class_ogre_1_1_resource_group_manager}{Resource\+Group\+Manager}}). 
\end{DoxyRemark}
\begin{DoxyParagraph}{}
This method lets you determine the file pattern which will be used to identify scripts intended for this manager. 
\end{DoxyParagraph}
\begin{DoxyReturn}{Returns}
A list of file patterns, in the order they should be searched in. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{class_ogre_1_1_resource_manager_a266d959fecaf0568270acfbf024e0b4b}{parse\+Script}} 
\end{DoxySeeAlso}


Implements \mbox{\hyperlink{class_ogre_1_1_script_loader_a78189fd757a233f34d5d272f76f6abf6}{Ogre\+::\+Script\+Loader}}.

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a266d959fecaf0568270acfbf024e0b4b}\label{class_ogre_1_1_resource_manager_a266d959fecaf0568270acfbf024e0b4b}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!parseScript@{parseScript}}
\index{parseScript@{parseScript}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{parseScript()}{parseScript()}}
{\footnotesize\ttfamily void Ogre\+::\+Resource\+Manager\+::parse\+Script (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{namespace_ogre_a8a2a961b4205aacff9c01e81e08d7781}{Data\+Stream\+Ptr}} \&}]{stream,  }\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{group\+Name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Parse the definition of a set of resources from a script file. 

\begin{DoxyRemark}{Remarks}
Some resource managers can read script files in order to define resources ahead of time. These resources are added to the available list inside the manager, but none are loaded initially. This allows you to load the items that are used on demand, or to load them all as a group if you wish (through \mbox{\hyperlink{class_ogre_1_1_resource_group_manager}{Resource\+Group\+Manager}}). 
\end{DoxyRemark}

\begin{DoxyParams}{Parameters}
{\em stream} & Weak reference to a data stream which is the source of the script \\
\hline
{\em group\+Name} & The name of the resource group that resources which are parsed are to become a member of. If this group is loaded or unloaded, then the resources discovered in this script will be loaded / unloaded with it. \\
\hline
\end{DoxyParams}


Implements \mbox{\hyperlink{class_ogre_1_1_script_loader_a6bd73a15503c5cb29ed8b7e264e12293}{Ogre\+::\+Script\+Loader}}.



Reimplemented in \mbox{\hyperlink{class_ogre_1_1_font_manager_ada6af0d588fd5c17f0f8f7904fa657a8}{Ogre\+::\+Font\+Manager}}.

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a3ae7c3ae5494fc088fa8a17e736fef6b}\label{class_ogre_1_1_resource_manager_a3ae7c3ae5494fc088fa8a17e736fef6b}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!getLoadingOrder@{getLoadingOrder}}
\index{getLoadingOrder@{getLoadingOrder}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{getLoadingOrder()}{getLoadingOrder()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespace_ogre_aa3a7b6dfb905e6572d62f0dfa3d4274d}{Real}} Ogre\+::\+Resource\+Manager\+::get\+Loading\+Order (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}, {\ttfamily [inherited]}}



Gets the relative loading order of resources of this type. 

\begin{DoxyRemark}{Remarks}
There are dependencies between some kinds of resource in terms of loading order, and this value enumerates that. Higher values load later during bulk loading tasks. 
\end{DoxyRemark}


Implements \mbox{\hyperlink{class_ogre_1_1_script_loader_a12af311e1399d48c02c57bb545b50497}{Ogre\+::\+Script\+Loader}}.

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_abc20acc2d57fd224b218a07d802e8c1a}\label{class_ogre_1_1_resource_manager_abc20acc2d57fd224b218a07d802e8c1a}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!getResourceType@{getResourceType}}
\index{getResourceType@{getResourceType}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{getResourceType()}{getResourceType()}}
{\footnotesize\ttfamily const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}}\& Ogre\+::\+Resource\+Manager\+::get\+Resource\+Type (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Gets a string identifying the type of resource this manager handles. 

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a82b76280229c498b8d66f64b2a848447}\label{class_ogre_1_1_resource_manager_a82b76280229c498b8d66f64b2a848447}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!setVerbose@{setVerbose}}
\index{setVerbose@{setVerbose}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{setVerbose()}{setVerbose()}}
{\footnotesize\ttfamily void Ogre\+::\+Resource\+Manager\+::set\+Verbose (\begin{DoxyParamCaption}\item[{bool}]{v }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Sets whether this manager and its resources habitually produce log output. 

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_ae071093e2681923ddf1d661087b44e4d}\label{class_ogre_1_1_resource_manager_ae071093e2681923ddf1d661087b44e4d}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!getVerbose@{getVerbose}}
\index{getVerbose@{getVerbose}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{getVerbose()}{getVerbose()}}
{\footnotesize\ttfamily bool Ogre\+::\+Resource\+Manager\+::get\+Verbose (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Gets whether this manager and its resources habitually produce log output. 

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_ad18cc3f0a4b3e0553cfe715204f15359}\label{class_ogre_1_1_resource_manager_ad18cc3f0a4b3e0553cfe715204f15359}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!getResourcePool@{getResourcePool}}
\index{getResourcePool@{getResourcePool}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{getResourcePool()}{getResourcePool()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_ogre_1_1_resource_manager_1_1_resource_pool}{Resource\+Pool}}$\ast$ Ogre\+::\+Resource\+Manager\+::get\+Resource\+Pool (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Create a resource pool, or reuse one that already exists. 

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_aa8b761abb06d74347e9636550307ccd9}\label{class_ogre_1_1_resource_manager_aa8b761abb06d74347e9636550307ccd9}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!destroyResourcePool@{destroyResourcePool}}
\index{destroyResourcePool@{destroyResourcePool}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{destroyResourcePool()}{destroyResourcePool()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily void Ogre\+::\+Resource\+Manager\+::destroy\+Resource\+Pool (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{class_ogre_1_1_resource_manager_1_1_resource_pool}{Resource\+Pool}} $\ast$}]{pool }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Destroy a resource pool. 

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a00a7fe59aaaa4acdfda07edc704516ee}\label{class_ogre_1_1_resource_manager_a00a7fe59aaaa4acdfda07edc704516ee}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!destroyResourcePool@{destroyResourcePool}}
\index{destroyResourcePool@{destroyResourcePool}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{destroyResourcePool()}{destroyResourcePool()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily void Ogre\+::\+Resource\+Manager\+::destroy\+Resource\+Pool (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespace_ogre_af73bbdc8bed8a3e6fcd56bb8fa188c45}{String}} \&}]{name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



Destroy a resource pool. 

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a7913c36c02ef03007ff1a1c76ddf7710}\label{class_ogre_1_1_resource_manager_a7913c36c02ef03007ff1a1c76ddf7710}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!destroyAllResourcePools@{destroyAllResourcePools}}
\index{destroyAllResourcePools@{destroyAllResourcePools}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{destroyAllResourcePools()}{destroyAllResourcePools()}}
{\footnotesize\ttfamily void Ogre\+::\+Resource\+Manager\+::destroy\+All\+Resource\+Pools (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inherited]}}



destroy all pools 

\mbox{\Hypertarget{class_ogre_1_1_resource_manager_a4d3289d4636168230da11c1c9794db59}\label{class_ogre_1_1_resource_manager_a4d3289d4636168230da11c1c9794db59}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!getResourceIterator@{getResourceIterator}}
\index{getResourceIterator@{getResourceIterator}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{getResourceIterator()}{getResourceIterator()}}
{\footnotesize\ttfamily \mbox{\hyperlink{class_ogre_1_1_resource_manager_a4f7da59507a5a8550ea97615ff9afff0}{Resource\+Map\+Iterator}} Ogre\+::\+Resource\+Manager\+::get\+Resource\+Iterator (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [inherited]}}



Returns an iterator over all resources in this manager. 

\begin{DoxyNote}{Note}
Use of this iterator is N\+OT thread safe! 
\end{DoxyNote}


\doxysubsection{Member Data Documentation}
\mbox{\Hypertarget{class_ogre_1_1_resource_manager_abbb523a827bc6ea90d3b5ec80f0cf770}\label{class_ogre_1_1_resource_manager_abbb523a827bc6ea90d3b5ec80f0cf770}} 
\index{Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}!OGRE\_AUTO\_MUTEX@{OGRE\_AUTO\_MUTEX}}
\index{OGRE\_AUTO\_MUTEX@{OGRE\_AUTO\_MUTEX}!Ogre::HighLevelGpuProgramManager@{Ogre::HighLevelGpuProgramManager}}
\doxysubsubsection{\texorpdfstring{OGRE\_AUTO\_MUTEX}{OGRE\_AUTO\_MUTEX}}
{\footnotesize\ttfamily Ogre\+::\+Resource\+Manager\+::\+O\+G\+R\+E\+\_\+\+A\+U\+T\+O\+\_\+\+M\+U\+T\+EX\hspace{0.3cm}{\ttfamily [inherited]}}



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{_ogre_high_level_gpu_program_manager_8h}{Ogre\+High\+Level\+Gpu\+Program\+Manager.\+h}}\end{DoxyCompactItemize}
