26 #include <matrix/vlVector.h>
27 #include <vlutil/vlPerformanceStats.h>
29 #include <boost/signal.hpp>
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;
76 virtual bool connect();
79 virtual bool disconnect();
85 virtual int cigiMinorVersion()
const;
88 virtual void sendCigiMessages();
91 virtual void setCoordinateSystem(
const std::string& name,
92 const std::string& params);
104 virtual void setLastHostFrameNumber(
unsigned int frameNumber);
107 virtual unsigned int lastHostFrameNumber()
const;
128 inline bool destroyingInstances()
const
130 return myDestroyingInstancesFlag;
134 inline bool useSynchronousMode()
const
136 return myUseSynchronousMode;
141 virtual void registerInstance(
const std::string& instanceName,
145 virtual void setIgMode(DtIgMode mode);
154 virtual void setDatabaseNumber(
int number);
157 virtual int databaseNumber()
const;
161 virtual void setLoadingDatabase();
165 virtual void setDatabaseLoaded();
168 virtual void setExtrapolationEnabled(
bool enabled);
171 virtual bool extrapolationEnabled()
const;
174 virtual void setTimestampValid(
bool valid);
177 virtual bool timestampValid()
const;
180 virtual void setLastTimestamp(
unsigned int timestamp);
183 virtual unsigned int lastTimestamp()
const;
186 virtual void sendHatHotResponse(
double height,
unsigned int hotId,
bool hat,
187 unsigned int lastFrame,
bool valid);
190 virtual void sendLosResponse(
int losId,
int entityId,
bool visible,
double range,
191 int responseCount,
int hostFrame);
197 virtual void sendUserPacket( CigiBasePacket* packet );
206 virtual unsigned int currentIgFrame()
const;
214 virtual CigiIGSession& session();
215 virtual const CigiIGSession& session()
const;
219 bool cigiSessionExists()
const;
222 virtual bool registerUserPacket(CigiBasePacket *packet,
223 unsigned int packetId,
bool hostSend,
bool igSend);
226 virtual bool useThreadFlag()
const;
229 virtual void queueDriverFunction(boost::function<
void ()> func);
234 virtual void queueConnectionFunction(boost::function<
void ()> func);
244 virtual void startOverloadTimer();
247 virtual void stopOverloadTimer();
250 virtual bool overloaded();
254 virtual void setWarnOnOverload(
bool b );
257 virtual bool warnOnOverload()
const;
262 virtual void setDropMessagesOnOverload(
bool b );
265 virtual bool dropMessagesOnOverload()
const;
269 boost::signal<void (DtViewStateProcessor::ObserverAction&)>
276 boost::signal<void (int, DtCigiViewController::DtViewDefinitionAction) >
280 boost::signal<void (int, DtCigiViewController::DtViewControlAction)>
306 void on_viewControlReceived(
const CigiViewCtrlV3& viewControl);