Ogre::ManualObjectFactory Class Reference
Scene

Factory object for creating ManualObject instances. More...

`#include <OgreManualObject.h>`

Inheritance diagram for Ogre::ManualObjectFactory:
[legend]

List of all members.

## Public Member Functions

| ManualObjectFactory ()
| ~ManualObjectFactory ()
const String & | getType (void) const
| Get the type of the object to be created.
void | destroyInstance (MovableObject *obj)
| Destroy an instance of the object.
virtual MovableObject * | createInstance (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.
uint32 | 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

MovableObject * | createInstanceImpl (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 ManualObject instances.

Definition at line 552 of file OgreManualObject.h.

## Constructor & Destructor Documentation

Ogre::ManualObjectFactory::ManualObjectFactory | ( |  | ) |

Definition at line 557 of file OgreManualObject.h.

Ogre::ManualObjectFactory::~ManualObjectFactory | ( |  | ) |

Definition at line 558 of file OgreManualObject.h.

## Member Function Documentation

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

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.

MovableObject* Ogre::ManualObjectFactory::createInstanceImpl | ( | const String & | name,
|  | const NameValuePairList * | params
| ) |  | `[protected, virtual]`

Internal implementation of create method - must be overridden.

Implements Ogre::MovableObjectFactory.

void Ogre::ManualObjectFactory::destroyInstance | ( | MovableObject * | obj | ) | `[virtual]`

Destroy an instance of the object.

Implements Ogre::MovableObjectFactory.

const String& Ogre::ManualObjectFactory::getType | ( | void |  | ) | const`[virtual]`

Get the type of the object to be created.

Implements Ogre::MovableObjectFactory.

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

template<class Alloc >

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

Definition at line 95 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

void Ogre::AllocatedObject< Alloc >::operator delete | ( | void * | ptr,
|  | void * |
| ) |  | `[inherited]`

Definition at line 101 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

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

Definition at line 107 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

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

Definition at line 112 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

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

Definition at line 118 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 67 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

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

Definition at line 72 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 78 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 85 of file OgreMemoryAllocatedObject.h.

template<class Alloc >

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

Definition at line 90 of file OgreMemoryAllocatedObject.h.

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

## Member Data Documentation

String Ogre::ManualObjectFactory::FACTORY_TYPE_NAME`[static]`

Definition at line 560 of file OgreManualObject.h.

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

Type flag, allocated if requested.

Definition at line 581 of file OgreMovableObject.h.

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

- OgreManualObject.h

Copyright © 2012 Torus Knot Software Ltd
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Last modified Sun Sep 2 2012 07:27:30