OGRE-Next  3.0.0unstable
Object-Oriented Graphics Rendering Engine
Ogre::SkeletonManager Class Reference

Handles the management of skeleton resources. More...

#include <OgreSkeletonManager.h>

+ Inheritance 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 (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...
 
SkeletonDefPtr getSkeletonDef (v1::Skeleton *oldSkeletonBase)
 Creates a skeletondef based on an existing one from the legacy skeleton system. More...
 
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...
 
- Public Member Functions inherited from Ogre::Singleton< SkeletonManager >
 Singleton ()
 
 ~Singleton ()
 

Static Public Member Functions

static SkeletonManagergetSingleton ()
 Override standard Singleton retrieval. More...
 
static SkeletonManagergetSingletonPtr ()
 Override standard Singleton retrieval. More...
 
- Static Public Member Functions inherited from Ogre::Singleton< SkeletonManager >
static SkeletonManagergetSingleton ()
 
static SkeletonManagergetSingletonPtr ()
 

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).

Constructor & Destructor Documentation

◆ SkeletonManager()

Ogre::SkeletonManager::SkeletonManager ( )

Constructor.

◆ ~SkeletonManager()

Ogre::SkeletonManager::~SkeletonManager ( )

Member Function Documentation

◆ add()

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

Adds an external pointer for us to track.

Throws if a skeleton with the same name already exists

◆ getSingleton()

static SkeletonManager& Ogre::SkeletonManager::getSingleton ( )
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.

◆ getSingletonPtr()

static SkeletonManager* Ogre::SkeletonManager::getSingletonPtr ( )
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.

◆ getSkeletonDef() [1/2]

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.

◆ getSkeletonDef() [2/2]

SkeletonDefPtr Ogre::SkeletonManager::getSkeletonDef ( v1::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.

◆ remove()

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.


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