15 #include <vl/entityPublisher.h>
17 #include <unordered_map>
18 #include <boost/function.hpp>
21 class DtExerciseConnInitializer;
23 class DtStealthControlPdu;
25 #ifndef DT_PROTOCOL_NAMESPACE
26 #error Namespace Protocol Macro DT_PROTOCOL_NAMESPACE not defined.
30 #include <vl/geodeticRegion.h>
64 virtual bool connect();
67 virtual bool connected()
const;
73 virtual bool disconnect();
76 virtual void tick(
double dt);
79 virtual double simTime()
const;
82 virtual void setSimTime(
double simTime);
85 virtual double clockTime()
const;
88 virtual DtTimeStampType timeStampType()
const;
92 virtual void setViewControlChanged(
bool enabled );
96 virtual void setUseTopoForFlatEarthVectorConversion(
bool enabled );
100 virtual void setConnectionFrameTime(
double frameTime );
104 virtual double connectionFrameTime()
const;
107 virtual void observerUpdated(
const std::string& name,
108 double x,
double y,
double z,
109 double psi,
double theta,
double phi);
113 virtual void observerUpdated(
const std::string& observerName,
114 double x,
double y,
double z,
115 double psi,
double theta,
double phi,
116 double dx,
double dy,
double dz,
117 double dpsi,
double dtheta,
double dphi);
120 virtual void stopPublishingObserver(
const std::string& observerName);
123 virtual void startPublishingObserver(
const std::string& observerName);
126 virtual void queueDriverFunction(boost::function<
void()> func);
131 virtual void queueConnectionFunction(boost::function<
void()> func);
141 return myExerciseConnection;
145 virtual const std::string&
tag()
148 const static std::string str(
"DIS");
150 const static std::string str(
"HLA4");
151 #elif DtHLA_1516_EVOLVED
152 const static std::string str(
"HLA1516e");
154 const static std::string str(
"HLA1516");
156 const static std::string str(
"HLA13");
158 const static std::string str(
"");
170 virtual void addDdmRegionForObserver(
const std::string& observerName);
172 virtual void removeDdmRegionForObserver(
const std::string& observerName);
175 virtual void setDdmRegionSize(
int sizeInMeters);
177 virtual void setRegionUpdateThreshold(
int percentage);
179 virtual void setUseAltitudeThreshold(
bool yesNo);
181 virtual void setAltitudeThreshold(
int meters);
183 virtual void updateDdmRegion(
const std::string& observerName,
184 const DtVector& observerLocation);
186 virtual void setRegionOutOfBounds(DtDDMRegionSP region);
195 bool entityIsPublished(
const DtEntityIdentifier&
id)
const;
198 virtual bool timeoutProcessing()
const;
201 virtual void setTimeoutProcessing(
bool enabled);
204 virtual double timeoutInterval()
const;
207 virtual void setTimeoutInterval(
double interval);
212 void setSupportsDelayedVisualizerCreation(
bool);
213 bool supportsDelayedVisualizerCreation()
const;
223 void addObserverPublisher(
const std::string& observerName);
227 typedef std::unordered_map<std::string, DtEntityPublisher*>
239 bool initializeDdm();
Creator for DtEntityAppearanceMapperFactory class.
Definition: DtEntityAppearanceMapperFactory.h:83
The base class for VR-Link based drivers.
Definition: DtVrlinkDriver.h:43
bool myTimeoutProcessing
Definition: DtVrlinkConnection.h:259
bool mySupportsDelayedVisualizerCreation
Definition: DtVrlinkConnection.h:271
ObserverPublisherMap myObserverPublishers
Definition: DtVrlinkConnection.h:265
std::unordered_map< std::string, RegionInfo > ObserverRegions
Definition: DtVrlinkConnection.h:250
DtSignalConnectionManager myConnections
Definition: DtVrlinkConnection.h:268
bool myUseTopoForFlatEarthVectorConversion
Definition: DtVrlinkConnection.h:267
DtExerciseConn * exerciseConn()
Get the exercise connection.
Definition: DtVrlinkConnection.h:139
int myDdmRegionSize
Definition: DtVrlinkConnection.h:253
DtVector geocentricLocation
Definition: DtVrlinkConnection.h:246
boost::signalslib::signal< void(DtDDMRegionSP)> signal_regionToBeRemoved
Definition: DtVrlinkConnection.h:189
bool myViewControlsEnabled
Definition: DtVrlinkConnection.h:266
DtVrlinkDriver & myVrlinkDriver
Definition: DtVrlinkConnection.h:272
The shared settings manager, is the global object responsible for managing any shared settings object...
Definition: DtSharedSettingsManager.h:42
double myTimeoutInterval
Definition: DtVrlinkConnection.h:260
const DtDDMRegionSet & regions() const
Definition: DtVrlinkConnection.h:165
std::unordered_map< std::string, DtEntityPublisher * > ObserverPublisherMap
Definition: DtVrlinkConnection.h:228
#define DT_PROTOCOL_NAMESPACE
Contains defines and includes header files for protocols.
Definition: vrfProtocol.h:13
#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:145
DtExerciseConnInitializer * myExConnInitializer
Definition: DtVrlinkConnection.h:231
Definition: DtVrlinkConnection.h:243
The base class for protocol specific VRLink Simulations.
Definition: DtVrlinkBaseConnection.h:43
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:43
Contains makVrv::DtVrlinkBaseConnection class.
DtGeodeticRegionSP region
Definition: DtVrlinkConnection.h:245
double myAltitudeThreshold
Definition: DtVrlinkConnection.h:255
Contains makVrv:DtDriver class.
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:40
bool outOfBounds
Definition: DtVrlinkConnection.h:247
bool myUseAltitudeThreshold
Definition: DtVrlinkConnection.h:254
boost::signalslib::signal< void()> signal_exerciseConnectionCreated
Signal sent when the exercise connection is created, but before some initialization (like creating re...
Definition: DtVrlinkConnection.h:219
The abstract interface necessary for agents.
Definition: DtAgentManagerInterface.h:33
int myRegionUpdateThreshold
Definition: DtVrlinkConnection.h:252
DtExerciseConn * myExerciseConnection
Definition: DtVrlinkConnection.h:236
DtDDMRegionSet myRegions
Definition: DtVrlinkConnection.h:241
boost::signalslib::signal< void(DtDDMRegionSP)> signal_regionAdded
Definition: DtVrlinkConnection.h:188
ObserverRegions myObserverRegions
Definition: DtVrlinkConnection.h:251
double myConnectionFrameTime
Definition: DtVrlinkConnection.h:269