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

The DtBaseConnection is an abstract class.

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

Public Member Functions

 DtBaseConnection (DtSharedSettingsManager &settingsManager, DtAgentManagerInterface &aSceneInterface, const DtCoordinateSystem &coordSystem)
 
 DtBaseConnection (DtSharedSettingsManager &settingsManager, DtAgentManagerInterface &aSceneInterface)
 
virtual ~DtBaseConnection ()
 
virtual void clearInstances ()
 
virtual void coordinateSystemChanged (const std::string &coordinateName, const std::string &coordinateOrigin)
 
const DtCoordinateSystemcoordinateSystem () const
 
DtSharedSettingsManagersettingsManager ()
 
virtual DtAgentManagerInterfacesceneInterface ()
 
const DtSharedSettingsManagersettingsManager () const
 
DtVisualizerCreationSettingsvisualizerCreationSettings ()
 
void reportElementCreated (DtElementID id, DtElementID parentId, unsigned int type)
 
void reportElementAttribute (DtElementID id, DtElementAttribute *attribute)
 
void reportElementDestroyed (DtElementID id)
 
const DtElementChangescurrentElementChanges () const
 
DtElementChangestakeElementChanges ()
 
DtTemporaryAgentManagertemporaryEffects ()
 
DtBlinkingObjectManagerblinkManager ()
 
DtRandomNumberGeneratorrandomNumberGenerator ()
 
virtual const std::string & tag ()
 
const DtUnicodeemptyString () const
 
virtual DtVirtualBaseClassfindInstance (const std::string &instanceName)
 
bool destroyingInstances () const
 
virtual void registerInstance (const std::string &instanceName, DtVirtualBaseClass *instance)
 

Public Attributes

vrvSignalsLib::signal< void()> signal_coordinateSystemChanged
 

Protected Types

using InstanceMap = std::unordered_map< std::string, DtVirtualBaseClass * >
 

Protected Attributes

DtSharedSettingsManagermySettingsManagerCache
 
DtRandomNumberGenerator myRandomNumberGenerator
 
DtAgentManagerInterfacemySceneInterface
 
DtElementChangesmyWorkingElementChanges
 
DtTemporaryAgentManagermyTemporaryEffects
 
DtBlinkingObjectManagermyBlinkManager
 
DtUnicode myEmptyString
 
InstanceMap myInstances
 
bool myDestroyingInstanceFlag
 
DtCoordinateSystemmyCoordinateSystem
 
DtVisualizerCreationSettingsmyVisualizerCreationSettings
 

Member Typedef Documentation

using makVrv::DtBaseConnection::InstanceMap = std::unordered_map<std::string,DtVirtualBaseClass*>
protected

Constructor & Destructor Documentation

makVrv::DtBaseConnection::DtBaseConnection ( DtSharedSettingsManager settingsManager,
DtAgentManagerInterface aSceneInterface,
const DtCoordinateSystem coordSystem 
)

CTOR.

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

CTOR without a coordsystem. Create a new one.

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.

virtual void makVrv::DtBaseConnection::coordinateSystemChanged ( const std::string &  coordinateName,
const std::string &  coordinateOrigin 
)
virtual

process a coordintate system change by passing the new coordinate system to the DtCoordinateSystem object

const DtCoordinateSystem& makVrv::DtBaseConnection::coordinateSystem ( ) const

get the coordinate system object for this connection

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.

DtVisualizerCreationSettings& makVrv::DtBaseConnection::visualizerCreationSettings ( )

Get myVisualTypeVisualizerSettings.

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.

Referenced by makVrv::DT_PROTOCOL_NAMESPACE::DtSensorFieldOfViewSimDataProcessor::findInstance(), makVrv::DT_PROTOCOL_NAMESPACE::DtInteractionListener< InteractionClass >::instance(), and makVrv::DtKinematicStateCreatorTemplate< KinematicState >::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.

TestClass::~TestClass()
{
if(!mySimulation.destroyingInstances())
{
//Safe to get instance now.
Singleton& anInstance = Singleton::instance(mySimulation);
...
}
virtual void makVrv::DtBaseConnection::registerInstance ( const std::string &  instanceName,
DtVirtualBaseClass instance 
)
virtual

Member Data Documentation

vrvSignalsLib::signal<void()> makVrv::DtBaseConnection::signal_coordinateSystemChanged

Emitted when the coordinate system changed.

DtSharedSettingsManager& makVrv::DtBaseConnection::mySettingsManagerCache
protected

Hold on to the shared simulation manager.

DtRandomNumberGenerator makVrv::DtBaseConnection::myRandomNumberGenerator
protected

The random number generator for the local simulation.

DtAgentManagerInterface& makVrv::DtBaseConnection::mySceneInterface
protected

Thread specific Variables. This variables are used by the second thread. They should not be used in any functions in the main thread while the secondary thread is running.

DtElementChanges* makVrv::DtBaseConnection::myWorkingElementChanges
protected

Internal working element changes.

DtTemporaryAgentManager* makVrv::DtBaseConnection::myTemporaryEffects
protected

Manager for temporary global effects.

DtBlinkingObjectManager* makVrv::DtBaseConnection::myBlinkManager
protected

Manager for blinking objects.

DtUnicode makVrv::DtBaseConnection::myEmptyString
protected
InstanceMap makVrv::DtBaseConnection::myInstances
protected

Stores a pointer to simulation specific instances.

bool makVrv::DtBaseConnection::myDestroyingInstanceFlag
protected

Flag to store if the connection is destroying the instances in it's DTOR.

DtCoordinateSystem* makVrv::DtBaseConnection::myCoordinateSystem
protected

The local coordinate system the simulation will use.

DtVisualizerCreationSettings* makVrv::DtBaseConnection::myVisualizerCreationSettings
protected

Creation settings for visualizers. Element managers use these settings to determine which visualizers should be created. Requires initialization by the DtVisualizerCreationSettingsManager.


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

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)