23 #include <matrix/vlVector.h>
24 #include <vlutil/vlPerformanceStats.h>
27 #include <CigiVersionID.h>
37 class DtCigiConnectionInitializer;
38 class DtCigiNetworkIO;
39 class DtAgentManagerInterface;
40 class DtCigiEntityVisualizer;
41 class DtCoordinateSystem;
42 class DtSharedSettingsManager;
43 class DtVirtualBaseClass;
44 class DtCigiIgControlProcessor;
45 class DtHatHotResponder;
47 class DtSensorResponder;
48 class DtCigiLosBasicResponse;
49 class DtCigiLosExtendedResponse;
50 class DtCigiViewManager;
51 class DtRenderSideCigiFrameAgent;
77 virtual bool tick(
double elapsedTime );
80 virtual bool connect();
83 virtual bool disconnect();
91 virtual void restart();
102 virtual void sendCigiMessages();
129 virtual const DtRenderSideCigiFrameAgent& renderSideCigiFrameAgent()
const;
131 virtual DtRenderSideCigiFrameAgent& renderSideCigiFrameAgent();
138 virtual void setLastHostFrameNumber(
unsigned int frameNumber);
141 virtual unsigned int lastHostFrameNumber()
const;
146 return myUseSynchronousMode;
150 virtual void setIgMode(DtIgMode
mode);
159 virtual void setDatabaseNumber(
int number);
162 virtual int databaseNumber()
const;
166 virtual void setLoadingDatabase();
170 virtual void setDatabaseLoaded();
173 virtual void setExtrapolationEnabled(
bool enabled);
176 virtual bool extrapolationEnabled()
const;
179 virtual void setTimestampValid(
bool valid);
182 virtual bool timestampValid()
const;
185 virtual void setLastTimestamp(
unsigned int timestamp);
188 virtual unsigned int lastTimestamp()
const;
212 virtual void sendUserPacket( CigiBasePacket* packet );
245 virtual unsigned int currentIgFrame()
const;
251 virtual CigiIGSession& session();
254 virtual const CigiIGSession& session()
const;
258 bool cigiSessionExists()
const;
261 virtual bool registerUserPacket(CigiBasePacket *packet,
262 unsigned int packetId,
bool hostSend,
bool igSend);
265 virtual bool useThreadFlag()
const;
268 virtual void queueDriverFunction(boost::function<
void ()> func);
273 virtual void queueConnectionFunction(boost::function<
void ()> func);
287 virtual void startOverloadTimer();
290 virtual void stopOverloadTimer();
293 virtual bool overloaded();
297 virtual void setWarnOnOverload(
bool b );
300 virtual bool warnOnOverload()
const;
305 virtual void setDropMessagesOnOverload(
bool b );
308 virtual bool dropMessagesOnOverload()
const;
312 virtual double hostFrequency()
const;
313 virtual void setHostFrequency(
double freq );
317 boost::signalslib::signal<void (DtViewStateProcessor::ObserverAction&)>
348 virtual const CigiVersionID getCigiVersion()
const;
354 virtual const bool connectionObjectId()
const;
358 virtual void getConnectionObjectIDFromString(
unsigned int& connectionID, std::string connectionObjectIDString);
DT_DLL_EXAMPLESCENEROOTPLUGIN void init(DtDe &anIG)
DtCigiDriver & myCigiDriver
Definition: DtCigiConnection.h:378
This class initializes the CIGI driver.
Definition: DtCigiConnectionInitializer.h:18
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
This class is responsible for processing various CIGI messages that pertain to CIGI entities and sett...
Definition: DtCigiEntityVisualizer.h:71
boost::signalslib::signal< void(const std::string &)> signal_loadDatabase
Emitted when the host tells the IG to load a database.
Definition: DtCigiConnection.h:331
A DtHatHotResponder receives HAT/HOT requests from CIGI and either initiates an immediate request or ...
Definition: DtHatHotResponder.h:38
double myHostFrequency
Definition: DtCigiConnection.h:396
bool myDropMessagesOnOverload
Definition: DtCigiConnection.h:412
bool myDatabaseLoading
Definition: DtCigiConnection.h:404
DtIgMode myMode
Definition: DtCigiConnection.h:402
unsigned int myLastHostFrameNumber
Definition: DtCigiConnection.h:399
This class is responsible for processing CIGI messages that 'control' settings in the IG...
Definition: DtCigiIgControlProcessor.h:41
Contains makVrv::DtComponentSignaler class.
unsigned int myLastProcessedHostFrameNumber
Definition: DtCigiConnection.h:400
DtLosResponder * myLosResponder
Definition: DtCigiConnection.h:386
A DtComponentSignaler holds various signals that can be caught by the DtCigiDriver so that it can cha...
Definition: DtComponentSignaler.h:26
The shared settings manager, is the global object responsible for managing any shared settings object...
Definition: DtSharedSettingsManager.h:42
unsigned int myLastTimestamp
Definition: DtCigiConnection.h:407
Struct for HatHotResponseData. Unused in this class, used by intersection handler and the networkIO...
Definition: DtHatHotResponder.h:73
CigiVersionID myCigiVersion
Definition: DtCigiConnection.h:415
boost::signalslib::signal< void(bool)> signal_deadReckoningAllowedChanged
Emitted when CIGI extrapolation is enabled.
Definition: DtCigiConnection.h:340
A DtCigiIntersectionHandler processes CIGI LOS Requests and packages the results into instances of th...
Definition: DtCigiLosExtendedResponse.h:29
Struct for all Position response data In degrees.
Definition: DtPositionResponder.h:101
This class holds the CIGI settings used by the DtCigiConnection object. A named settings object is he...
Definition: DtCigiConnSettingsHandler.h:31
boost::signalslib::signal< void(int, DtUniqueID)> signal_alphaChanged
Emitted when an entity's alpha has changed.
Definition: DtCigiConnection.h:321
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:35
boost::signalslib::signal< void(DtViewStateProcessor::ObserverAction &)> signal_viewChanged
Emitted when a view control change is received.
Definition: DtCigiConnection.h:318
int myDatabaseNumber
Definition: DtCigiConnection.h:403
Contains makVrv::DtCollisionResponder & creator class.
DtIgMode
Definition: DtCigiConnection.h:61
bool myUseSynchronousMode
Definition: DtCigiConnection.h:395
Contains makVrv::DtVirtualBaseClass class.
A DtPositionResponder processes CIGI Position request messages This class catches signals from the Dt...
Definition: DtPositionResponder.h:50
bool myExtrapolationEnabled
Definition: DtCigiConnection.h:405
Structure containing the data for the Sensor Response Packet.
Definition: DtSensorResponder.h:89
DtSensorResponder * mySensorResponder
Definition: DtCigiConnection.h:389
DtPositionResponder * myPositionResponder
Definition: DtCigiConnection.h:387
boost::signalslib::signal< void()> signal_connected
Emitted when the connection finished connecting.
Definition: DtCigiConnection.h:334
bool useSynchronousMode() const
Get whether the connection is using synchronous communications.
Definition: DtCigiConnection.h:144
The DtDriver for CIGI. Provides communication between the IG (DtDe) and the DtCigiConnection which do...
Definition: DtCigiDriver.h:46
Struct for Collision Response Data.
Definition: DtCollisionResponder.h:78
DtCigiEntityVisualizer * myEntityManager
Definition: DtCigiConnection.h:380
Contains makVrv::DtCigiViewController class.
Creator class for the DtCigiConnection.
Definition: DtCigiConnection.h:420
double myFrameTimeSoFar
Definition: DtCigiConnection.h:410
boost::signalslib::signal< void(int entityId)> signal_entityToBeDeleted
Emitted when this entity is about to be deleted. This is here rather than the entity visualiser as it...
Definition: DtCigiConnection.h:345
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Contains makVrv::DtHatHotResponder class.
DtCigiConnSettingsHandler mySettingsHandler
Definition: DtCigiConnection.h:394
DtComponentSignaler myComponentSignaler
Definition: DtCigiConnection.h:393
DtCigiConnectionInitializer myInitializer
Definition: DtCigiConnection.h:381
boost::signalslib::signal< void()> signal_toBeDisconnected
Emitted when the connection will be disconnecting.
Definition: DtCigiConnection.h:337
A DtCigiIntersectionHandler processes CIGI LOS Requests and packages the results into instances of th...
Definition: DtCigiLosBasicResponse.h:27
This class is responsible for the actual processing of CIGI data. This holds the entity visualizer...
Definition: DtCigiConnection.h:58
DtCigiViewManager * myViewManager
Definition: DtCigiConnection.h:383
This class catches Sesnor Control signals from the Cigi Signal handler, and processes them into V3 an...
Definition: DtSensorResponder.h:38
This class handles the processing of Collision Segment Defintion packets It catches signals from DtCi...
Definition: DtCollisionResponder.h:56
DtIgMode igMode() const
Gets the IG mode.
Definition: DtCigiConnection.h:153
Contains makVrv:DtBaseConnection class.
bool myWarnOnOverload
Definition: DtCigiConnection.h:411
Contains the declaration for makVrv::DtCigiConnSettingsHandler.
DtCigiNetworkIO * myNetworkIO
Definition: DtCigiConnection.h:379
boost::signalslib::signal< void(bool)> signal_ephemerisEnableSet
Emitted when the ephemeris model is enabled / disabled via CIGI Celestial Sphere Control message...
Definition: DtCigiConnection.h:328
unsigned int myIgFrame
Definition: DtCigiConnection.h:398
Contains makVrv::DtPositionResponderclass.
const char int mode
Definition: ioapi.h:38
DtCigiIgControlProcessor * myIgController
Definition: DtCigiConnection.h:382
boost::signalslib::signal< void(int, int, int, int, int)> signal_timeSet
Emitted when the time is set via CIGI Celestial Sphere Control message.
Definition: DtCigiConnection.h:324
The abstract interface necessary for agents.
Definition: DtAgentManagerInterface.h:33
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:43
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
bool myResetCigiConnection
Definition: DtCigiConnection.h:413
DtRenderSideCigiFrameAgent * myRenderSideCigiFrameAgent
Definition: DtCigiConnection.h:391
std::map< std::string, DtVirtualBaseClass * > InstanceMap
Definition: DtCigiConnection.h:376
bool myTimestampValid
Definition: DtCigiConnection.h:406
#define DT_DLL_VRVCIGI
Definition: vrvCigi.h:19
Record of miscellaneous CIGI settings.
Definition: DtCigiSettingsRecord.h:28
This class manages mapping between CIGI views and VRV observers / channels.
Definition: DtCigiViewManager.h:36
DtTimedSection myOverloadTimer
Definition: DtCigiConnection.h:409
This class performs all of the network I/O for CIGI messages. This includes setting up the CIGI sessi...
Definition: DtCigiNetworkIO.h:76
DtSignalConnectionManager mySignals
Definition: DtCigiConnection.h:401
DtHatHotResponder * myHatHotResponder
Definition: DtCigiConnection.h:385
DtCollisionResponder * myCollisionResponder
Definition: DtCigiConnection.h:388