VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Public Attributes | Protected Attributes
makVrv::DtConnection Class Referenceabstract

The base class for protocol specific VRLink Simulations. More...

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

Public Member Functions

 DtConnection (DtAgentManagerInterface &aSceneInterface, const DtCoordinateSystem &coordSystem, const DtEntityAppearanceMapperFactoryCreator &appFactoryCreator, DtSharedSettingsManager &settingsManager)
 CTOR. More...
 
virtual ~DtConnection ()
 DTOR. More...
 
 DtConnection ()=delete
 not allowed - default constructor More...
 
 DtConnection (const DtConnection &)=delete
 not allowed - copy constructor More...
 
DtConnectionoperator= (const DtConnection &)=delete
 not allowed - equals operator More...
 
const DtEntityAppearanceMapperfindAppearanceMapper (const DtEntityType &type)
 Attempt to get an appearance mapper from an entity type. More...
 
const
DtEntityAppearanceMapperFactory
appearanceMapperFactory () const
 
virtual void coordinateSystemChanged (const std::string &coordinateName, const std::string &coordinateOrigin)
 
const DtCoordinateSystemcoordinateSystem () const
 Get the coordinate system. More...
 
const DtDisplayUnitsConverterdisplayUnitConverter () const
 Get the display unit converter. More...
 
virtual bool connect ()=0
 Function that creates the exercise conn and reflected lists. More...
 
virtual bool connected () const
 Check to see if the simulation is connected. More...
 
virtual bool disconnect ()=0
 Function that destroys the exercise conn and reflected lists. More...
 
virtual void tick (double dt)=0
 Function to be called repeatedly by a thread. More...
 
virtual double simTime () const =0
 Get the current simulation time from the connection's vrlink exercise connection. More...
 
virtual void setSimTime (double simTime)=0
 Set the current simulation time to the connection's vrlink exercise connection. More...
 
virtual double clockTime () const =0
 Get the current clock time (absRealTime()) from the connection's vrlink exercise connection. More...
 
virtual DtTimeStampType timeStampType () const =0
 Get the timestamp type in use (Relative or Absolute) by the connection's vrlink exercise connection. More...
 
virtual void pauseConnection ()
 Inform the connection that we are paused (sets the myIsPausedFlag to true) More...
 
virtual void resumeConnection ()
 Inform the connection that we should resume (sets the myIsPausedFlag to false) More...
 
virtual bool connectionIsPaused () const
 Check to see if the connection is paused. More...
 
virtual void setViewControlChanged (bool enabled)=0
 Set that the view controls have changed. More...
 
virtual void setConnectionFrameTime (double frameTime)=0
 Set the connection frame time. More...
 
virtual double connectionFrameTime () const =0
 Get the connection frame time. More...
 
virtual void setUseTopoForFlatEarthVectorConversion (bool enabled)=0
 We used to use a topo system to convert flat earth vectors. More...
 
virtual void observerUpdated (const std::string &observerName, double x, double y, double z, double psi, double theta, double phi)=0
 handle observer position and orientation changes More...
 
virtual void observerUpdated (const std::string &observerName, double x, double y, double z, double psi, double theta, double phi, double dx, double dy, double dz, double dpsi, double dtheta, double dphi)=0
 handle observer poistion and orientation changes including rotational and linear velocities More...
 
virtual void stopPublishingObserver (const std::string &observerName)=0
 Start publishing an observer. More...
 
virtual void startPublishingObserver (const std::string &observerName)=0
 Stop publishing an observer. More...
 
void entityIndicatorMouseDown (DtMouseState &mouseState, const DtUniqueID &id, const std::string &displayEngineName, const std::string &windowName, const std::string &channelName)
 Called when an entity is selected/deselected by the sim via its indicator. More...
 
void entityIndicatorMouseUp (DtMouseState &mouseState, const DtUniqueID &id, const std::string &displayEngineName, const std::string &windowName, const std::string &channelName)
 
void entityIndicatorMouseDblClick (DtMouseState &mouseState, const DtUniqueID &id, const std::string &displayEngineName, const std::string &windowName, const std::string &channelName)
 
