OGRE: Ogre::MovableObjectFactory Class Reference

| OGRE 14.5 Object-Oriented Graphics Rendering Engine

Loading...
Searching...
No Matches
Ogre::MovableObjectFactory Class Referenceabstract
Core » Scene

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:
[legend]

## Public Member Functions
| MovableObjectFactory ()
virtual | ~MovableObjectFactory ()
void | _notifyTypeFlags (uint32 flag)
| Notify this factory of the type mask to apply.
MovableObject * | createInstance (const String &name, SceneManager *manager, const NameValuePairList *params=0)
| Create a new instance of the object.
virtual void | destroyInstance (MovableObject *obj)
| Destroy an instance of the object.
virtual const String & | getType (void) const =0
| Get the type of the object to be created.
uint32 | getTypeFlags (void) const
| Gets the type flag for this factory.
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?

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

## Constructor & Destructor Documentation

## ◆ MovableObjectFactory()

Ogre::MovableObjectFactory::MovableObjectFactory | ( |  | ) |
| inline

## ◆ ~MovableObjectFactory()

virtual Ogre::MovableObjectFactory::~MovableObjectFactory | ( |  | ) |
| inlinevirtual

## Member Function Documentation

## ◆ getType()

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

Get the type of the object to be created.

Implemented in Ogre::AntiPortalFactory, Ogre::PCZLightFactory, and Ogre::PortalFactory.

## ◆ createInstance()

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

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.

## ◆ destroyInstance()

virtual void Ogre::MovableObjectFactory::destroyInstance | ( | MovableObject * | obj | ) |
| inlinevirtual

Destroy an instance of the object.

## ◆ requestTypeFlags()

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

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

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.

Reimplemented in Ogre::AntiPortalFactory, and Ogre::PortalFactory.

## ◆ _notifyTypeFlags()

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

Notify this factory of the type mask to apply.

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.

## ◆ getTypeFlags()

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

Gets the type flag for this factory.

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

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

- OgreMovableObject.h