VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties 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. It is only valid to register classes before IG initialization.

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

Classes

class  DtAutoUnregistrar
 

Public Types

typedef DtAgentCreator *(* AutoRegisterFunction )()
 

Public Member Functions

virtual ~DtAgentFactory ()
 
virtual void registerAgentCreator (const std::string &className, DtAgentCreator *creator)
 
virtual DtAgentcreateAgent (const std::string &className, DtAgentManagerInterface &sceneInterface) const
 
virtual
DtAgentUpdateResolverInterface
createResolver (const std::string &className, DtUniqueID id) const
 
virtual void processAutoUnregisters ()
 
- Public Member Functions inherited from makVrv::DtVirtualBaseClass
 DtVirtualBaseClass ()
 
virtual ~DtVirtualBaseClass ()
 

Static Public Member Functions

static DtAgentFactoryinstance (DtDe &de)
 
static bool autoRegister (const std::string &className, AutoRegisterFunction function)
 
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)
 

Static Protected Member Functions

static AutoRegistrationMapautoTypes ()
 
static RemoveListremoveTypes ()
 
static booldestructed ()
 

Protected Attributes

DtDemyDe
 
RegistrationMap myTypes
 

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 Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)