void tacticalGraphicIndicatorMouseDown (DtMouseState &mouseState, const DtUniqueID &id, const std::string &displayEngineName, const std::string &windowName, const std::string &channelName)
 Called when an tactical graphic is selected/deselected by the sim via its indicator. More...
 
void tacticalGraphicIndicatorMouseUp (DtMouseState &mouseState, const DtUniqueID &id, const std::string &displayEngineName, const std::string &windowName, const std::string &channelName)
 
void tacticalGraphicIndicatorMouseDblClick (DtMouseState &mouseState, const DtUniqueID &id, const std::string &displayEngineName, const std::string &windowName, const std::string &channelName)
 
void setAppNumber (int appNumber)
 Set the application number (for HLA connections only, DIS should use the initializer) More...
 
void setSiteId (int siteId)
 Set the site ID (useful for HLA connections only, DIS connections should use the initializer) More...
 
virtual bool isDisconnecting () const
 Access flag to check if we are disconnecting. More...
 
- Public Member Functions inherited from makVrv::DtBaseConnection
 DtBaseConnection (DtSharedSettingsManager &, DtAgentManagerInterface &)
 CTOR. More...
 
virtual ~DtBaseConnection ()
 DTOR MUST call clearInstances first. More...
 
virtual void clearInstances ()
 Clear and delete all instances rooted in the connection MUST be called before the connection is destroyed. More...
 
DtSharedSettingsManagersettingsManager ()
 Get the settings manager. More...
 
virtual DtAgentManagerInterfacesceneInterface ()
 Get the scene manager interface for creating drivers. More...
 
const DtSharedSettingsManagersettingsManager () const
 Get the settings manager. More...
 
void reportElementCreated (DtElementID id, DtElementID parentId, unsigned int type)
 Report an element created. More...
 
void reportElementAttribute (DtElementID id, DtElementAttribute *attribute)
 
void reportElementDestroyed (DtElementID id)
 Report an element destroyed. More...
 
const DtElementChangescurrentElementChanges () const
 Look at the current element changes. More...
 
DtElementChangestakeElementChanges ()
 Take the current changes and internally start a new set of changes. More...
 
DtTemporaryAgentManagertemporaryEffects ()
 Get the temporary effects manager. More...
 
DtBlinkingObjectManagerblinkManager ()
 Get the blinking manager. More...
 
DtRandomNumberGeneratorrandomNumberGenerator ()
 Get the simulation's random number generator. More...
 
virtual const std::string & tag ()
 Get the tag identifying which type of connection this is. More...
 
const DtUnicodeemptyString () const
 Allocated empty string. More...
 
virtual DtVirtualBaseClassfindInstance (const std::string &instanceName)
 Find an instance with the given name. More...
 
bool destroyingInstances () const
 Check to see if the simulation is destroying instances. More...
 
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. More...
 

Public Attributes

boost::signalslib::signal
< void(DtMouseState &, const
DtUniqueID &, const
std::string &displayEngineName,
const std::string &windowName,
const std::string &channelName)> 
signal_entityIndicatorMouseDown
 Emitted when an entity indicator is clicked. More...
 
boost::signalslib::signal
< void(DtMouseState &, const
DtUniqueID &, const
std::string &displayEngineName,
const std::string &windowName,
const std::string &channelName)> 
signal_entityIndicatorMouseUp
 
boost::signalslib::signal
< void(DtMouseState &, const
DtUniqueID &, const
std::string &displayEngineName,
const std::string &windowName,
const std::string &channelName)> 
signal_entityIndicatorMouseDblClick
 
boost::signalslib::signal
< void(DtMouseState &, const
DtUniqueID &, const
std::string &displayEngineName,
const std::string &windowName,
const std::string &channelName)> 
signal_tacticalGraphicIndicatorMouseDown
 Emitted when an tactical graphic indicator is clicked. More...
 
boost::signalslib::signal
< void(DtMouseState &, const
DtUniqueID &, const
std::string &displayEngineName,
const std::string &windowName,
const std::string &channelName)> 
signal_tacticalGraphicIndicatorMouseUp
 
