VR-Forces 4.0.4 Class Documentation
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]

List of all members.

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.

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

DTOR.

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


Member Function Documentation

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.

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 ( ) [static, protected]

Protected Auto registered type map.

static RemoveList& makVrv::DtAgentFactory::removeTypes ( ) [static, protected]
static bool& makVrv::DtAgentFactory::destructed ( ) [static, protected]

Member Data Documentation


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

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)