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

The DtBaseConnection is an abstract class. More...

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

Public Member Functions

 DtBaseConnection (DtSharedSettingsManager &, DtAgentManagerInterface &)
 CTOR.
virtual ~DtBaseConnection ()
 DTOR MUST call clearInstances first.
virtual void clearInstances ()
 Clear and delete all instances rooted in the connection MUST be called before the connection is destroyed.
DtSharedSettingsManagersettingsManager ()
 Get the settings manager.
virtual DtAgentManagerInterfacesceneInterface ()
 Get the scene manager interface for creating drivers.
const DtSharedSettingsManagersettingsManager () const
 Get the settings manager.
void reportElementCreated (DtElementID id, DtElementID parentId, unsigned int type)
 Report an element created.
void reportElementAttribute (DtElementID id, DtElementAttribute *attribute)
void reportElementDestroyed (DtElementID id)
 Report an element destroyed.
const DtElementChangescurrentElementChanges () const
 Look at the current element changes.
DtElementChangestakeElementChanges ()
 Take the current changes and internally start a new set of changes.
DtTemporaryAgentManagertemporaryEffects ()
 Get the temporary effects manager.
DtBlinkingObjectManagerblinkManager ()
 Get the blinking manager.
DtRandomNumberGeneratorrandomNumberGenerator ()
 Get the simulation's random number generator.
virtual const std::string & tag ()
 Get the tag identifying which type of connection this is.
const DtUnicodeemptyString () const
 Allocated empty string.
virtual DtVirtualBaseClassfindInstance (const std::string &instanceName)
 Find an instance with the given name.
bool destroyingInstances () const
 Check to see if the simulation is destroying instances.
virtual void registerInstance (const std::string &instanceName, DtVirtualBaseClass *instance)
 Register an object as an instance of instanceName, and transfer memory ownership of the instance to the DtConnection.

Protected Types

typedef boost::unordered_map
< std::string,
DtVirtualBaseClass * > 
InstanceMap

Protected Attributes

DtSharedSettingsManagermySettingsManagerCache
DtRandomNumberGenerator myRandomNumberGenerator
DtAgentManagerInterfacemySceneInterface
DtElementChangesmyWorkingElementChanges
DtTemporaryAgentManagermyTemporaryEffects
DtBlinkingObjectManagermyBlinkManager
 Manager for blinking objects.
DtUnicode myEmptyString
InstanceMap myInstances
bool myDestroyingInstanceFlag

Detailed Description

The DtBaseConnection is an abstract class.

Member Typedef Documentation

typedef boost::unordered_map<std::string,DtVirtualBaseClass*> makVrv::DtBaseConnection::InstanceMap
protected

Constructor & Destructor Documentation

makVrv::DtBaseConnection::DtBaseConnection ( DtSharedSettingsManager ,
DtAgentManagerInterface  
)

CTOR.

virtual makVrv::DtBaseConnection::~DtBaseConnection ( )
virtual

DTOR MUST call clearInstances first.

Member Function Documentation

virtual void makVrv::DtBaseConnection::clearInstances ( )
virtual

Clear and delete all instances rooted in the connection MUST be called before the connection is destroyed.

DtSharedSettingsManager& makVrv::DtBaseConnection::settingsManager ( )

Get the settings manager.

virtual DtAgentManagerInterface& makVrv::DtBaseConnection::sceneInterface ( )
virtual

Get the scene manager interface for creating drivers.

const DtSharedSettingsManager& makVrv::DtBaseConnection::settingsManager ( ) const

Get the settings manager.

void makVrv::DtBaseConnection::reportElementCreated ( DtElementID  id,
DtElementID  parentId,
unsigned int  type 
)

Report an element created.

void makVrv::DtBaseConnection::reportElementAttribute ( DtElementID  id,
DtElementAttribute attribute 
)
void makVrv::DtBaseConnection::reportElementDestroyed ( DtElementID  id)

Report an element destroyed.

const DtElementChanges& makVrv::DtBaseConnection::currentElementChanges ( ) const

Look at the current element changes.

DtElementChanges* makVrv::DtBaseConnection::takeElementChanges ( )

Take the current changes and internally start a new set of changes.

DtTemporaryAgentManager& makVrv::DtBaseConnection::temporaryEffects ( )

Get the temporary effects manager.

DtBlinkingObjectManager& makVrv::DtBaseConnection::blinkManager ( )

Get the blinking manager.

DtRandomNumberGenerator& makVrv::DtBaseConnection::randomNumberGenerator ( )

Get the simulation's random number generator.

virtual const std::string& makVrv::DtBaseConnection::tag ( )
inlinevirtual

Get the tag identifying which type of connection this is.

Reimplemented in makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection.

const DtUnicode& makVrv::DtBaseConnection::emptyString ( ) const

Allocated empty string.

virtual DtVirtualBaseClass* makVrv::DtBaseConnection::findInstance ( const std::string &  instanceName)
virtual

Find an instance with the given name.

If no instance is found than a null pointer is returned

Warning
This function will always return 0 when the simulation is in the process of destroying all instances, this allows some what save access to findInstance in object destructors.

Reimplemented in makVrv::DtIntervisibilityDriver::DtIntervisibilityConnection, and makVrv::DtCigiConnection.

Referenced by makVrf::VRF_PROTOCOL_NAMESPACE::DtEnvironmentSimDataProcessor::findInstance(), makVrf::VRF_PROTOCOL_NAMESPACE::DtActiveSonarSimDataProcessor::findInstance(), makVrf::VRF_PROTOCOL_NAMESPACE::DtEmitterSystemSimDataProcessor::findInstance(), makVrf::VRF_PROTOCOL_NAMESPACE::DtVrfWeatherStateProcessor::findInstance(), and makVrv::DT_PROTOCOL_NAMESPACE::DtInteractionListener< InteractionClass >::instance().

bool makVrv::DtBaseConnection::destroyingInstances ( ) const
inline

Check to see if the simulation is destroying instances.

     This function is used in the destructor of objects which access 
     instances via reference which may throw an exception.
     @code 

TestClass::~TestClass() { if(!mySimulation.destroyingInstances()) { //Safe to get instance now. Singleton& anInstance = Singleton::instance(mySimulation); ... }

Reimplemented in makVrv::DtCigiConnection.

virtual void makVrv::DtBaseConnection::registerInstance ( const std::string &  instanceName,
DtVirtualBaseClass instance 
)
virtual

Member Data Documentation

DtSharedSettingsManager& makVrv::DtBaseConnection::mySettingsManagerCache
protected
DtRandomNumberGenerator makVrv::DtBaseConnection::myRandomNumberGenerator
protected
DtAgentManagerInterface& makVrv::DtBaseConnection::mySceneInterface
protected
DtElementChanges* makVrv::DtBaseConnection::myWorkingElementChanges
protected
DtTemporaryAgentManager* makVrv::DtBaseConnection::myTemporaryEffects
protected
DtBlinkingObjectManager* makVrv::DtBaseConnection::myBlinkManager
protected

Manager for blinking objects.

DtUnicode makVrv::DtBaseConnection::myEmptyString
protected
InstanceMap makVrv::DtBaseConnection::myInstances
protected
bool makVrv::DtBaseConnection::myDestroyingInstanceFlag
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)