VR-Forces 4.0.4 Class Documentation
Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Protected Attributes
makVrv::DtVrlinkDriver Class Reference

The base class for VR-Link based drivers. More...

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

List of all members.

Public Member Functions

 DtVrlinkDriver (DtAgentManager &agentManager, const std::string &uniqueName, const std::string &className)
 CTOR.
virtual ~DtVrlinkDriver ()
 DTOR.
virtual const std::string & className () const
 Get this instance's class name.
virtual bool observersPublished () const
 Get observer publishing status for this driver.
virtual void setObserversPublished (bool isPublished)
 Turn on or off observer publishing for this driver.
virtual bool viewControlEnabled () const
 Get view control status for this driver.
virtual void setViewControlEnabled (bool enabled)
 Turn on or off acceptance of view controls for this driver.
virtual void queueSimulationFunction (const boost::function< void()> &function)
 Put a function in the sim function queue, for threadsafe calling.
bool useThreadFlag () const
 Returns value of thread flag.
DtConnectionconnection ()

Public Attributes

boost::signal< void(DtConnection *)> signal_simulationCreated
 This signal is emitted when the simulation is created.
boost::signal< void(DtConnection *)> signal_simulationAboutToBeDestroyed
 This signal is emitted when the simulation is about to be destroyed.

Protected Types

enum  FunctionType { Create, Update, Destroy }
typedef DtLockedBufferedQueue
< boost::function< void()> > 
FunctionCallQueue
typedef std::vector
< boost::function< void()> > 
FunctionCallList

Protected Member Functions

virtual DtConnectioncreateConnection ()=0
 Abstract create simulation function called onStart.
virtual bool onStart ()
 Start the host output.
virtual bool onStop ()
 Stop the host output.
virtual void run ()
 Function that will be called when the thread is started.
void startPublishingObservers ()
 Start publishing observers.
void stopPublishingObservers ()
 Stop publishing observers.
virtual bool onTick ()
 Tick, this calls threadTick if the driver is not configured to use a separate thread.
void startThread ()
 Attempt to start the thread.
void stopThread ()
 Attempt to stop the thread, blocking until the thread stops.
void setConnectionState (bool state)
 Set the connection state of the driver.
virtual void slot_displayEngineAdded (const DtDeRecord &igRecord)
 Respond when a display engine is added.
virtual void slot_onObserverDestroyed (DtObserver *observer)
virtual void slot_onObserverCreated (DtObserver *observer)
virtual void startPublishingObserver (DtObserver *observer)
 Start publishing an observer on the current connection.
virtual void stopPublishingObserver (DtObserver *observer)
 Stop publishing an observer on the current connection.
virtual void updateObservers ()
 Update the observer position/orientations on the simulation.
void indicatorMouseDown (DtMouseState &mouseState, const DtUniqueID &id, const std::string &displayEngineName, const std::string &windowName, const std::string &channelName)
void indicatorMouseUp (DtMouseState &mouseState, const DtUniqueID &id, const std::string &displayEngineName, const std::string &windowName, const std::string &channelName)
void indicatorMouseDblClick (DtMouseState &mouseState, const DtUniqueID &id, const std::string &displayEngineName, const std::string &windowName, const std::string &channelName)
virtual void runFunctionQueue (FunctionCallQueue &queue)
 Execute a function queue.
virtual void connectToDynamicSignals ()
 Connect to signals.
virtual void disconnectFromDynamicSignals ()
 Disconnect to any signals connected to in connectToDynamicSignals()
virtual void slot_onViewChanged (DtViewStateProcessor::ObserverAction &action)
 Connect to signals.
virtual void slot_onCurrentSelectionChanged (const DtSelectionManager::IdSet &selected, const DtSelectionManager::IdSet &deselected)
 Connect to signals.
virtual void slot_onVertexSelected (const DtUniqueID &selected, const DtUniqueID &parentOfSelected)
 Connect to signals.
virtual void slot_onVertexDeselected (const DtUniqueID &deselected, const DtUniqueID &parentOfDeselected)
 Connect to signals.
