21 #include <vlutil/vlInetSocket.h>
23 #include "CigiTypes.h"
24 #include <CigiVersionID.h>
26 class CigiHatHotRespV3_2;
27 class CigiHatHotRespV4;
28 class CigiLosRespV3_2;
30 class CigiLosXRespV3_2;
32 class CigiPositionRespV3;
33 class CigiPositionRespV4;
34 class CigiCollDetSegRespV3;
35 class CigiCollDetSegRespV4;
36 class CigiHatHotRespV3_2;
37 class CigiHatHotRespV4;
38 class CigiHatHotXRespV3_2;
39 class CigiHatHotXRespV4;
40 class CigiSensorRespV3;
41 class CigiSensorRespV4;
42 class CigiSensorXRespV3;
43 class CigiSensorXRespV4;
46 class DtInetSocketMgr;
47 class DtInetTcpSocket;
54 class DtCigiDiGuyCtrl;
55 class DtCigiDiGuyCtrlExt;
56 class DtCigiDiGuyExecuteGesture;
57 class DtCigiDiGuyEndGesture;
58 class DtCigiDiGuyCtrlExtV4;
59 class DtCigiDiGuyExecuteGestureV4;
60 class DtCigiDiGuyEndGestureV4;
65 class DtCigiConnectionInitializer;
66 class DtCigiSignalProcessor;
67 class DtCigiConnection;
68 class DtCigiLosBasicResponse;
69 class DtCigiLosExtendedResponse;
86 virtual bool receiveCigiMessages();
96 virtual bool sendCigiMessages(
unsigned int frameNumber,
unsigned int lastHostFrameNumber,
97 int igMode,
int databaseNumber);
124 virtual void sendUserPacket( CigiBasePacket* packet );
127 virtual CigiIGSession& session();
130 virtual const CigiIGSession& session()
const;
134 bool cigiSessionExists()
const;
173 virtual bool registerUserPacket(CigiBasePacket* packet,
174 unsigned int packetId,
bool hostSend,
bool igSend);
177 static bool addSocketCb(DtInetSocket* sock,
void* usr);
180 static bool removeSocketCb(DtInetSocket* sock,
void* usr);
190 virtual void initializeUdpSocket(
const DtInetEndpoint& endpoint,
191 unsigned int listenPort, DtInetDevice* device);
194 virtual void initializeTcpSocket(
const DtInetEndpoint& endpoint,
195 DtInetDevice* device,
int localPort);
198 virtual void addSocket(DtInetTcpSocket* sock);
201 virtual void removeSocket(DtInetTcpSocket* sock);
203 virtual DtInetAddr findFirstNetworkDeviceAddress(
bool& found)
const;
207 CigiBaseIGCtrl* igControlPacket( Cigi_uint8* Dta );
Contains makVrv::DtSensorResponder class.
makCigiExt::DtCigiDiGuyExecuteGesture * myDiGuyExecuteGesturePacket
This points to the sample DtCigiDiGuyExecuteGesture we create and that CIGI uses to decode these pack...
Definition: DtCigiNetworkIO.h:296
double myTimeSlice
Time alloted to check for packet buffers on the socket.
Definition: DtCigiNetworkIO.h:279
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
The end gesture packet class for CIGI V3.x.
Definition: DtCigiDiGuyEndGesture.h:35
This is the original DiGuy control packet for V3. It is maintained for backward compatibility, but is deprecated. New users should use DtCigiDiGuyCtrlExt for V3.x and DtCigiDiGuyCtrlExtV4 for V4.
Definition: DtCigiDiGuyCtrl.h:53
std::vector< DtCollisionResponder::DtCollisionSegmentResponseData * > myCollisionSegmentResponses
The Collision Response queue.
Definition: DtCigiNetworkIO.h:269
CigiIGSession * myCigiIgSession
The CIGI Session.
Definition: DtCigiNetworkIO.h:222
DtInetBuffer myReceiveBuffer
The buffer used to receive CIGI messages.
Definition: DtCigiNetworkIO.h:228
unsigned int myReceiveBufferSize
The size of the buffer used to receive CIGI messages.
Definition: DtCigiNetworkIO.h:231
bool myUseSynchronousMode
Whether we're using synchronous mode or not. Start of frame CIGI messages will only be sent in synchr...
Definition: DtCigiNetworkIO.h:253
DtCigiSignalProcessor * mySignalProcessor
Definition: DtCigiNetworkIO.h:237
makCigiExt::DtCigiDiGuyEndGesture * myDiGuyEndGesturePacket
This points to the sample DtCigiDiGuyEndGesture we create and that CIGI uses to decode these packets...
Definition: DtCigiNetworkIO.h:301
Creator class for the Network IO.
Definition: DtCigiNetworkIO.h:326
Struct for HatHotResponseData. Unused in this class, used by intersection handler and the networkIO...
Definition: DtHatHotResponder.h:73
Contains DLL export macros.
bool myUseTcpServer
Whether we're using TCP server mode. If this and myUseTcpClient are false, UDP is being used...
Definition: DtCigiNetworkIO.h:249
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
bool myUseTcpClient
Whether using TCP client mode. If this and myUseTcpServer are false, UDP is being used...
Definition: DtCigiNetworkIO.h:245
std::vector< const DtHatHotResponder::DtHatHotResponseData * > myHatHotBasicResponses
Queues to send to the host.The HAT/HOT Response queue.
Definition: DtCigiNetworkIO.h:258
The end gesture packet class for CIGI V4.
Definition: DtCigiDiGuyEndGestureV4.h:37
The execute gesture packet class for CIGI V.4.
Definition: DtCigiDiGuyExecuteGestureV4.h:44
Contains makVrv::DtCollisionResponder & creator class.
Contains makVrv::DtVirtualBaseClass class.
makCigiExt::DtCigiDiGuyExecuteGestureV4 * myDiGuyExecuteGesturePacketV4
This points to the sample DtCigiDiGuyExecuteGestureV4 we create and that CIGI uses to decode these pa...
Definition: DtCigiNetworkIO.h:315
DtCigiConnection & myConnection
Definition: DtCigiNetworkIO.h:216
Structure containing the data for the Sensor Response Packet.
Definition: DtSensorResponder.h:89
DtInetEndpoint myDestinationAddress
The address/port of the host.
Definition: DtCigiNetworkIO.h:234
DtInetBufferChain myReceiveBufferChain
The buffer chains used to receive CIGI messages.
Definition: DtCigiNetworkIO.h:225
Struct for Collision Response Data.
Definition: DtCollisionResponder.h:78
std::vector< DtCigiLosExtendedResponse * > myLosExtendedResponses
Queues to send to the host.The HAT/HOT Response queue.
Definition: DtCigiNetworkIO.h:263
Contains makVrv::DtHatHotResponder class.
std::vector< const DtHatHotResponder::DtHatHotResponseData * > myHatHotExtendedResponses
Queues to send to the host.The HAT/HOT Response queue.
Definition: DtCigiNetworkIO.h:259
makCigiExt::DtCigiDiGuyCtrlExt * myDiGuyCtrlExtPacket
CIGI V3 Extension Packets.
Definition: DtCigiNetworkIO.h:291
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:57
std::vector< CigiBasePacket * > myUserPacketsToSend
Queues to send to the host.The HAT/HOT Response queue.
Definition: DtCigiNetworkIO.h:275
The execute gesture packet class for CIGI V3.x.
Definition: DtCigiDiGuyExecuteGesture.h:40
Contains makVrv::DtPositionResponderclass.
makCigiExt::DtCigiDiGuyCtrlExtV4 * myDiGuyCtrlExtPacketV4
CIGI V4 Extension Packets.
Definition: DtCigiNetworkIO.h:310
std::vector< DtSensorResponder::DtSensorResponseData * > mySensorResponses
The Sensor Response queue.
Definition: DtCigiNetworkIO.h:272
std::vector< DtCigiLosBasicResponse * > myLosBasicResponses
The LOS Response queues.
Definition: DtCigiNetworkIO.h:262
DtInetSocketMgr * mySocketMgr
The socket manager holds the TCP server socket and manages connections in TCP server mode...
Definition: DtCigiNetworkIO.h:241
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:72
The DiGuy Control (extended) packet class for V4.
Definition: DtCigiDiGuyCtrlExtV4.h:59
makCigiExt::DtCigiDiGuyCtrl * myDiGuyCtrlPacket
Deprecated - This points to the sample DtCigiDiGuyCtrl we create and that CIGI uses to decode these p...
Definition: DtCigiNetworkIO.h:283
This class receives CIGI messages and sends signals that the driver can hook up to for processing...
Definition: DtCigiSignalProcessor.h:81
makCigiExt::DtCigiDiGuyEndGestureV4 * myDiGuyEndGesturePacketV4
This points to the sample DtCigiDiGuyEndGestureV4 we create and that CIGI uses to decode these packet...
Definition: DtCigiNetworkIO.h:320
#define DT_DLL_VRVCIGI
Definition: vrvCigi.h:19
The DiGuy Control (extended) packet class for V3.x.
Definition: DtCigiDiGuyCtrlExt.h:58
std::vector< DtPositionResponder::DtPositionResponseData * > myPositionResponses
The Position Response queue.
Definition: DtCigiNetworkIO.h:266
This class performs all of the network I/O for CIGI messages. This includes setting up the CIGI sessi...
Definition: DtCigiNetworkIO.h:76
DtInetSocket * mySocket
The socket. May be a UDP or TCP socket.
Definition: DtCigiNetworkIO.h:219
std::vector< DtSensorResponder::DtSensorResponseData * > mySensorExtendedResponses
Queues to send to the host.The HAT/HOT Response queue.
Definition: DtCigiNetworkIO.h:273