Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

Ogre::RenderSystemCapabilitiesManager Class Reference

Class for managing RenderSystemCapabilities database for Ogre. More...

#include <OgreRenderSystemCapabilitiesManager.h>

Inheritance diagram for Ogre::RenderSystemCapabilitiesManager:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 RenderSystemCapabilitiesManager ()
 Default constructor.
virtual ~RenderSystemCapabilitiesManager ()
 Default destructor.
void parseCapabilitiesFromArchive (const String &filename, const String &archiveType, bool recursive=true)
RenderSystemCapabilitiesloadParsedCapabilities (const String &name)
 Returns a capability loaded with RenderSystemCapabilitiesManager::parseCapabilitiesFromArchive method.
void _addRenderSystemCapabilities (const String &name, RenderSystemCapabilities *caps)
 Method used by RenderSystemCapabilitiesSerializer::parseScript.
 Singleton (void)
void * operator new (size_t sz, const char *file, int line, const char *func)
 operator new, with debug line info
void * operator new (size_t sz)
void * operator new (size_t sz, void *ptr)
 placement operator new
void * operator new[] (size_t sz, const char *file, int line, const char *func)
 array operator new, with debug line info
void * operator new[] (size_t sz)
void operator delete (void *ptr)
void operator delete (void *ptr, void *)
void operator delete (void *ptr, const char *, int, const char *)
void operator delete[] (void *ptr)
void operator delete[] (void *ptr, const char *, int, const char *)

Static Public Member Functions

static RenderSystemCapabilitiesManagergetSingleton (void)
 Override standard Singleton retrieval.
static RenderSystemCapabilitiesManagergetSingletonPtr (void)
 Override standard Singleton retrieval.

Protected Types

typedef std::map< String,
RenderSystemCapabilities * > 
CapabilitiesMap

Protected Attributes

RenderSystemCapabilitiesSerializermSerializer
CapabilitiesMap mCapabilitiesMap
const String mScriptPattern

Static Protected Attributes

static RenderSystemCapabilitiesManagerms_Singleton

Detailed Description

Class for managing RenderSystemCapabilities database for Ogre.

Remarks:
This class behaves similarly to other ResourceManager, although .rendercaps are not resources. It contains and abstract a .rendercaps Serializer

Definition at line 47 of file OgreRenderSystemCapabilitiesManager.h.


Member Typedef Documentation

typedef std::map<String, RenderSystemCapabilities*> Ogre::RenderSystemCapabilitiesManager::CapabilitiesMap [protected]
 

Definition at line 110 of file OgreRenderSystemCapabilitiesManager.h.


Constructor & Destructor Documentation

Ogre::RenderSystemCapabilitiesManager::RenderSystemCapabilitiesManager  ) 
 

Default constructor.

virtual Ogre::RenderSystemCapabilitiesManager::~RenderSystemCapabilitiesManager  )  [virtual]
 

Default destructor.


Member Function Documentation

void Ogre::RenderSystemCapabilitiesManager::_addRenderSystemCapabilities const String name,
RenderSystemCapabilities caps
 

Method used by RenderSystemCapabilitiesSerializer::parseScript.

static RenderSystemCapabilitiesManager& Ogre::RenderSystemCapabilitiesManager::getSingleton void   )  [static]
 

Override standard Singleton retrieval.

Remarks:
Why do we do this? Well, it's because the Singleton implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the Singleton template to work, but we actually only want it compiled into the implementation of the class based on the Singleton, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll.
This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors.

Reimplemented from Ogre::Singleton< RenderSystemCapabilitiesManager >.

static RenderSystemCapabilitiesManager* Ogre::RenderSystemCapabilitiesManager::getSingletonPtr void   )  [static]
 

Override standard Singleton retrieval.

Remarks:
Why do we do this? Well, it's because the Singleton implementation is in a .h file, which means it gets compiled into anybody who includes it. This is needed for the Singleton template to work, but we actually only want it compiled into the implementation of the class based on the Singleton, not all of them. If we don't change this, we get link errors when trying to use the Singleton-based class from an outside dll.
This method just delegates to the template version anyway, but the implementation stays in this single compilation unit, preventing link errors.