virtual void slot_onEntityInfoToggled (const DtSelectionManager::IdSet &entityIds)
 Connect to signals.
virtual void slot_onEntityIndicatorMouseDown (DtMouseState &mouseState, const DtUniqueID &id, const std::string &displayEngineName, const std::string &windowName, const std::string &channelName)
 Slot for handling entity indicator clicks; passes them to the input driver.
virtual void slot_onEntityIndicatorMouseUp (DtMouseState &mouseState, const DtUniqueID &id, const std::string &displayEngineName, const std::string &windowName, const std::string &channelName)
 Connect to signals.
virtual void slot_onEntityIndicatorMouseDblClick (DtMouseState &mouseState, const DtUniqueID &id, const std::string &displayEngineName, const std::string &windowName, const std::string &channelName)
 Connect to signals.
virtual void slot_onTacticalGraphicIndicatorMouseDown (DtMouseState &mouseState, const DtUniqueID &id, const std::string &displayEngineName, const std::string &windowName, const std::string &channelName)
 Slot for handling tacticalGraphic indicator clicks; passes them to the input driver.
virtual void slot_onTacticalGraphicIndicatorMouseUp (DtMouseState &mouseState, const DtUniqueID &id, const std::string &displayEngineName, const std::string &windowName, const std::string &channelName)
 Connect to signals.
virtual void slot_onTacticalGraphicIndicatorMouseDblClick (DtMouseState &mouseState, const DtUniqueID &id, const std::string &displayEngineName, const std::string &windowName, const std::string &channelName)
 Connect to signals.
virtual void slot_onCoordinateSystemChanged (const std::string &coordinateSystem, const std::string &coordinateParameters)
 Slot for handling coordinate system changes.
virtual void slot_onObserverObjectAttached (const std::string &observerName, DtUniqueID id)
 Slot called when an observer attaches to an object.
virtual void slot_onObserverDetached (const std::string &observerName)
 Slot called when an observer detaches.
virtual void attachObserverObject (const std::string &observerName, DtUniqueID id)
 Attach an object to an observer.
virtual void toggleEntitySelected (const DtUniqueID &id)
 Toggle selection of an entity.
virtual void performObserverAction (DtViewStateProcessor::ObserverAction &action)
 Connect to signals.

Protected Attributes

std::string myClassName
DtConnectionmyConnection
DtAsynchronousEventQueuemyAsynchronousEventQueue
bool myConnectionState
DtSignalConnectionManager myDynamicSignals
double myObserverUpdateTimeInterval
double myLastObserverUpdateTime
bool myObserversPublished
bool myViewControlEnabled
DtSelectionManagermySelectionManager
bool myUseThreadFlag
DtThreadStart * myStart
DtThread * myThread
FunctionCallQueue mySimulationThreadFunctions
FunctionCallQueue myDriverThreadFunctions
DtAsynchronousAgentManagermyAsynchronousInterface

Detailed Description

The base class for VR-Link based drivers.


Member Typedef Documentation

typedef DtLockedBufferedQueue<boost::function<void ()> > makVrv::DtVrlinkDriver::FunctionCallQueue [protected]
typedef std::vector<boost::function<void ()> > makVrv::DtVrlinkDriver::FunctionCallList [protected]

Member Enumeration Documentation

Enumerator:
Create 
Update 
Destroy 

Constructor & Destructor Documentation

makVrv::DtVrlinkDriver::DtVrlinkDriver ( DtAgentManager agentManager,
const std::string &  uniqueName,
const std::string &  className 
)

CTOR.

DTOR.


Member Function Documentation

virtual const std::string& makVrv::DtVrlinkDriver::className ( ) const [virtual]

Get this instance's class name.

Implements makVrv::DtDriver.

virtual bool makVrv::DtVrlinkDriver::observersPublished ( ) const [virtual]

Get observer publishing status for this driver.

virtual void makVrv::DtVrlinkDriver::setObserversPublished ( bool  isPublished) [virtual]

Turn on or off observer publishing for this driver.

