17 #include <vlutil/vlThread.h>
19 #include <vlutil/vlRunnable.h>
30 class DtAsynchronousEventQueue;
31 class DtAsynchronousAgentManager;
32 class DtVrlinkBaseConnection;
33 class DtEntityTypeMapper;
35 class DtSelectionManager;
48 const std::string& uniqueName,
const std::string& className);
54 virtual const std::string& className()
const;
57 virtual bool observersPublished()
const;
60 virtual void setObserversPublished(
bool isPublished);
64 virtual bool overrideGlobalViewControl()
const;
68 virtual void setOverrideGlobalViewControl(
bool enabled);
73 virtual bool viewControlEnabled()
const;
77 virtual void setLocalViewControlEnabled(
bool enabled);
81 virtual bool localViewControlEnabled()
const;
85 virtual void setConnectionFrameTime(
double frameTime );
89 virtual double connectionFrameTime()
const;
97 void setUseTopoForFlatEarthVectorConversion(
bool flag );
98 bool useTopoForFlatEarthVectorConversion()
const;
101 virtual void queueDriverFunction(
const std::function<
void ()>&
function);
104 virtual void queueConnectionFunction(
const std::function<
void ()>&
function);
109 return myUseThreadFlag;
130 virtual bool onStart();
134 virtual bool onStop();
140 void startPublishingObservers();
143 void stopPublishingObservers();
147 virtual bool onTick();
158 void setConnectionState(
bool state );
161 virtual void slot_displayEngineAdded(
const DtDeRecord& igRecord );
164 virtual void slot_globalViewControlEnabledSet(
bool );
169 virtual void connectToDynamicSignals();
173 virtual void disconnectFromDynamicSignals();
175 virtual void slot_onViewChanged(
178 virtual void slot_onCurrentSelectionChanged(
182 virtual void slot_onElementHasHoveredWidget(
186 virtual void slot_onVertexSelected(
const DtUniqueID& selected,
189 virtual void slot_onVertexDeselected(
const DtUniqueID& deselected,
201 virtual void slot_infoLabelsArePinned(
205 virtual void slot_entityTrackHistoryColorOverride(
209 virtual void slot_switchEntitySymbolDecorationQuadrant(
213 virtual void slot_onCoordinateSystemChanged(
214 const std::string& coordinateSystem,
215 const std::string& coordinateParameters );
218 virtual void toggleEntitySelected(
const DtUniqueID&
id);
220 virtual void performObserverAction(
225 virtual void slot_onObserverDestroyed(
DtObserver* observer);
227 virtual void slot_onObserverCreated(
DtObserver* observer);
230 virtual void startPublishingObserver(
DtObserver* observer );
233 virtual void stopPublishingObserver(
DtObserver* observer );
236 virtual void updateObservers();
240 virtual void slot_pause();
244 virtual void slot_resume();
252 virtual void runFunctionQueue(FunctionCallQueue& queue);
The base class for VR-Link based drivers.
Definition: DtVrlinkDriver.h:41
DtThreadStartSP myStart
Definition: DtVrlinkDriver.h:263
boost::function< void(DtObserver &)> ObserverAction
Definition: DtViewStateProcessor.h:29
#define DT_DLL_VRVVRL
Definition: vrvVrl.h:19
DtThread * myThread
Definition: DtVrlinkDriver.h:264
DtSelectionManager & mySelectionManager
Definition: DtVrlinkDriver.h:287
bool useThreadFlag() const
Returns value of thread flag.
Definition: DtVrlinkDriver.h:107
An asynchronous interface to the scene manager.
Definition: DtAsynchronousAgentManager.h:24
DtAsynchronousEventQueue * myAsynchronousEventQueue
Definition: DtVrlinkDriver.h:272
std::vector< std::function< void()> > FunctionCallList
Definition: DtVrlinkDriver.h:247
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:257
Contains makVrv:DtSelectionManager class.
DtAsynchronousAgentManager * myAsynchronousInterface
Definition: DtVrlinkDriver.h:268
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:271
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:121
bool myOverrideGlobalViewControlEnabled
Definition: DtVrlinkDriver.h:283
DtLockedBufferedQueue< std::function< void()> > FunctionCallQueue
Definition: DtVrlinkDriver.h:246
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:37
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:31
DtSignalConnectionManager myDynamicSignals
Definition: DtVrlinkDriver.h:275
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:249
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:118
double myLastObserverUpdateTime
Definition: DtVrlinkDriver.h:278
bool myConnectionState
Definition: DtVrlinkDriver.h:273
FunctionType
Definition: DtVrlinkDriver.h:249
double myObserverUpdateTimeInterval
Definition: DtVrlinkDriver.h:277
FunctionCallQueue myConnectionThreadFunctions
Definition: DtVrlinkDriver.h:266
bool myUseTopoForFlatEarthVectorConversion
Definition: DtVrlinkDriver.h:284
FunctionCallQueue myDriverThreadFunctions
Definition: DtVrlinkDriver.h:267
DtVrlinkBaseConnection * connection()
Definition: DtVrlinkDriver.h:112
double myLastSimTime
Definition: DtVrlinkDriver.h:279
bool myGlobalViewControlEnabled
Definition: DtVrlinkDriver.h:282
double myConnectionFrameTime
Definition: DtVrlinkDriver.h:285
bool myObserversPublished
Definition: DtVrlinkDriver.h:280
bool myLocalViewControlEnabled
Definition: DtVrlinkDriver.h:281
Contains DLL export macros.
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
Template for Color values in [0,1] range.
Definition: DtColorValue.h:20
bool myUseThreadFlag
Definition: DtVrlinkDriver.h:262