Reimplemented from Ogre::Singleton< RenderSystemCapabilitiesManager >.

RenderSystemCapabilities* Ogre::RenderSystemCapabilitiesManager::loadParsedCapabilities const String name  ) 
 

Returns a capability loaded with RenderSystemCapabilitiesManager::parseCapabilitiesFromArchive method.

Returns:
NULL if the name is invalid, a parsed RenderSystemCapabilities otherwise.

template<class Alloc>
void Ogre::AllocatedObject< Alloc >::operator delete void *  ptr,
const char *  ,
int  ,
const char * 
[inherited]
 

Definition at line 101 of file OgreMemoryAllocatedObject.h.

template<class Alloc>
void Ogre::AllocatedObject< Alloc >::operator delete void *  ptr,
void * 
[inherited]
 

Definition at line 95 of file OgreMemoryAllocatedObject.h.

template<class Alloc>
void Ogre::AllocatedObject< Alloc >::operator delete void *  ptr  )  [inherited]
 

Definition at line 89 of file OgreMemoryAllocatedObject.h.

template<class Alloc>
void Ogre::AllocatedObject< Alloc >::operator delete[] void *  ptr,
const char *  ,
int  ,
const char * 
[inherited]
 

Definition at line 112 of file OgreMemoryAllocatedObject.h.

template<class Alloc>
void Ogre::AllocatedObject< Alloc >::operator delete[] void *  ptr  )  [inherited]
 

Definition at line 106 of file OgreMemoryAllocatedObject.h.

template<class Alloc>
void* Ogre::AllocatedObject< Alloc >::operator new size_t  sz,
void *  ptr
[inherited]
 

placement operator new

Definition at line 73 of file OgreMemoryAllocatedObject.h.

template<class Alloc>
void* Ogre::AllocatedObject< Alloc >::operator new size_t  sz  )  [inherited]
 

Definition at line 67 of file OgreMemoryAllocatedObject.h.

template<class Alloc>
void* Ogre::AllocatedObject< Alloc >::operator new size_t  sz,
const char *  file,
int  line,
const char *  func
[inherited]
 

operator new, with debug line info

Definition at line 62 of file OgreMemoryAllocatedObject.h.

template<class Alloc>
void* Ogre::AllocatedObject< Alloc >::operator new[] size_t  sz  )  [inherited]
 

Definition at line 84 of file OgreMemoryAllocatedObject.h.

template<class Alloc>
void* Ogre::AllocatedObject< Alloc >::operator new[] size_t  sz,
const char *  file,
int  line,
const char *  func
[inherited]
 

array operator new, with debug line info

Definition at line 79 of file OgreMemoryAllocatedObject.h.

void Ogre::RenderSystemCapabilitiesManager::parseCapabilitiesFromArchive const String filename,
const String archiveType,
bool  recursive = true
 

See also:
ScriptLoader::parseScript

Ogre::Singleton< RenderSystemCapabilitiesManager >::Singleton void   )  [inherited]
 

Definition at line 64 of file OgreSingleton.h.


Member Data Documentation

CapabilitiesMap Ogre::RenderSystemCapabilitiesManager::mCapabilitiesMap [protected]
 

Definition at line 111 of file OgreRenderSystemCapabilitiesManager.h.

RenderSystemCapabilitiesManager * Ogre::Singleton< RenderSystemCapabilitiesManager >::ms_Singleton [static, protected, inherited]
 

Definition at line 61 of file OgreSingleton.h.

const String Ogre::RenderSystemCapabilitiesManager::mScriptPattern [protected]
 

Definition at line 113 of file OgreRenderSystemCapabilitiesManager.h.

RenderSystemCapabilitiesSerializer* Ogre::RenderSystemCapabilitiesManager::mSerializer [protected]
 

Definition at line 108 of file OgreRenderSystemCapabilitiesManager.h.


The documentation for this class was generated from the following file:

Copyright © 2008 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.
Last modified Sat Apr 11 13:51:42 2009