virtual bool makVrv::DtVrlinkDriver::viewControlEnabled ( ) const [virtual]

Get view control status for this driver.

virtual void makVrv::DtVrlinkDriver::setViewControlEnabled ( bool  enabled) [virtual]

Turn on or off acceptance of view controls for this driver.

virtual void makVrv::DtVrlinkDriver::queueSimulationFunction ( const boost::function< void()> &  function) [virtual]

Put a function in the sim function queue, for threadsafe calling.

Referenced by DtExConnInterface::sendCommentInteraction().

Returns value of thread flag.

virtual DtConnection* makVrv::DtVrlinkDriver::createConnection ( ) [protected, pure virtual]

Abstract create simulation function called onStart.

Implemented in makVrv::DtHla13Driver, makVrv::DtHla1516Driver, makVrv::DtHla1516eDriver, and makVrv::DtDisDriver.

virtual bool makVrv::DtVrlinkDriver::onStart ( ) [protected, virtual]

Start the host output.

Create all object for an existing host connection.

Implements makVrv::DtDriver.

virtual bool makVrv::DtVrlinkDriver::onStop ( ) [protected, virtual]

Stop the host output.

All scene object created by the host should be destroyed.

Implements makVrv::DtDriver.

virtual void makVrv::DtVrlinkDriver::run ( ) [protected, virtual]

Function that will be called when the thread is started.

Start publishing observers.

Stop publishing observers.

virtual bool makVrv::DtVrlinkDriver::onTick ( ) [protected, virtual]

Tick, this calls threadTick if the driver is not configured to use a separate thread.

Implements makVrv::DtDriver.

Attempt to start the thread.

Exceptions:
DtCorruptedStateif the thread does not start.
void makVrv::DtVrlinkDriver::stopThread ( ) [protected]

Attempt to stop the thread, blocking until the thread stops.

void makVrv::DtVrlinkDriver::setConnectionState ( bool  state) [protected]

Set the connection state of the driver.

virtual void makVrv::DtVrlinkDriver::slot_displayEngineAdded ( const DtDeRecord igRecord) [protected, virtual]

Respond when a display engine is added.

Reimplemented from makVrv::DtDriver.

virtual void makVrv::DtVrlinkDriver::connectToDynamicSignals ( ) [protected, virtual]

Connect to signals.

virtual void makVrv::DtVrlinkDriver::disconnectFromDynamicSignals ( ) [protected, virtual]

Disconnect to any signals connected to in connectToDynamicSignals()

Connect to signals.

virtual void makVrv::DtVrlinkDriver::slot_onCurrentSelectionChanged ( const DtSelectionManager::IdSet selected,
const DtSelectionManager::IdSet deselected 
) [protected, virtual]

Connect to signals.

virtual void makVrv::DtVrlinkDriver::slot_onVertexSelected ( const DtUniqueID selected,
const DtUniqueID parentOfSelected 
) [protected, virtual]

Connect to signals.

virtual void makVrv::DtVrlinkDriver::slot_onVertexDeselected ( const DtUniqueID deselected,
const DtUniqueID parentOfDeselected 
) [protected, virtual]

Connect to signals.

virtual void makVrv::DtVrlinkDriver::slot_onEntityInfoToggled ( const DtSelectionManager::IdSet entityIds) [protected, virtual]

Connect to signals.

virtual void makVrv::DtVrlinkDriver::slot_onEntityIndicatorMouseDown ( DtMouseState mouseState,
const DtUniqueID id,
const std::string &  displayEngineName,
const std::string &  windowName,
const std::string &  channelName 
) [protected, virtual]

Slot for handling entity indicator clicks; passes them to the input driver.

virtual void makVrv::DtVrlinkDriver::slot_onEntityIndicatorMouseUp ( DtMouseState mouseState,
const DtUniqueID id,
const std::string &  displayEngineName,
const std::string &  windowName,
const std::string &  channelName 
) [protected, virtual]

Connect to signals.

