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;
84 virtual bool useThreadFlag()
const;
87 virtual void queueDriverFunction(boost::function<
void ()> func);
90 virtual void queueConnectionFunction(boost::function<
void ()> func);
92 void reportSmoothingEnabledChanged(
bool enabled );
127 virtual bool onStart();
130 virtual bool onStop();
134 virtual bool onTick();
137 virtual void startThread();
140 virtual void stopThread();
143 virtual void setConnectionState(
bool connected);
148 virtual void slot_onLoadDatabase(
const std::string&
filename);
154 virtual void performLoadDatabase(
const std::string&
filename);
161 virtual void slot_terrainPatchCreated();
164 virtual void slot_firstTickAfterTerrainPatchCreated();
168 virtual void slot_onCoordinateSystemChanged(
169 const std::string& name,
170 const std::string& params);
183 virtual void slot_displayEngineAdded(
const DtDeRecord& igRecord );
270 virtual const std::string& extension()
const;
274 const std::string& instanceName)
const;
DtPositionResponder * myPositionResponder
Position responder.
Definition: DtCigiDriver.h:202
DtThread * myThread
The (possible) other thread that performs CIGI operations.
Definition: DtCigiDriver.h:191
boost::signalslib::signal< void(DtCigiConnection *)> signal_sessionCreated
This signal is emitted when the CIGI session is created.
Definition: DtCigiDriver.h:95
This class initializes the CIGI driver.
Definition: DtCigiConnectionInitializer.h:18
DtCigiSymbolHandler * mySymbolHandler
Processes CIGI Symbols, has access to DtDe.
Definition: DtCigiDriver.h:245
boost::signalslib::signal< void(DtCigiConnection *)> signal_sessionAboutToBeDestroyed
This signal is emitted when the CIGI session is about to be destroyed.
Definition: DtCigiDriver.h:98
double myNextFrameTime
When we should next process CIGI messages.
Definition: DtCigiDriver.h:248
This class handles all the processing of CIGI Symbol Messages.
Definition: DtCigiSymbolHandler.h:52
An asynchronous interface to the scene manager.
Definition: DtAsynchronousAgentManager.h:24
DtAsynchronousAgentManager * myAsynchronousInterface
Definition: DtCigiDriver.h:220
This class handles all of the intersection processing for HAT/HOT, LOS , and Collision segment reques...
Definition: DtCigiIntersectionHandler.h:39
const DtCigiConnectionInitializer & connectionSettings() const
Returns the CIGI connection settings.
Definition: DtCigiDriver.h:251
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:39
This class listens to signal_sensorControlRequest from the DtCigiSensorResponder, which processes CIG...
Definition: DtCigiSensorController.h:45
bool myUseThreadFlag
Determines whether the reading/processing/sending of CIGI messages should be performed in a separate ...
Definition: DtCigiDriver.h:188
static std::string theCigiDriverClassName
Definition: DtCigiDriver.h:123
Creator class for the CIGI driver.
Definition: DtCigiDriver.h:258
FunctionCallQueue myConnectionThreadFunctions
Definition: DtCigiDriver.h:224
DtLosResponder * myLosResponder
The line-of-sight responder held by the connection.
Definition: DtCigiDriver.h:199
DtCigiConnectionInitializer * myInitializer
Definition: DtCigiDriver.h:217
DtSensorResponder * mySensorResponder
Sensor Control Responder.
Definition: DtCigiDriver.h:208
DtCigiPositionHandler * myPositionHandler
Processes position requests, has access to DtDe.
Definition: DtCigiDriver.h:242
std::string myFileExtension
Definition: DtCigiDriver.h:277
Contains makVrv::DtLockedBufferedQueue class.
DtCigiViewController * myViewController
Processes CIGI view control/definition messages.
Definition: DtCigiDriver.h:229
DtDe & myDe
Definition: DtCigiDriver.h:221
This class acts on various CIGI messages that change settings in the IG.
Definition: DtIgSettingsController.h:33
A locked buffered queue which allows multiple writers and a single reader.
Definition: DtLockedBufferedQueue.h:24
DtAsynchronousEventQueue * myAsynchronousEventQueue
Definition: DtCigiDriver.h:219
The DtDriver is an abstract class.
Definition: DtDriver.h:31
A DtPositionResponder processes CIGI Position request messages This class catches signals from the Dt...
Definition: DtPositionResponder.h:48
DtCigiConnection * myConnection
The CIGI connection that performs network IO and message processing.
Definition: DtCigiDriver.h:196
DtCigiSensorController * mySensorController
Handles sensor tracking.
Definition: DtCigiDriver.h:232
The DtDriver for CIGI.
Definition: DtCigiDriver.h:46
Contains makVrv::DtCigiViewController class.
bool myConnectedFlag
Whether we are connected to the network or not.
Definition: DtCigiDriver.h:215
The asynchronous event queue.
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:173
This class is responsible for the actual processing of CIGI data.
Definition: DtCigiConnection.h:57
The DtAgentManager manages the distributed scene object framework.
Definition: DtAgentManager.h:38
Contains makVrv:DtDriver class.
This class catches Sesnor Control signals from the Cigi Signal handler, and processes them into V3 an...
Definition: DtSensorResponder.h:36
FunctionCallQueue myDriverThreadFunctions
Definition: DtCigiDriver.h:223
This class handles the processing of Collision Segment Defintion packets It catches signals from DtCi...
Definition: DtCollisionResponder.h:54
Base class to provide boost signal/slot management.
DtCollisionResponder * myCollisionResponder
Collision Segment Responder.
Definition: DtCigiDriver.h:205
DtSignalConnectionManager myDynamicSignals
Definition: DtCigiDriver.h:226
The base implementation of a configuration.
Definition: DtConfiguration.h:24
The abstract interface necessary for agents.
Definition: DtAgentManagerInterface.h:33
Contains makVrv::DtSharedSettingsManager class.
A DtLosResponder processes CIGI LOS Segment Request and LOS Vector Request messages, and either immediately signals the DtCigiIntersectionHandler of a request or adds a periodic request to its queue.
Definition: DtLosResponder.h:41
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
#define DT_DLL_VRVCIGI
Definition: vrvCigi.h:19
DtCigiIntersectionHandler * myIntersectionHandler
Processes HAT/HOT/LOS requests.
Definition: DtCigiDriver.h:239
Abstract DtDriver creator.
Definition: DtDriver.h:201
DtCigiViewManager * myViewManager
Cigi View Manager.
Definition: DtCigiDriver.h:211
This class manages mapping between CIGI views and VRV observers / channels.
Definition: DtCigiViewManager.h:36
DtIgSettingsController * myComponentController
Processes system/view component controls and other messages that change IG settings.
Definition: DtCigiDriver.h:236
std::vector< boost::function< void()> > FunctionCallList
Definition: DtCigiDriver.h:174