17 #include <vlutil/vlThread.h>
19 #include <vlutil/vlRunnable.h>
23 #include <boost/bind/bind.hpp>
32 class DtAsynchronousEventQueue;
33 class DtAsynchronousAgentManager;
34 class DtVrlinkBaseConnection;
35 class DtEntityTypeMapper;
37 class DtSelectionManager;
54 const std::string& uniqueName,
const std::string& className);
60 virtual const std::string& className()
const;
63 virtual bool observersPublished()
const;
66 virtual void setObserversPublished(
bool isPublished);
70 virtual bool overrideGlobalViewControl()
const;
74 virtual void setOverrideGlobalViewControl(
bool enabled);
79 virtual bool viewControlEnabled()
const;
83 virtual void setLocalViewControlEnabled(
bool enabled);
87 virtual bool localViewControlEnabled()
const;
91 virtual void setConnectionFrameTime(
double frameTime );
95 virtual double connectionFrameTime()
const;
103 void setUseTopoForFlatEarthVectorConversion(
bool flag );
104 bool useTopoForFlatEarthVectorConversion()
const;
107 virtual void queueDriverFunction(
const std::function<
void ()>&
function);
110 virtual void queueConnectionFunction(
const std::function<
void ()>&
function);
115 return myUseThreadFlag;
136 virtual bool onStart();
140 virtual bool onStop();
146 void startPublishingObservers();
149 void stopPublishingObservers();
153 virtual bool onTick();
164 void setConnectionState(
bool state );
167 virtual void slot_displayEngineAdded(
const DtDeRecord& igRecord );
170 virtual void slot_globalViewControlEnabledSet(
bool );
175 virtual void connectToDynamicSignals();
179 virtual void disconnectFromDynamicSignals();
181 virtual void slot_onViewChanged(
184 virtual void slot_onCurrentSelectionChanged(
188 virtual void slot_onElementHasHoveredWidget(
const DtElementID& elementId,
bool hasMouseCursor );
190 virtual void slot_onVertexElementHasHoveredWidget(
const DtElementID& parentId,
const DtElementID& vertexElementId,
bool hasMouseCursor );
192 virtual void slot_onVertexSelected(
const DtUniqueID& selected,
195 virtual void slot_onVertexDeselected(
const DtUniqueID& deselected,
207 virtual void slot_infoLabelsArePinned(
211 virtual void slot_entityTrackHistoryColorOverride(
215 virtual void slot_switchEntitySymbolDecorationQuadrant(
219 virtual void slot_onCoordinateSystemChanged(
220 const std::string& coordinateSystem,
221 const std::string& coordinateParameters );
224 virtual void toggleEntitySelected(
const DtUniqueID&
id);
226 virtual void performObserverAction(
231 virtual void slot_onObserverDestroyed(
DtObserver* observer);
233 virtual void slot_onObserverCreated(
DtObserver* observer);
236 virtual void startPublishingObserver(
DtObserver* observer );
239 virtual void stopPublishingObserver(
DtObserver* observer );
242 virtual void updateObservers();
246 virtual void slot_pause();
250 virtual void slot_resume();
258 virtual void runFunctionQueue(FunctionCallQueue& queue);
The base class for VR-Link based drivers.
Definition: DtVrlinkDriver.h:43
DtThreadStartSP myStart
Definition: DtVrlinkDriver.h:269
boost::function< void(DtObserver &)> ObserverAction
Definition: DtViewStateProcessor.h:29
#define DT_DLL_VRVVRL
Definition: vrvVrl.h:19
DtThread * myThread
Definition: DtVrlinkDriver.h:270
DtSelectionManager & mySelectionManager
Definition: DtVrlinkDriver.h:293
bool useThreadFlag() const
Returns value of thread flag.
Definition: DtVrlinkDriver.h:113
An asynchronous interface to the scene manager.
Definition: DtAsynchronousAgentManager.h:24
DtAsynchronousEventQueue * myAsynchronousEventQueue
Definition: DtVrlinkDriver.h:278
std::vector< std::function< void()> > FunctionCallList
Definition: DtVrlinkDriver.h:253
The master window of the scene.
Definition: DtSelectionManager.h:28
A Record of an IG instance.
Definition: DtDeRecord.h:24
std::string myClassName
Definition: DtVrlinkDriver.h:263
Contains makVrv:DtSelectionManager class.
std::string myAppName
Definition: DtVrlinkDriver.h:295
DtAsynchronousAgentManager * myAsynchronousInterface
Definition: DtVrlinkDriver.h:274
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
DtVrlinkBaseConnection * myConnection
Definition: DtVrlinkDriver.h:277
Contains makVrv::DtLockedBufferedQueue class.
boost::signalslib::signal< void(DtVrlinkBaseConnection *)> signal_connectionAboutToBeDestroyed
This signal is emitted when the connection is about to be destroyed.
Definition: DtVrlinkDriver.h:127
bool myOverrideGlobalViewControlEnabled
Definition: DtVrlinkDriver.h:289
static const std::string theExConnConfigFileCount
Definition: DtVrlinkDriver.h:47
DtLockedBufferedQueue< std::function< void()> > FunctionCallQueue
Definition: DtVrlinkDriver.h:252
A locked buffered queue which allows multiple writers and a single reader. Internally the queue is st...
Definition: DtLockedBufferedQueue.h:24
A facade for a DtObserverObject.
Definition: DtObserver.h:38
The base class for protocol specific VRLink Simulations.
Definition: DtVrlinkBaseConnection.h:43
The DtDriver is an abstract class. Developers derive from this to create logic that "directs" things ...
Definition: DtDriver.h:30
DtSignalConnectionManager myDynamicSignals
Definition: DtVrlinkDriver.h:281
The asynchronous event queue. To create an asynchronous event queue the the makVrv::DtMainEventQueue ...
Definition: DtAsynchronousEventQueue.h:24
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Definition: DtVrlinkDriver.h:255
The DtAgentManager manages the distributed scene object framework. This includes the objects and upda...
Definition: DtAgentManager.h:38
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
Contains makVrv:DtDriver class.
boost::signalslib::signal< void(DtVrlinkBaseConnection *)> signal_connectionCreated
This signal is emitted when the connection is created.
Definition: DtVrlinkDriver.h:124
double myLastObserverUpdateTime
Definition: DtVrlinkDriver.h:284
bool myConnectionState
Definition: DtVrlinkDriver.h:279
FunctionType
Definition: DtVrlinkDriver.h:255
double myObserverUpdateTimeInterval
Definition: DtVrlinkDriver.h:283
std::vector< std::string > myConfigFiles
Definition: DtVrlinkDriver.h:298
FunctionCallQueue myConnectionThreadFunctions
Definition: DtVrlinkDriver.h:272
bool myUseTopoForFlatEarthVectorConversion
Definition: DtVrlinkDriver.h:290
FunctionCallQueue myDriverThreadFunctions
Definition: DtVrlinkDriver.h:273
DtVrlinkBaseConnection * connection()
Definition: DtVrlinkDriver.h:118
double myLastSimTime
Definition: DtVrlinkDriver.h:285
std::string myAppVersion
Definition: DtVrlinkDriver.h:296
std::string myDefaultConfigFile
Definition: DtVrlinkDriver.h:297
bool myGlobalViewControlEnabled
Definition: DtVrlinkDriver.h:288
double myConnectionFrameTime
Definition: DtVrlinkDriver.h:291
bool myObserversPublished
Definition: DtVrlinkDriver.h:286
bool myLocalViewControlEnabled
Definition: DtVrlinkDriver.h:287
Contains DLL export macros.
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
Template for Color values in [0,1] range.
Definition: DtColorValue.h:20
static const std::string theExConnConfigFile
Definition: DtVrlinkDriver.h:48
bool myUseThreadFlag
Definition: DtVrlinkDriver.h:268