Ogre::ParticleSystemFactory Class Reference

Factory object for creating ParticleSystem instances. More...

#include <OgreParticleSystemManager.h>

Inheritance diagram for Ogre::ParticleSystemFactory:

Inheritance graph
[legend]

List of all members.

Public Member Functions

 ParticleSystemFactory ()
 ~ParticleSystemFactory ()
const StringgetType (void) const
 Get the type of the object to be created.
void destroyInstance (MovableObject *obj)
 Destroy an instance of the object.
virtual MovableObjectcreateInstance (const String &name, SceneManager *manager, const NameValuePairList *params=0)
 Create a new instance of the object.
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?
void _notifyTypeFlags (unsigned long flag)
 Notify this factory of the type mask to apply.
unsigned long getTypeFlags (void) const
 Gets the type flag for this factory.
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 Attributes

static String FACTORY_TYPE_NAME

Protected Member Functions

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

Protected Attributes

unsigned long mTypeFlag
 Type flag, allocated if requested.


Detailed Description

Factory object for creating ParticleSystem instances.

Definition at line 372 of file OgreParticleSystemManager.h.


Constructor & Destructor Documentation

Ogre::ParticleSystemFactory::ParticleSystemFactory (  ) 

Definition at line 377 of file OgreParticleSystemManager.h.

Ogre::ParticleSystemFactory::~ParticleSystemFactory (  ) 

Definition at line 378 of file OgreParticleSystemManager.h.


Member Function Documentation

MovableObject* Ogre::ParticleSystemFactory::createInstanceImpl ( const String name,
const NameValuePairList params 
) [protected, virtual]

Internal implementation of create method - must be overridden.

Implements Ogre::MovableObjectFactory.

const String& Ogre::ParticleSystemFactory::getType ( void   )  const [virtual]

Get the type of the object to be created.

Implements Ogre::MovableObjectFactory.

void Ogre::ParticleSystemFactory::destroyInstance ( MovableObject obj  )  [virtual]

Destroy an instance of the object.

Implements Ogre::MovableObjectFactory.

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

Create a new instance of the object.

Parameters:
name The name of the new object
manager The SceneManager instance that will be holding the instance once created.
params Name/value pair list of additional parameters required to construct the object (defined per subtype). Optional.

virtual bool Ogre::MovableObjectFactory::requestTypeFlags ( void   )  const [virtual, inherited]

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 556 of file OgreMovableObject.h.

void Ogre::MovableObjectFactory::_notifyTypeFlags ( unsigned long  flag  )  [inherited]

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 565 of file OgreMovableObject.h.

unsigned long Ogre::MovableObjectFactory::getTypeFlags ( void   )  const [inherited]

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 572 of file OgreMovableObject.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 67 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,
const char *  file,
int  line,
const char *  func 
) [inherited]

array operator new, with debug line info

Definition at line 79 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 delete ( void *  ptr  )  [inherited]

Definition at line 89 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,
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  )  [inherited]

Definition at line 106 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.


Member Data Documentation

Definition at line 380 of file OgreParticleSystemManager.h.

unsigned long Ogre::MovableObjectFactory::mTypeFlag [protected, inherited]

Type flag, allocated if requested.

Definition at line 519 of file OgreMovableObject.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 Sun Sep 27 22:04:57 2009