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);
102 virtual bool readyToSendCigiMessages()
const;
129 virtual void sendUserPacket( CigiBasePacket* packet );
132 virtual CigiIGSession& session();
135 virtual const CigiIGSession& session()
const;
139 bool cigiSessionExists()
const;
178 virtual bool registerUserPacket(CigiBasePacket* packet,
179 unsigned int packetId,
bool hostSend,
bool igSend);
182 static bool addSocketCb(DtInetSocket* sock,
void* usr);
185 static bool removeSocketCb(DtInetSocket* sock,
void* usr);
195 virtual void initializeUdpSocket(
const DtInetEndpoint& endpoint,
196 unsigned int listenPort, DtInetDevice* device);
199 virtual void initializeTcpSocket(
const DtInetEndpoint& endpoint,
200 DtInetDevice* device,
int localPort);
203 virtual void addSocket(DtInetTcpSocket* sock);
206 virtual void removeSocket(DtInetTcpSocket* sock);
208 virtual DtInetAddr findFirstNetworkDeviceAddress(
bool& found)
const;
212 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:298
double myTimeSlice
Time alloted to check for packet buffers on the socket.
Definition: DtCigiNetworkIO.h:281
This class initializes the CIGI driver.
Definition: DtCigiConnectionInitializer.h:18
Virtual base class.
Definition: DtVirtualBaseClass.h:19
The end gesture packet class for CIGI V3.x.
Definition: DtCigiDiGuyEndGesture.h:39
This is the original DiGuy control packet for V3.
Definition: DtCigiDiGuyCtrl.h:57
std::vector< DtCollisionResponder::DtCollisionSegmentResponseData * > myCollisionSegmentResponses
The Collision Response queue.
Definition: DtCigiNetworkIO.h:272
CigiIGSession * myCigiIgSession
The CIGI Session.
Definition: DtCigiNetworkIO.h:227
DtInetBuffer myReceiveBuffer
The buffer used to receive CIGI messages.
Definition: DtCigiNetworkIO.h:233
unsigned int myReceiveBufferSize
The size of the buffer used to receive CIGI messages.
Definition: DtCigiNetworkIO.h:236
bool myUseSynchronousMode
Whether we're using synchronous mode or not.
Definition: DtCigiNetworkIO.h:258
DtCigiSignalProcessor * mySignalProcessor
Definition: DtCigiNetworkIO.h:242
makCigiExt::DtCigiDiGuyEndGesture * myDiGuyEndGesturePacket
This points to the sample DtCigiDiGuyEndGesture we create and that CIGI uses to decode these packets...
Definition: DtCigiNetworkIO.h:303
Creator class for the Network IO.
Definition: DtCigiNetworkIO.h:328
Struct for HatHotResponseData.
Definition: DtHatHotResponder.h:70
Contains DLL export macros.
bool myUseTcpServer
Whether we're using TCP server mode.
Definition: DtCigiNetworkIO.h:254
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:99
bool myUseTcpClient
Whether using TCP client mode.
Definition: DtCigiNetworkIO.h:250
std::vector< const DtHatHotResponder::DtHatHotResponseData * > myHatHotBasicResponses
The HAT/HOT Response queue.
Definition: DtCigiNetworkIO.h:261
The end gesture packet class for CIGI V4.
Definition: DtCigiDiGuyEndGestureV4.h:41
The execute gesture packet class for CIGI V.4.
Definition: DtCigiDiGuyExecuteGestureV4.h:48
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:317
DtCigiConnection & myConnection
Definition: DtCigiNetworkIO.h:221
Structure containing the data for the Sensor Response Packet.
Definition: DtSensorResponder.h:87
DtInetEndpoint myDestinationAddress
The address/port of the host.
Definition: DtCigiNetworkIO.h:239
DtInetBufferChain myReceiveBufferChain
The buffer chains used to receive CIGI messages.
Definition: DtCigiNetworkIO.h:230
Struct for Collision Response Data.
Definition: DtCollisionResponder.h:76
std::vector< DtCigiLosExtendedResponse * > myLosExtendedResponses
Definition: DtCigiNetworkIO.h:266
Contains makVrv::DtHatHotResponder class.
std::vector< const DtHatHotResponder::DtHatHotResponseData * > myHatHotExtendedResponses
Definition: DtCigiNetworkIO.h:262
makCigiExt::DtCigiDiGuyCtrlExt * myDiGuyCtrlExtPacket
CIGI V3 Extension Packets.
Definition: DtCigiNetworkIO.h:293
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.
Definition: DtCigiConnection.h:57
std::vector< CigiBasePacket * > myUserPacketsToSend
Definition: DtCigiNetworkIO.h:278
The execute gesture packet class for CIGI V3.x.
Definition: DtCigiDiGuyExecuteGesture.h:44
Contains makVrv::DtPositionResponderclass.
makCigiExt::DtCigiDiGuyCtrlExtV4 * myDiGuyCtrlExtPacketV4
CIGI V4 Extension Packets.
Definition: DtCigiNetworkIO.h:312
std::vector< DtSensorResponder::DtSensorResponseData * > mySensorResponses
The Sensor Response queue.
Definition: DtCigiNetworkIO.h:275
std::vector< DtCigiLosBasicResponse * > myLosBasicResponses
The LOS Response queues.
Definition: DtCigiNetworkIO.h:265
DtInetSocketMgr * mySocketMgr
The socket manager holds the TCP server socket and manages connections in TCP server mode...
Definition: DtCigiNetworkIO.h:246
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
The DiGuy Control (extended) packet class for V4.
Definition: DtCigiDiGuyCtrlExtV4.h:63
makCigiExt::DtCigiDiGuyCtrl * myDiGuyCtrlPacket
Deprecated - This points to the sample DtCigiDiGuyCtrl we create and that CIGI uses to decode these p...
Definition: DtCigiNetworkIO.h:285
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:322
#define DT_DLL_VRVCIGI
Definition: vrvCigi.h:19
The DiGuy Control (extended) packet class for V3.x.
Definition: DtCigiDiGuyCtrlExt.h:62
std::vector< DtPositionResponder::DtPositionResponseData * > myPositionResponses
The Position Response queue.
Definition: DtCigiNetworkIO.h:269
This class performs all of the network I/O for CIGI messages.
Definition: DtCigiNetworkIO.h:76
DtInetSocket * mySocket
The socket. May be a UDP or TCP socket.
Definition: DtCigiNetworkIO.h:224
std::vector< DtSensorResponder::DtSensorResponseData * > mySensorExtendedResponses
Definition: DtCigiNetworkIO.h:276