![]()  | 
  
    OGRE 14.4
    
   Object-Oriented Graphics Rendering Engine 
   | 
 
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: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?   | |
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.
      
  | 
  inline | 
      
  | 
  inlinevirtual | 
Get the type of the object to be created.
Implemented in Ogre::AntiPortalFactory, Ogre::PortalFactory, and Ogre::PCZLightFactory.
| MovableObject * Ogre::MovableObjectFactory::createInstance | ( | const String & | name, | 
| SceneManager * | manager, | ||
| const NameValuePairList * | params = 0  | 
        ||
| ) | 
Create a new instance of the object.
| 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. | 
      
  | 
  inlinevirtual | 
Destroy an instance of the object.
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.
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.
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.