VR-Forces 4.3.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes
makVrv::DtAgentFactory Class Reference

The scene object creators are registered with the scene object factory for accessing DtSceneObjectCreators via string names. More...

Inheritance diagram for makVrv::DtAgentFactory:
Inheritance graph
[legend]

Classes

class  DtAutoUnregistrar

Public Types

typedef DtAgentCreator *(* AutoRegisterFunction )()

Public Member Functions

virtual ~DtAgentFactory ()
 DTOR.
virtual void registerAgentCreator (const std::string &className, DtAgentCreator *creator)
 Register a new scene object creator.
virtual DtAgentcreateAgent (const std::string &className, DtAgentManagerInterface &sceneInterface) const
 Create a proxy object via class name.
virtual
DtAgentUpdateResolverInterface
createResolver (const std::string &className, DtUniqueID id) const
 Create an resolver object via class name.
virtual void processAutoUnregisters ()
 called by the library loader after unwanted plugins have been destroyed.
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 Do nothing constructor.
virtual ~DtVirtualBaseClass ()
 Virtual do nothing destructor.

Static Public Member Functions

static DtAgentFactoryinstance (DtDe &de)
 Get an instance to the DtAgentFactory.
static bool autoRegister (const std::string &className, AutoRegisterFunction function)
 Auto-Register.
static void autoUnregister (const std::string &className)

Protected Types

typedef boost::unordered_map
< std::string, DtAgentCreator * > 
RegistrationMap
typedef boost::unordered_map
< std::string,
AutoRegisterFunction
AutoRegistrationMap
typedef std::list< std::string > RemoveList

Protected Member Functions

 DtAgentFactory (DtDe &de)
 Protected CTOR, use the static instance to get an factory instance.

Static Protected Member Functions

static AutoRegistrationMapautoTypes ()
 Protected Auto registered type map.
static RemoveListremoveTypes ()
static booldestructed ()

Protected Attributes

DtDemyDe
RegistrationMap myTypes

Detailed Description

The scene object creators are registered with the scene object factory for accessing DtSceneObjectCreators via string names.

It is only valid to register classes before IG initialization.

Member Typedef Documentation

typedef DtAgentCreator*(* makVrv::DtAgentFactory::AutoRegisterFunction)()
typedef boost::unordered_map<std::string,DtAgentCreator*> makVrv::DtAgentFactory::RegistrationMap
protected
typedef boost::unordered_map<std::string,AutoRegisterFunction> makVrv::DtAgentFactory::AutoRegistrationMap
protected
typedef std::list<std::string> makVrv::DtAgentFactory::RemoveList
protected

Constructor & Destructor Documentation

virtual makVrv::DtAgentFactory::~DtAgentFactory ( )
virtual

DTOR.

makVrv::DtAgentFactory::DtAgentFactory ( DtDe de)
protected

Protected CTOR, use the static instance to get an factory instance.

Member Function Documentation

static DtAgentFactory& makVrv::DtAgentFactory::instance ( DtDe de)
static

Get an instance to the DtAgentFactory.

virtual void makVrv::DtAgentFactory::registerAgentCreator ( const std::string &  className,
DtAgentCreator creator 
)
virtual

Register a new scene object creator.

Exceptions
DtCorruptedStateif the IG has been initialized.
virtual DtAgent* makVrv::DtAgentFactory::createAgent ( const std::string &  className,
DtAgentManagerInterface sceneInterface 
) const
virtual

Create a proxy object via class name.

Exceptions
DtInvalidInputif no creator was registered with the input className.
virtual DtAgentUpdateResolverInterface* makVrv::DtAgentFactory::createResolver ( const std::string &  className,
DtUniqueID  id 
) const
virtual

Create an resolver object via class name.

Exceptions
DtInvalidInputif no creator was registered with the input className.
virtual void makVrv::DtAgentFactory::processAutoUnregisters ( )
virtual

called by the library loader after unwanted plugins have been destroyed.

static bool makVrv::DtAgentFactory::autoRegister ( const std::string &  className,
AutoRegisterFunction  function 
)
static

Auto-Register.

static void makVrv::DtAgentFactory::autoUnregister ( const std::string &  className)
static
static AutoRegistrationMap& makVrv::DtAgentFactory::autoTypes ( )
staticprotected

Protected Auto registered type map.

static RemoveList& makVrv::DtAgentFactory::removeTypes ( )
staticprotected
static bool& makVrv::DtAgentFactory::destructed ( )
staticprotected

Member Data Documentation

DtDe& makVrv::DtAgentFactory::myDe
protected
RegistrationMap makVrv::DtAgentFactory::myTypes
protected

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

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)