20 #include <vlutil/vlInetSocket.h>
22 #include "CigiTypes.h"
23 #include <CigiVersionID.h>
25 class CigiHatHotRespV3_2;
26 class CigiHatHotRespV4;
27 class CigiLosRespV3_2;
29 class CigiLosXRespV3_2;
31 class CigiPositionRespV3;
32 class CigiPositionRespV4;
33 class CigiCollDetSegRespV3;
34 class CigiCollDetSegRespV4;
35 class CigiHatHotRespV3_2;
36 class CigiHatHotRespV4;
37 class CigiHatHotXRespV3_2;
38 class CigiHatHotXRespV4;
41 class DtInetSocketMgr;
42 class DtInetTcpSocket;
49 class DtCigiDiGuyCtrl;
50 class DtCigiDiGuyCtrlExt;
51 class DtCigiDiGuyExecuteGesture;
52 class DtCigiDiGuyEndGesture;
53 class DtCigiDiGuyCtrlExtV4;
54 class DtCigiDiGuyExecuteGestureV4;
55 class DtCigiDiGuyEndGestureV4;
60 class DtCigiConnectionInitializer;
61 class DtCigiSignalProcessor;
62 class DtCigiConnection;
63 class DtCigiLosBasicResponse;
64 class DtCigiLosExtendedResponse;
81 virtual bool receiveCigiMessages();
91 virtual bool sendCigiMessages(
unsigned int frameNumber,
unsigned int lastHostFrameNumber,
92 int igMode,
int databaseNumber);
95 virtual void getCigiVersionFromPacket();
100 virtual bool readyToSendCigiMessages()
const;
124 virtual void sendUserPacket( CigiBasePacket* packet );
127 virtual CigiIGSession& session();
130 virtual const CigiIGSession& session()
const;
134 bool cigiSessionExists()
const;
165 virtual bool registerUserPacket(CigiBasePacket* packet,
166 unsigned int packetId,
bool hostSend,
bool igSend);
169 static bool addSocketCb(DtInetSocket* sock,
void* usr);
172 static bool removeSocketCb(DtInetSocket* sock,
void* usr);
182 virtual void initializeUdpSocket(
const DtInetEndpoint& endpoint,
183 unsigned int listenPort, DtInetDevice* device);
186 virtual void initializeTcpSocket(
const DtInetEndpoint& endpoint,
187 DtInetDevice* device,
int localPort);
190 virtual void addSocket(DtInetTcpSocket* sock);
193 virtual void removeSocket(DtInetTcpSocket* sock);
195 virtual DtInetAddr findFirstNetworkDeviceAddress(
bool& found)
const;
199 CigiBaseIGCtrl* igControlPacket( Cigi_uint8* Dta );
makCigiExt::DtCigiDiGuyExecuteGesture * myDiGuyExecuteGesturePacket
This points to the sample DtCigiDiGuyExecuteGesture we create and that CIGI uses to decode these pack...
Definition: DtCigiNetworkIO.h:287
double myTimeSlice
Time alloted to check for packet buffers on the socket.
Definition: DtCigiNetworkIO.h:270
This class initializes the CIGI driver.
Definition: DtCigiConnectionInitializer.h:18
Virtual base class.
Definition: DtVirtualBaseClass.h:22
The base class for all packets.
Definition: DtCigiDiGuyEndGesture.h:39
The base class for all packets.
Definition: DtCigiDiGuyCtrl.h:54
std::vector< DtCollisionResponder::DtCollisionSegmentResponseData * > myCollisionSegmentResponses
The Collision Response queue.
Definition: DtCigiNetworkIO.h:265
CigiIGSession * myCigiIgSession
The CIGI Session.
Definition: DtCigiNetworkIO.h:214
DtInetBuffer myReceiveBuffer
The buffer used to receive CIGI messages.
Definition: DtCigiNetworkIO.h:220
unsigned int myReceiveBufferSize
The size of the buffer used to receive CIGI messages.
Definition: DtCigiNetworkIO.h:223
bool myUseSynchronousMode
Whether we're using synchronous mode or not.
Definition: DtCigiNetworkIO.h:245
DtCigiSignalProcessor * mySignalProcessor
Definition: DtCigiNetworkIO.h:229
makCigiExt::DtCigiDiGuyEndGesture * myDiGuyEndGesturePacket
This points to the sample DtCigiDiGuyEndGesture we create and that CIGI uses to decode these packets...
Definition: DtCigiNetworkIO.h:292
Creator class for the Network IO.
Definition: DtCigiNetworkIO.h:317
Struct for HatHotResponseData.
Definition: DtHatHotResponder.h:70
Contains DLL export macros.
bool myUseTcpServer
Whether we're using TCP server mode.
Definition: DtCigiNetworkIO.h:241
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 myCigiVersionSet
Whether we have already set the CigiVersion for this session.
Definition: DtCigiNetworkIO.h:251
bool myUseTcpClient
Whether using TCP client mode.
Definition: DtCigiNetworkIO.h:237
std::vector< const DtHatHotResponder::DtHatHotResponseData * > myHatHotBasicResponses
The HAT/HOT Response queue.
Definition: DtCigiNetworkIO.h:254
The base class for all packets.
Definition: DtCigiDiGuyEndGestureV4.h:41
The base class for all packets.
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:306
DtCigiConnection & myConnection
Definition: DtCigiNetworkIO.h:208
DtInetEndpoint myDestinationAddress
The address/port of the host.
Definition: DtCigiNetworkIO.h:226
DtInetBufferChain myReceiveBufferChain
The buffer chains used to receive CIGI messages.
Definition: DtCigiNetworkIO.h:217
Struct for Collision Response Data.
Definition: DtCollisionResponder.h:76
std::vector< DtCigiLosExtendedResponse * > myLosExtendedResponses
Definition: DtCigiNetworkIO.h:259
Contains makVrv::DtHatHotResponder class.
std::vector< const DtHatHotResponder::DtHatHotResponseData * > myHatHotExtendedResponses
Definition: DtCigiNetworkIO.h:255
makCigiExt::DtCigiDiGuyCtrlExt * myDiGuyCtrlExtPacket
CIGI V3 Extension Packets.
Definition: DtCigiNetworkIO.h:282
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:56
std::vector< CigiBasePacket * > myUserPacketsToSend
Definition: DtCigiNetworkIO.h:267
CigiVersionID myCigiVersion
CigiVersion read and set from first packet.
Definition: DtCigiNetworkIO.h:248
The base class for all packets.
Definition: DtCigiDiGuyExecuteGesture.h:44
Contains makVrv::DtPositionResponderclass.
makCigiExt::DtCigiDiGuyCtrlExtV4 * myDiGuyCtrlExtPacketV4
CIGI V4 Extension Packets.
Definition: DtCigiNetworkIO.h:301
std::vector< DtCigiLosBasicResponse * > myLosBasicResponses
The LOS Response queues.
Definition: DtCigiNetworkIO.h:258
DtInetSocketMgr * mySocketMgr
The socket manager holds the TCP server socket and manages connections in TCP server mode...
Definition: DtCigiNetworkIO.h:233
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
The base class for all packets.
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:274
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:311
#define DT_DLL_VRVCIGI
Definition: vrvCigi.h:19
The base class for all packets.
Definition: DtCigiDiGuyCtrlExt.h:62
std::vector< DtPositionResponder::DtPositionResponseData * > myPositionResponses
The Position Response queue.
Definition: DtCigiNetworkIO.h:262
This class performs all of the network I/O for CIGI messages.
Definition: DtCigiNetworkIO.h:71
DtInetSocket * mySocket
The socket. May be a UDP or TCP socket.
Definition: DtCigiNetworkIO.h:211