virtual void makVrv::DtVrlinkDriver::slot_onEntityIndicatorMouseDblClick ( DtMouseState mouseState,
const DtUniqueID id,
const std::string &  displayEngineName,
const std::string &  windowName,
const std::string &  channelName 
) [protected, virtual]

Connect to signals.

virtual void makVrv::DtVrlinkDriver::slot_onTacticalGraphicIndicatorMouseDown ( DtMouseState mouseState,
const DtUniqueID id,
const std::string &  displayEngineName,
const std::string &  windowName,
const std::string &  channelName 
) [protected, virtual]

Slot for handling tacticalGraphic indicator clicks; passes them to the input driver.

virtual void makVrv::DtVrlinkDriver::slot_onTacticalGraphicIndicatorMouseUp ( DtMouseState mouseState,
const DtUniqueID id,
const std::string &  displayEngineName,
const std::string &  windowName,
const std::string &  channelName 
) [protected, virtual]

Connect to signals.

virtual void makVrv::DtVrlinkDriver::slot_onTacticalGraphicIndicatorMouseDblClick ( DtMouseState mouseState,
const DtUniqueID id,
const std::string &  displayEngineName,
const std::string &  windowName,
const std::string &  channelName 
) [protected, virtual]

Connect to signals.

virtual void makVrv::DtVrlinkDriver::slot_onCoordinateSystemChanged ( const std::string &  coordinateSystem,
const std::string &  coordinateParameters 
) [protected, virtual]

Slot for handling coordinate system changes.

virtual void makVrv::DtVrlinkDriver::slot_onObserverObjectAttached ( const std::string &  observerName,
DtUniqueID  id 
) [protected, virtual]

Slot called when an observer attaches to an object.

virtual void makVrv::DtVrlinkDriver::slot_onObserverDetached ( const std::string &  observerName) [protected, virtual]

Slot called when an observer detaches.

virtual void makVrv::DtVrlinkDriver::attachObserverObject ( const std::string &  observerName,
DtUniqueID  id 
) [protected, virtual]

Attach an object to an observer.

virtual void makVrv::DtVrlinkDriver::toggleEntitySelected ( const DtUniqueID id) [protected, virtual]

Toggle selection of an entity.

Connect to signals.

virtual void makVrv::DtVrlinkDriver::slot_onObserverDestroyed ( DtObserver observer) [protected, virtual]
virtual void makVrv::DtVrlinkDriver::slot_onObserverCreated ( DtObserver observer) [protected, virtual]
virtual void makVrv::DtVrlinkDriver::startPublishingObserver ( DtObserver observer) [protected, virtual]

Start publishing an observer on the current connection.

virtual void makVrv::DtVrlinkDriver::stopPublishingObserver ( DtObserver observer) [protected, virtual]

Stop publishing an observer on the current connection.

virtual void makVrv::DtVrlinkDriver::updateObservers ( ) [protected, virtual]

Update the observer position/orientations on the simulation.

void makVrv::DtVrlinkDriver::indicatorMouseDown ( DtMouseState mouseState,
const DtUniqueID id,
const std::string &  displayEngineName,
const std::string &  windowName,
const std::string &  channelName 
) [protected]
void makVrv::DtVrlinkDriver::indicatorMouseUp ( DtMouseState mouseState,
const DtUniqueID id,
const std::string &  displayEngineName,
const std::string &  windowName,
const std::string &  channelName 
) [protected]
void makVrv::DtVrlinkDriver::indicatorMouseDblClick ( DtMouseState mouseState,
const DtUniqueID id,
const std::string &  displayEngineName,
const std::string &  windowName,
const std::string &  channelName 
) [protected]
virtual void makVrv::DtVrlinkDriver::runFunctionQueue ( FunctionCallQueue queue) [protected, virtual]

Execute a function queue.


Member Data Documentation

This signal is emitted when the simulation is created.

This signal is emitted when the simulation is about to be destroyed.

std::string makVrv::DtVrlinkDriver::myClassName [protected]
DtThreadStart* makVrv::DtVrlinkDriver::myStart [protected]
DtThread* makVrv::DtVrlinkDriver::myThread [protected]

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)