Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Ogre::MovableObjectFactory Class Referenceabstract

Interface definition for a factory class which produces a certain kind of MovableObject, and can be registered with Root in order to allow all clients to produce new instances of this object, integrated with the standard Ogre processing. More...

#include <OgreMovableObject.h>

Inheritance diagram for Ogre::MovableObjectFactory:
Inheritance graph
[legend]

Public Member Functions

 MovableObjectFactory ()
 
virtual ~MovableObjectFactory ()
 
void _notifyTypeFlags (uint32 flag)
 Notify this factory of the type mask to apply. More...
 
virtual MovableObjectcreateInstance (const String &name, SceneManager *manager, const NameValuePairList *params=0)
 Create a new instance of the object. More...
 
virtual void destroyInstance (MovableObject *obj)=0
 Destroy an instance of the object. More...
 
virtual const StringgetType (void) const =0
 Get the type of the object to be created. More...
 
uint32 getTypeFlags (void) const
 Gets the type flag for this factory. 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)
 
virtual bool requestTypeFlags (void) const
 Does this factory require the allocation of a 'type flag', used to selectively include / exclude this type from scene queries? More...
 

Protected Member Functions

virtual MovableObjectcreateInstanceImpl (const String &name, const NameValuePairList *params=0)=0
 Internal implementation of create method - must be overridden. More...
 

Protected Attributes

uint32 mTypeFlag
 Type flag, allocated if requested. More...
 

Detailed Description

Interface definition for a factory class which produces a certain kind of MovableObject, and can be registered with Root in order to allow all clients to produce new instances of this object, integrated with the standard Ogre processing.

Definition at line 578 of file OgreMovableObject.h.

Constructor & Destructor Documentation

§ MovableObjectFactory()

Ogre::MovableObjectFactory::MovableObjectFactory ( )

Definition at line 588 of file OgreMovableObject.h.

§ ~MovableObjectFactory()

virtual Ogre::MovableObjectFactory::~MovableObjectFactory ( )
virtual

Definition at line 589 of file OgreMovableObject.h.

Member Function Documentation

§ _notifyTypeFlags()

void Ogre::MovableObjectFactory::_notifyTypeFlags ( uint32  flag)

Notify this factory of the type mask to apply.

Remarks
This should normally only be called by Root in response to a 'true' result from requestTypeMask. However, you can actually use it yourself if you're careful; for example to assign the same mask to a number of different types of object, should you always wish them to be treated the same in queries.

Definition at line 628 of file OgreMovableObject.h.

§ createInstance()

virtual MovableObject* Ogre::MovableObjectFactory::createInstance ( const String name,
SceneManager manager,
const NameValuePairList params = 0 
)
virtual

Create a new instance of the object.

Parameters
nameThe name of the new object
managerThe SceneManager instance that will be holding the instance once created.
paramsName/value pair list of additional parameters required to construct the object (defined per subtype). Optional.

§ createInstanceImpl()

virtual MovableObject* Ogre::MovableObjectFactory::createInstanceImpl ( const String name,
const NameValuePairList params = 0 
)
protectedpure virtual

§ destroyInstance()

virtual void Ogre::MovableObjectFactory::destroyInstance ( MovableObject obj)
pure virtual

§ getType()

virtual const String& Ogre::MovableObjectFactory::getType ( void  ) const
pure virtual

§ getTypeFlags()

uint32 Ogre::MovableObjectFactory::getTypeFlags ( void  ) const

Gets the type flag for this factory.

Remarks
A type flag is like a query flag, except that it applies to all instances of a certain type of object.

Definition at line 635 of file OgreMovableObject.h.

§ operator delete() [1/3]

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

Definition at line 96 of file OgreMemoryAllocatedObject.h.

§ operator delete() [2/3]

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

Definition at line 102 of file OgreMemoryAllocatedObject.h.

§ operator delete() [3/3]

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

Definition at line 108 of file OgreMemoryAllocatedObject.h.

§ operator delete[]() [1/2]

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

Definition at line 113 of file OgreMemoryAllocatedObject.h.

§ operator delete[]() [2/2]

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

Definition at line 119 of file OgreMemoryAllocatedObject.h.

§ operator new() [1/3]

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 68 of file OgreMemoryAllocatedObject.h.

§ operator new() [2/3]

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

Definition at line 73 of file OgreMemoryAllocatedObject.h.

§ operator new() [3/3]

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

placement operator new

Definition at line 79 of file OgreMemoryAllocatedObject.h.

§ operator new[]() [1/2]

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 86 of file OgreMemoryAllocatedObject.h.

§ operator new[]() [2/2]

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

Definition at line 91 of file OgreMemoryAllocatedObject.h.

§ requestTypeFlags()

virtual bool Ogre::MovableObjectFactory::requestTypeFlags ( void  ) const
virtual

Does this factory require the allocation of a 'type flag', used to selectively include / exclude this type from scene queries?

Remarks
The default implementation here is to return 'false', ie not to request a unique type mask from Root. For objects that never need to be excluded in SceneQuery results, that's fine, since the default implementation of MovableObject::getTypeFlags is to return all ones, hence matching any query type mask. However, if you want the objects created by this factory to be filterable by queries using a broad type, you have to give them a (preferably unique) type mask - and given that you don't know what other MovableObject types are registered, Root will allocate you one.

Definition at line 619 of file OgreMovableObject.h.

Member Data Documentation

§ mTypeFlag

uint32 Ogre::MovableObjectFactory::mTypeFlag
protected

Type flag, allocated if requested.

Definition at line 582 of file OgreMovableObject.h.


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

Copyright © 2012 Torus Knot Software Ltd
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Mon Jan 2 2017 11:48:46