15 #include <vl/entityPublisher.h>
17 #include <boost/unordered_map.hpp>
18 #include <boost/function.hpp>
22 class DtStealthControlPdu;
24 #ifndef DT_PROTOCOL_NAMESPACE
25 #error Namespace Protocol Macro DT_PROTOCOL_NAMESPACE not defined.
29 #include <vl/geodeticRegion.h>
63 virtual bool connect();
66 virtual bool connected()
const;
72 virtual bool disconnect();
75 virtual void tick(
double dt);
78 virtual double simTime()
const;
81 virtual void setSimTime(
double simTime);
84 virtual double clockTime()
const;
87 virtual DtTimeStampType timeStampType()
const;
91 virtual void setViewControlChanged(
bool enabled );
95 virtual void setUseTopoForFlatEarthVectorConversion(
bool enabled );
99 virtual void setConnectionFrameTime(
double frameTime );
103 virtual double connectionFrameTime()
const;
106 virtual void observerUpdated(
const std::string& name,
107 double x,
double y,
double z,
108 double psi,
double theta,
double phi);
110 virtual void observerUpdated(
const std::string& observerName,
111 double x,
double y,
double z,
112 double psi,
double theta,
double phi,
113 double dx,
double dy,
double dz,
114 double dpsi,
double dtheta,
double dphi);
117 virtual void stopPublishingObserver(
const std::string& observerName);
120 virtual void startPublishingObserver(
const std::string& observerName);
123 virtual void queueDriverFunction(boost::function<
void()> func);
128 virtual void queueConnectionFunction(boost::function<
void()> func);
138 return myExerciseConnection;
142 virtual const std::string&
tag()
145 const static std::string str(
"DIS");
146 #elif DtHLA_1516_EVOLVED
147 const static std::string str(
"HLA1516e");
149 const static std::string str(
"HLA1516");
151 const static std::string str(
"HLA13");
153 const static std::string str(
"");
165 virtual void addDdmRegionForObserver(
const std::string& observerName);
167 virtual void removeDdmRegionForObserver(
const std::string& observerName);
170 virtual void setDdmRegionSize(
int sizeInMeters);
172 virtual void setRegionUpdateThreshold(
int percentage);
174 virtual void setUseAltitudeThreshold(
bool yesNo);
176 virtual void setAltitudeThreshold(
int meters);
178 virtual void updateDdmRegion(
const std::string& observerName,
181 virtual void setRegionOutOfBounds(DtDDMRegionSP region);
190 bool entityIsPublished(
const DtEntityIdentifier&
id)
const;
193 virtual bool timeoutProcessing()
const;
196 virtual void setTimeoutProcessing(
bool enabled);
199 virtual double timeoutInterval()
const;
202 virtual void setTimeoutInterval(
double interval);
207 void setSupportsDelayedVisualizerCreation(
bool);
208 bool supportsDelayedVisualizerCreation()
const;
225 void addObserverPublisher(
const std::string& observerName);
229 typedef boost::unordered_map<std::string, DtEntityPublisher*>
241 bool initializeDdm();
Creator for DtEntityAppearanceMapperFactory class.
Definition: DtEntityAppearanceMapperFactory.h:82
The base class for protocol specific VRLink Simulations.
Definition: DtConnection.h:43
The base class for VR-Link based drivers.
Definition: DtVrlinkDriver.h:40
bool myTimeoutProcessing
Definition: DtVrlinkConnection.h:261
bool mySupportsDelayedVisualizerCreation
Definition: DtVrlinkConnection.h:273
ObserverPublisherMap myObserverPublishers
Definition: DtVrlinkConnection.h:267
DtSignalConnectionManager myConnections
Definition: DtVrlinkConnection.h:270
bool myUseTopoForFlatEarthVectorConversion
Definition: DtVrlinkConnection.h:269
DtExerciseConn * exerciseConn()
Get the exercise connection.
Definition: DtVrlinkConnection.h:136
int myDdmRegionSize
Definition: DtVrlinkConnection.h:255
DtVector geocentricLocation
Definition: DtVrlinkConnection.h:248
boost::signalslib::signal< void(DtDDMRegionSP)> signal_regionToBeRemoved
Definition: DtVrlinkConnection.h:184
boost::signalslib::signal< void()> signal_preTick
Signal sent before the tick starts.
Definition: DtVrlinkConnection.h:217
bool myViewControlsEnabled
Definition: DtVrlinkConnection.h:268
DtVrlinkDriver & myVrlinkDriver
Definition: DtVrlinkConnection.h:274
The shared settings manager, is the global object responsible for managing any shared settings object...
Definition: DtSharedSettingsManager.h:42
double myTimeoutInterval
Definition: DtVrlinkConnection.h:262
const DtDDMRegionSet & regions() const
Definition: DtVrlinkConnection.h:160
#define DL_DLL_IGCONVRLINK
Definition: dllExport.h:26
virtual const std::string & tag()
Get the tag identifying which type of connection this is.
Definition: DtVrlinkConnection.h:142
boost::unordered_map< std::string, DtEntityPublisher * > ObserverPublisherMap
Definition: DtVrlinkConnection.h:230
DtExerciseConnInitializer * myExConnInitializer
Definition: DtVrlinkConnection.h:233
#define DT_PROTOCOL_NAMESPACE
Contains DLL export macros.
Definition: vrfDis.h:17
Definition: DtVrlinkConnection.h:245
Contains makVrv::DtConnection class.
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
A class which represents the simulation the driver manages.
Definition: DtVrlinkConnection.h:42
DtGeodeticRegionSP region
Definition: DtVrlinkConnection.h:247
double myAltitudeThreshold
Definition: DtVrlinkConnection.h:257
Contains makVrv:DtDriver class.
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:40
boost::unordered_map< std::string, RegionInfo > ObserverRegions
Definition: DtVrlinkConnection.h:252
bool outOfBounds
Definition: DtVrlinkConnection.h:249
bool myUseAltitudeThreshold
Definition: DtVrlinkConnection.h:256
boost::signalslib::signal< void()> signal_exerciseConnectionCreated
Signal sent when the exercise connection is created, but before some initialization (like creating re...
Definition: DtVrlinkConnection.h:214
The abstract interface necessary for agents.
Definition: DtAgentManagerInterface.h:33
int myRegionUpdateThreshold
Definition: DtVrlinkConnection.h:254
DtExerciseConn * myExerciseConnection
Definition: DtVrlinkConnection.h:238
DtDDMRegionSet myRegions
Definition: DtVrlinkConnection.h:243
boost::signalslib::signal< void()> signal_postTick
Signal sent after the tick has been completed.
Definition: DtVrlinkConnection.h:220
boost::signalslib::signal< void(DtDDMRegionSP)> signal_regionAdded
Definition: DtVrlinkConnection.h:183
ObserverRegions myObserverRegions
Definition: DtVrlinkConnection.h:253
double myConnectionFrameTime
Definition: DtVrlinkConnection.h:271