boost::signalslib::signal
< void(DtMouseState &, const
DtUniqueID &, const
std::string &displayEngineName,
const std::string &windowName,
const std::string &channelName)> 
signal_tacticalGraphicIndicatorMouseDblClick
 
boost::signalslib::signal
< void(DtViewStateProcessor::ObserverAction &)> 
signal_viewChanged
 Emitted when a view control change is received. More...
 
boost::signalslib::signal< void()> signal_coordinateSystemChanged
 Emitted when the coordinate system changed. More...
 
boost::signalslib::signal< void()> signal_connected
 Emitted when the connection finished connecting. More...
 
boost::signalslib::signal< void()> signal_toBeDisconnected
 Emitted when the connection will be disconnecting. More...
 

Protected Attributes

DtCoordinateSystemmyCoordinateSystem
 
DtDisplayUnitsConvertermyCoordinateConverter
 
DtEntityAppearanceMapperFactorymyMapperFactory
 Factory responsible for creating Appearance Mappers. More...
 
int myAppNumber
 
int mySiteId
 
bool myIsPausedFlag
 
bool myIsDisconnecting
 
- Protected Attributes inherited from makVrv::DtBaseConnection
DtSharedSettingsManagermySettingsManagerCache
 
DtRandomNumberGenerator myRandomNumberGenerator
 
DtAgentManagerInterfacemySceneInterface
 
DtElementChangesmyWorkingElementChanges
 
DtTemporaryAgentManagermyTemporaryEffects
 
DtBlinkingObjectManagermyBlinkManager
 Manager for blinking objects. More...
 
DtUnicode myEmptyString
 
InstanceMap myInstances
 
bool myDestroyingInstanceFlag
 

Additional Inherited Members

- Protected Types inherited from makVrv::DtBaseConnection
typedef boost::unordered_map
< std::string,
DtVirtualBaseClass * > 
InstanceMap
 

Detailed Description

The base class for protocol specific VRLink Simulations.

Constructor & Destructor Documentation

makVrv::DtConnection::DtConnection ( DtAgentManagerInterface aSceneInterface,
const DtCoordinateSystem coordSystem,
const DtEntityAppearanceMapperFactoryCreator appFactoryCreator,
DtSharedSettingsManager settingsManager 
)

CTOR.

virtual makVrv::DtConnection::~DtConnection ( )
virtual

DTOR.

makVrv::DtConnection::DtConnection ( )
delete

not allowed - default constructor

makVrv::DtConnection::DtConnection ( const DtConnection )
delete

not allowed - copy constructor

Member Function Documentation

DtConnection& makVrv::DtConnection::operator= ( const DtConnection )
delete

not allowed - equals operator

const DtEntityAppearanceMapper* makVrv::DtConnection::findAppearanceMapper ( const DtEntityType &  type)

Attempt to get an appearance mapper from an entity type.

const DtEntityAppearanceMapperFactory& makVrv::DtConnection::appearanceMapperFactory ( ) const
virtual void makVrv::DtConnection::coordinateSystemChanged ( const std::string &  coordinateName,
const std::string &  coordinateOrigin 
)
virtual
const DtCoordinateSystem& makVrv::DtConnection::coordinateSystem ( ) const
const DtDisplayUnitsConverter& makVrv::DtConnection::displayUnitConverter ( ) const

Get the display unit converter.

virtual bool makVrv::DtConnection::connect ( )
pure virtual

Function that creates the exercise conn and reflected lists.

Returns
if connect succeeds
Return values
truesuccess
falsefailure

Implemented in makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection.

virtual bool makVrv::DtConnection::connected ( ) const
virtual

Check to see if the simulation is connected.

Base version always returns false.

Reimplemented in makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection.

virtual bool makVrv::DtConnection::disconnect ( )
pure virtual

Function that destroys the exercise conn and reflected lists.

Returns
if connect succeeds
Return values
truesuccess
falsefailure

Implemented in makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection.

virtual void makVrv::DtConnection::tick ( double  dt)
pure virtual

