OGRE  2.0
Object-Oriented Graphics Rendering Engine
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Ogre::SkeletonManager Class Reference

Handles the management of skeleton resources. More...

#include <OgreSkeletonManager.h>

+ Inheritance diagram for Ogre::SkeletonManager:
+ Collaboration diagram for Ogre::SkeletonManager:

Public Member Functions

 SkeletonManager ()
 Constructor. More...
 
 ~SkeletonManager ()
 
void add (SkeletonDefPtr skeletonDef)
 Adds an external pointer for us to track. More...
 
SkeletonDefPtr getSkeletonDef (Skeleton *oldSkeletonBase)
 Creates a skeletondef based on an existing one from the legacy skeleton system. More...
 
SkeletonDefPtr getSkeletonDef (const String &name, const String &groupName=ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME)
 Create a new skeleton or retrieves an existing one. Will throw if can't find the skeleton. More...
 
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 *)
 
void * operator new (size_t sz, const char *file, int line, const char *func)
 operator new, with debug line info More...
 
void * operator new (size_t sz)
 
void * operator new (size_t sz, void *ptr)
 placement operator new More...
 
void * operator new[] (size_t sz, const char *file, int line, const char *func)
 array operator new, with debug line info More...
 
void * operator new[] (size_t sz)
 
void remove (const IdString &name)
 Will remove the SkeletonDef from our lists, but the memory pointer may not actually be deleted, which will happen when all references to the shared object are destroyed. More...
 

Static Public Member Functions

static SkeletonManagergetSingleton (void)
 Override standard Singleton retrieval. More...
 
static SkeletonManagergetSingletonPtr (void)
 Override standard Singleton retrieval. More...
 

Static Protected Attributes

static SkeletonManagermsSingleton
 

Private Types

typedef map< IdString,
SkeletonDefPtr >::type 
SkeletonDefMap
 

Private Attributes

SkeletonDefMap mSkeletonDefs
 

Detailed Description

Handles the management of skeleton resources.

Remarks
This class deals with the runtime management of skeleton data; like other resource managers it handles the creation of resources (in this case skeleton data).

Definition at line 50 of file OgreSkeletonManager.h.

Member Typedef Documentation

Definition at line 52 of file OgreSkeletonManager.h.

Constructor & Destructor Documentation

Ogre::SkeletonManager::SkeletonManager ( )

Constructor.

Ogre::SkeletonManager::~SkeletonManager ( )

Member Function Documentation

void Ogre::SkeletonManager::add ( SkeletonDefPtr  skeletonDef)

Adds an external pointer for us to track.

Throws if a skeleton with the same name already exists

static SkeletonManager& Ogre::SkeletonManager::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.
static SkeletonManager* Ogre::SkeletonManager::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.
SkeletonDefPtr Ogre::SkeletonManager::getSkeletonDef ( Skeleton oldSkeletonBase)

Creates a skeletondef based on an existing one from the legacy skeleton system.

If a skeleton def with the same name already exists, returns that one instead.

SkeletonDefPtr Ogre::SkeletonManager::getSkeletonDef ( const String name,
const String groupName = ResourceGroupManager::AUTODETECT_RESOURCE_GROUP_NAME 
)

Create a new skeleton or retrieves an existing one. Will throw if can't find the skeleton.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr)
inlineinherited

Definition at line 96 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
void *   
)
inlineinherited

Definition at line 102 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void Ogre::AllocatedObject< Alloc >::operator delete ( void *  ptr,
const char *  ,
int  ,
const char *   
)
inlineinherited

Definition at line 108 of file OgreMemoryAllocatedObject.h.

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

Definition at line 113 of file OgreMemoryAllocatedObject.h.

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

Definition at line 119 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
const char *  file,
int  line,
const char *  func 
)
inlineinherited

operator new, with debug line info

Definition at line 68 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz)
inlineinherited

Definition at line 73 of file OgreMemoryAllocatedObject.h.

template<class Alloc >
void* Ogre::AllocatedObject< Alloc >::operator new ( size_t  sz,
void *  ptr 
)
inlineinherited

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

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

array operator new, with debug line info

Definition at line 86 of file OgreMemoryAllocatedObject.h.

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

Definition at line 91 of file OgreMemoryAllocatedObject.h.

void Ogre::SkeletonManager::remove ( const IdString name)

Will remove the SkeletonDef from our lists, but the memory pointer may not actually be deleted, which will happen when all references to the shared object are destroyed.

Member Data Documentation

SkeletonDefMap Ogre::SkeletonManager::mSkeletonDefs
private

Definition at line 53 of file OgreSkeletonManager.h.

SkeletonManager * Ogre::Singleton< SkeletonManager >::msSingleton
staticprotectedinherited

Definition at line 75 of file OgreSingleton.h.


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