21 #include <matrix/vlVector.h>
22 #include <vlutil/vlRunnable.h>
28 class DtAsynchronousAgentManager;
29 class DtAsynchronousEventQueue;
30 class DtCigiConnection;
31 class DtCigiConnectionInitializer;
32 class DtCigiIntersectionHandler;
33 class DtIgSettingsController;
35 class DtPositionResponder;
36 class DtCigiPositionHandler;
37 class DtCollisionResponder;
38 class DtSensorResponder;
39 class DtCigiSensorController;
40 class DtCigiViewManager;
41 class DtCigiSymbolHandler;
53 const std::string& uniqueName);
59 virtual const std::string& className()
const;
69 virtual DtConfiguration createConfiguration(
bool saveAllParameters)
const override;
85 virtual bool useThreadFlag()
const;
88 virtual void queueDriverFunction(boost::function<
void ()> func);
91 virtual void queueConnectionFunction(boost::function<
void ()> func);
93 void reportSmoothingEnabledChanged(
bool enabled );
129 virtual bool onStart();
132 virtual bool onStop();
136 virtual bool onTick();
139 virtual void startThread();
142 virtual void stopThread();
145 virtual void setConnectionState(
bool connected);
150 virtual void slot_onLoadDatabase(
const std::string&
filename);
156 virtual void performLoadDatabase(
const std::string&
filename);
163 virtual void slot_terrainPatchCreated();
166 virtual void slot_firstTickAfterTerrainPatchCreated();
170 virtual void slot_onCoordinateSystemChanged(
171 const std::string& name,
172 const std::string& params);
185 virtual void slot_displayEngineAdded(
const DtDeRecord& igRecord );
259 virtual const std::string& extension()
const;
263 const std::string& instanceName)
const;
DtThread * myThread
The (possible) other thread that performs CIGI operations.
Definition: DtCigiDriver.h:193
This class initializes the CIGI driver.
Definition: DtCigiConnectionInitializer.h:18
DtCigiSymbolHandler * mySymbolHandler
Processes CIGI Symbols, has access to DtDe.
Definition: DtCigiDriver.h:231
double myNextFrameTime
When we should next process CIGI messages.
Definition: DtCigiDriver.h:234
This class handles all the processing of CIGI Symbol Messages. CIGI Symbols require no responses so t...
Definition: DtCigiSymbolHandler.h:52
An asynchronous interface to the scene manager.
Definition: DtAsynchronousAgentManager.h:24
DtAsynchronousAgentManager * myAsynchronousInterface
Definition: DtCigiDriver.h:206
This class handles all of the intersection processing for HAT/HOT, LOS , and Collision segment reques...
Definition: DtCigiIntersectionHandler.h:42
const DtCigiConnectionInitializer & connectionSettings() const
Returns the CIGI connection settings.
Definition: DtCigiDriver.h:240
A DtCigiViewControl receives messages from the DtCigiConnection and actually changes the channel sett...
Definition: DtCigiViewController.h:37
A Record of an IG instance.
Definition: DtDeRecord.h:24
This class handles all of the position processing for Position Requests It receives signals from the ...
Definition: DtCigiPositionHandler.h:40
This class listens to signal_sensorControllerRequest from the DtCigiSensorResponder, which processes CIGI packets into non-CCL containers. This class initialises Sensor tracking through the use of DtTrackAcquirer()s and their derived classes, e.g. DtLosTrackAcquirer(). It also creates DtTrackMonitor()s to monitor the tracking of objects that are selected for tracking in the track acquirers. DtSensorResponder::DtSensorResponse structs are filled in this class from the information from both acquirers and track monitors. These structs are passed back to the DtSesnsorResponder through a signal in a thread safe manner. If you wish to use additional sensor types, IR2 for example. It must be added in the Display Settings in the vrvGui, and then added to the Cigi Mappings with a new CIGI sensor ID. This class uses SensorIDs to map and associate information with sensors. SensorIDs are used for sensor tracking, like in this class, and sensor names are used for sensor visualisation (DtCigiViewController).
Definition: DtCigiSensorController.h:45
bool myUseThreadFlag
Determines whether the reading/processing/sending of CIGI messages should be performed in a separate ...
Definition: DtCigiDriver.h:190
static std::string theCigiDriverClassName
Definition: DtCigiDriver.h:125
Creator class for the CIGI driver.
Definition: DtCigiDriver.h:247
vrvSignalsLib::connection myTerrainPatchCreatedConnection
Definition: DtCigiDriver.h:237
FunctionCallQueue myConnectionThreadFunctions
Definition: DtCigiDriver.h:210
vrvSignalsLib::signal< void(DtCigiConnection *)> signal_sessionCreated
This signal is emitted when the CIGI session is created.
Definition: DtCigiDriver.h:96
DtCigiConnectionInitializer * myInitializer
Definition: DtCigiDriver.h:203
DtCigiPositionHandler * myPositionHandler
Processes position requests, has access to DtDe.
Definition: DtCigiDriver.h:228
std::string myFileExtension
Definition: DtCigiDriver.h:266
Contains makVrv::DtLockedBufferedQueue class.
DtCigiViewController * myViewController
Processes CIGI view control/definition messages.
Definition: DtCigiDriver.h:215
DtDe & myDe
Definition: DtCigiDriver.h:207
This class acts on various CIGI messages that change settings in the IG. All of the "perform" methods...
Definition: DtIgSettingsController.h:33
A locked buffered queue which allows multiple writers and a single reader. Internally the queue is st...
Definition: DtLockedBufferedQueue.h:24
DtAsynchronousEventQueue * myAsynchronousEventQueue
Definition: DtCigiDriver.h:205
The DtDriver is an abstract class. Developers derive from this to create logic that "directs" things ...
Definition: DtDriver.h:30
DtCigiConnection * myConnection
The CIGI connection that performs network IO and message processing. This object should be used in a ...
Definition: DtCigiDriver.h:198
DtCigiSensorController * mySensorController
Handles sensor tracking.
Definition: DtCigiDriver.h:218
The DtDriver for CIGI. Provides communication between the IG (DtDe) and the DtCigiConnection which do...
Definition: DtCigiDriver.h:46
Contains makVrv::DtCigiViewController class.
bool myConnectedFlag
Whether we are connected to the network or not.
Definition: DtCigiDriver.h:201
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
DtLockedBufferedQueue< boost::function< void()> > FunctionCallQueue
Typedefs for the function lists.
Definition: DtCigiDriver.h:175
This class is responsible for the actual processing of CIGI data. This holds the entity visualizer...
Definition: DtCigiConnection.h:58
The DtAgentManager manages the distributed scene object framework. This includes the objects and upda...
Definition: DtAgentManager.h:38
Contains makVrv:DtDriver class.
FunctionCallQueue myDriverThreadFunctions
Definition: DtCigiDriver.h:209
vrvSignalsLib::connection myPreTickConnection
Definition: DtCigiDriver.h:236
Base class to provide boost signal/slot management.
vrvSignalsLib::signal< void(DtCigiConnection *)> signal_sessionAboutToBeDestroyed
This signal is emitted when the CIGI session is about to be destroyed.
Definition: DtCigiDriver.h:99
DtSignalConnectionManager myDynamicSignals
Definition: DtCigiDriver.h:212
The base implementation of a configuration.
Definition: DtConfiguration.h:24
The abstract interface necessary for agents.
Definition: DtAgentManagerInterface.h:33
Contains makVrv::DtSharedSettingsManager class.
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:76
#define DT_DLL_VRVCIGI
Definition: vrvCigi.h:19
DtCigiIntersectionHandler * myIntersectionHandler
Processes HAT/HOT/LOS requests.
Definition: DtCigiDriver.h:225
Abstract DtDriver creator.
Definition: DtDriver.h:204
DtIgSettingsController * myComponentController
Processes system/view component controls and other messages that change IG settings.
Definition: DtCigiDriver.h:222
std::vector< boost::function< void()> > FunctionCallList
Definition: DtCigiDriver.h:176