Function to be called repeatedly by a thread.

Implemented in makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection.

virtual double makVrv::DtConnection::simTime ( ) const
pure virtual

Get the current simulation time from the connection's vrlink exercise connection.

Implemented in makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection.

virtual void makVrv::DtConnection::setSimTime ( double  simTime)
pure virtual

Set the current simulation time to the connection's vrlink exercise connection.

Implemented in makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection.

virtual double makVrv::DtConnection::clockTime ( ) const
pure virtual

Get the current clock time (absRealTime()) from the connection's vrlink exercise connection.

Implemented in makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection.

virtual DtTimeStampType makVrv::DtConnection::timeStampType ( ) const
pure virtual

Get the timestamp type in use (Relative or Absolute) by the connection's vrlink exercise connection.

Implemented in makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection.

virtual void makVrv::DtConnection::pauseConnection ( )
virtual

Inform the connection that we are paused (sets the myIsPausedFlag to true)

virtual void makVrv::DtConnection::resumeConnection ( )
virtual

Inform the connection that we should resume (sets the myIsPausedFlag to false)

virtual bool makVrv::DtConnection::connectionIsPaused ( ) const
virtual

Check to see if the connection is paused.

virtual void makVrv::DtConnection::setViewControlChanged ( bool  enabled)
pure virtual

Set that the view controls have changed.

Implemented in makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection.

virtual void makVrv::DtConnection::setConnectionFrameTime ( double  frameTime)
pure virtual

Set the connection frame time.

This is 1/frequency for the connection tick. Default is 1/60.

Implemented in makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection.

virtual double makVrv::DtConnection::connectionFrameTime ( ) const
pure virtual

Get the connection frame time.

This is 1/frequency for the connection tick. Default is 1/60.

Implemented in makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection.

virtual void makVrv::DtConnection::setUseTopoForFlatEarthVectorConversion ( bool  enabled)
pure virtual

We used to use a topo system to convert flat earth vectors.

Now we find the point at the end of the vector, convert start and end points, and subtract for a more accurate result. However, when receiving data from a sim using the old method (including older versions of VR-Forces and DI-Guy) user's may want to revert to the old scheme.

Implemented in makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection.

virtual void makVrv::DtConnection::observerUpdated ( const std::string &  observerName,
double  x,
double  y,
double  z,
double  psi,
double  theta,
double  phi 
)
pure virtual

handle observer position and orientation changes

Implemented in makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection.

virtual void makVrv::DtConnection::observerUpdated ( const std::string &  observerName,
double  x,
double  y,
double  z,
double  psi,
double  theta,
double  phi,
double  dx,
double  dy,
double  dz,
double  dpsi,
double  dtheta,
double  dphi 
)
pure virtual

handle observer poistion and orientation changes including rotational and linear velocities

Implemented in makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection.

virtual void makVrv::DtConnection::stopPublishingObserver ( const std::string &  observerName)
pure virtual

Start publishing an observer.

Implemented in makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection.

virtual void makVrv::DtConnection::startPublishingObserver ( const std::string &  observerName)
pure virtual

Stop publishing an observer.

Implemented in makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection.

void makVrv::DtConnection::entityIndicatorMouseDown ( DtMouseState mouseState,
const DtUniqueID id,
const std::string &  displayEngineName,
const std::string &  windowName,
const std::string &  channelName 
)

Called when an entity is selected/deselected by the sim via its indicator.

void makVrv::DtConnection::entityIndicatorMouseUp ( DtMouseState mouseState,
const DtUniqueID id,
const std::string &  displayEngineName,
const std::string &  windowName,
const std::string &  channelName 
)
void makVrv::DtConnection::entityIndicatorMouseDblClick ( DtMouseState mouseState,
const DtUniqueID id,
const std::string &  displayEngineName,
const std::string &  windowName,
const std::string &  channelName 
)
void makVrv::DtConnection::tacticalGraphicIndicatorMouseDown ( DtMouseState mouseState,
const DtUniqueID id,
const std::string &  displayEngineName,
const std::string &  windowName,
const std::string &  channelName 
)

