15 #include <vl/entityPublisher.h>
17 #include <unordered_map>
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);
112 virtual void observerUpdated(
const std::string& observerName,
113 double x,
double y,
double z,
114 double psi,
double theta,
double phi,
115 double dx,
double dy,
double dz,
116 double dpsi,
double dtheta,
double dphi);
119 virtual void stopPublishingObserver(
const std::string& observerName);
122 virtual void startPublishingObserver(
const std::string& observerName);
125 virtual void queueDriverFunction(boost::function<
void()> func);
130 virtual void queueConnectionFunction(boost::function<
void()> func);
140 return myExerciseConnection;
144 virtual const std::string&
tag()
147 const static std::string str(
"DIS");
148 #elif DtHLA_1516_EVOLVED
149 const static std::string str(
"HLA1516e");
151 const static std::string str(
"HLA1516");
153 const static std::string str(
"HLA13");
155 const static std::string str(
"");
167 virtual void addDdmRegionForObserver(
const std::string& observerName);
169 virtual void removeDdmRegionForObserver(
const std::string& observerName);
172 virtual void setDdmRegionSize(
int sizeInMeters);
174 virtual void setRegionUpdateThreshold(
int percentage);
176 virtual void setUseAltitudeThreshold(
bool yesNo);
178 virtual void setAltitudeThreshold(
int meters);
180 virtual void updateDdmRegion(
const std::string& observerName,
183 virtual void setRegionOutOfBounds(DtDDMRegionSP region);
192 bool entityIsPublished(
const DtEntityIdentifier&
id)
const;
195 virtual bool timeoutProcessing()
const;
198 virtual void setTimeoutProcessing(
bool enabled);
201 virtual double timeoutInterval()
const;
204 virtual void setTimeoutInterval(
double interval);
209 void setSupportsDelayedVisualizerCreation(
bool);
210 bool supportsDelayedVisualizerCreation()
const;
227 void addObserverPublisher(
const std::string& observerName);
231 typedef std::unordered_map<std::string, DtEntityPublisher*>
243 bool initializeDdm();
Creator for DtEntityAppearanceMapperFactory class.
Definition: DtEntityAppearanceMapperFactory.h:82
The base class for VR-Link based drivers.
Definition: DtVrlinkDriver.h:41
bool myTimeoutProcessing
Definition: DtVrlinkConnection.h:263
bool mySupportsDelayedVisualizerCreation
Definition: DtVrlinkConnection.h:275
ObserverPublisherMap myObserverPublishers
Definition: DtVrlinkConnection.h:269
std::unordered_map< std::string, RegionInfo > ObserverRegions
Definition: DtVrlinkConnection.h:254
DtSignalConnectionManager myConnections
Definition: DtVrlinkConnection.h:272
bool myUseTopoForFlatEarthVectorConversion
Definition: DtVrlinkConnection.h:271
DtExerciseConn * exerciseConn()
Get the exercise connection.
Definition: DtVrlinkConnection.h:138
int myDdmRegionSize
Definition: DtVrlinkConnection.h:257
DtVector geocentricLocation
Definition: DtVrlinkConnection.h:250
boost::signalslib::signal< void(DtDDMRegionSP)> signal_regionToBeRemoved
Definition: DtVrlinkConnection.h:186
boost::signalslib::signal< void()> signal_preTick
Signal sent before the tick starts.
Definition: DtVrlinkConnection.h:219
bool myViewControlsEnabled
Definition: DtVrlinkConnection.h:270
DtVrlinkDriver & myVrlinkDriver
Definition: DtVrlinkConnection.h:276
The shared settings manager, is the global object responsible for managing any shared settings object...
Definition: DtSharedSettingsManager.h:42
double myTimeoutInterval
Definition: DtVrlinkConnection.h:264
const DtDDMRegionSet & regions() const
Definition: DtVrlinkConnection.h:162
std::unordered_map< std::string, DtEntityPublisher * > ObserverPublisherMap
Definition: DtVrlinkConnection.h:232
#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:144
DtExerciseConnInitializer * myExConnInitializer
Definition: DtVrlinkConnection.h:235
#define DT_PROTOCOL_NAMESPACE
Contains DLL export macros.
Definition: vrfDis.h:17
Definition: DtVrlinkConnection.h:247
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:42
Contains makVrv::DtVrlinkBaseConnection class.
DtGeodeticRegionSP region
Definition: DtVrlinkConnection.h:249
double myAltitudeThreshold
Definition: DtVrlinkConnection.h:259
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:251
bool myUseAltitudeThreshold
Definition: DtVrlinkConnection.h:258
boost::signalslib::signal< void()> signal_exerciseConnectionCreated
Signal sent when the exercise connection is created, but before some initialization (like creating re...
Definition: DtVrlinkConnection.h:216
The abstract interface necessary for agents.
Definition: DtAgentManagerInterface.h:33
int myRegionUpdateThreshold
Definition: DtVrlinkConnection.h:256
DtExerciseConn * myExerciseConnection
Definition: DtVrlinkConnection.h:240
DtDDMRegionSet myRegions
Definition: DtVrlinkConnection.h:245
boost::signalslib::signal< void()> signal_postTick
Signal sent after the tick has been completed.
Definition: DtVrlinkConnection.h:222
boost::signalslib::signal< void(DtDDMRegionSP)> signal_regionAdded
Definition: DtVrlinkConnection.h:185
ObserverRegions myObserverRegions
Definition: DtVrlinkConnection.h:255
double myConnectionFrameTime
Definition: DtVrlinkConnection.h:273