Called when an tactical graphic is selected/deselected by the sim via its indicator.

void makVrv::DtConnection::tacticalGraphicIndicatorMouseUp ( DtMouseState mouseState,
const DtUniqueID id,
const std::string &  displayEngineName,
const std::string &  windowName,
const std::string &  channelName 
)
void makVrv::DtConnection::tacticalGraphicIndicatorMouseDblClick ( DtMouseState mouseState,
const DtUniqueID id,
const std::string &  displayEngineName,
const std::string &  windowName,
const std::string &  channelName 
)
void makVrv::DtConnection::setAppNumber ( int  appNumber)

Set the application number (for HLA connections only, DIS should use the initializer)

void makVrv::DtConnection::setSiteId ( int  siteId)

Set the site ID (useful for HLA connections only, DIS connections should use the initializer)

virtual bool makVrv::DtConnection::isDisconnecting ( ) const
virtual

Access flag to check if we are disconnecting.

A signal is raised when the connection is being disconnected, which many objects listen to. However, sometimes one object needs to know that it should ignore something it's being asked to do, even if it hasn't received the signal yet (because the asker has). One example of this is the deletion of entities causing hidden aggregates to show themselves when they become childless. We really don't want that behavior if the reason it becomes childless is that we are shutting down. So when it's last child is deleted, it can check this flag and decide not to show itself in this circumstance.

Member Data Documentation

boost::signalslib::signal<void (DtMouseState&, const DtUniqueID&, const std::string& displayEngineName, const std::string& windowName, const std::string& channelName)> makVrv::DtConnection::signal_entityIndicatorMouseDown

Emitted when an entity indicator is clicked.

boost::signalslib::signal<void (DtMouseState&, const DtUniqueID&, const std::string& displayEngineName, const std::string& windowName, const std::string& channelName)> makVrv::DtConnection::signal_entityIndicatorMouseUp
boost::signalslib::signal<void (DtMouseState&, const DtUniqueID&, const std::string& displayEngineName, const std::string& windowName, const std::string& channelName)> makVrv::DtConnection::signal_entityIndicatorMouseDblClick
boost::signalslib::signal<void (DtMouseState&, const DtUniqueID&, const std::string& displayEngineName, const std::string& windowName, const std::string& channelName)> makVrv::DtConnection::signal_tacticalGraphicIndicatorMouseDown

Emitted when an tactical graphic indicator is clicked.

boost::signalslib::signal<void (DtMouseState&, const DtUniqueID&, const std::string& displayEngineName, const std::string& windowName, const std::string& channelName)> makVrv::DtConnection::signal_tacticalGraphicIndicatorMouseUp
boost::signalslib::signal<void (DtMouseState&, const DtUniqueID&, const std::string& displayEngineName, const std::string& windowName, const std::string& channelName)> makVrv::DtConnection::signal_tacticalGraphicIndicatorMouseDblClick
boost::signalslib::signal<void (DtViewStateProcessor::ObserverAction&)> makVrv::DtConnection::signal_viewChanged

Emitted when a view control change is received.

boost::signalslib::signal<void ()> makVrv::DtConnection::signal_coordinateSystemChanged
boost::signalslib::signal<void ()> makVrv::DtConnection::signal_connected

Emitted when the connection finished connecting.

boost::signalslib::signal<void ()> makVrv::DtConnection::signal_toBeDisconnected

Emitted when the connection will be disconnecting.

DtCoordinateSystem* makVrv::DtConnection::myCoordinateSystem
protected
DtDisplayUnitsConverter* makVrv::DtConnection::myCoordinateConverter
protected
DtEntityAppearanceMapperFactory* makVrv::DtConnection::myMapperFactory
protected

Factory responsible for creating Appearance Mappers.

int makVrv::DtConnection::myAppNumber
protected
int makVrv::DtConnection::mySiteId
protected
bool makVrv::DtConnection::myIsPausedFlag
protected
bool makVrv::DtConnection::myIsDisconnecting
protected

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

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)