19 #include <vlutil/vlPerformanceStats.h>
24 #include <vlpi/entityType.h>
25 #include <matrix/vlVector.h>
34 #include <vlutil/vlPerformanceStats.h>
40 namespace makVrfVrlinkExtToolkit
42 class DtReflectedExtendedAttributesObjectList;
49 class DtEntityElement;
50 class DtTacticalGraphicElement;
55 class DtVrlinkAggregateElement;
56 class DtSensorFieldOfViewSimDataProcessor;
57 class DtVrlinkLaserDesignatorStateListener;
67 class DtVrlinkVrfRemoteController;
68 class DtRemoteLoggerController;
69 class DtVrlinkNetworkInterface;
70 class DtRadioProcessor;
71 class DtVrfConnectionHelper;
72 class DtNetworkMessageInterface;
73 class DtStateDataManager;
77 class DtVrlinkVantageToLegionIdMapper;
78 class DtVrfCloudLayerStateProcessor;
79 class DtVrfAggregateObjectDataStateProcessor;
80 class DtOrbatSimDataProcessor;
81 class DtVrfFogOfWarHandler;
82 class DtVrfEmbarkationProcessor;
83 class DtVrfWeatherProcessor;
84 class DtVrfCloudLayerProcessor;
85 class DtVrfVrlinkGuiOrbatManager;
86 class DtVrlinkVantageLegionToIdMapper;
97 virtual bool onStart()
override;
100 virtual void setConditionLockTimeout(
double d);
103 return myConditionLockTimeout;
115 virtual void sendLoggerSetFilename(std::string
filename);
118 virtual void sendLoggerRecordMessage();
121 virtual void sendLoggerStopMessage();
124 virtual void requestOrbatList();
127 virtual void clearOrbatList();
134 virtual void executeGesture(std::string gesture, std::vector<makVrv::DtUniqueID>);
137 virtual void executeAnimation(std::string gesture, std::vector<makVrv::DtUniqueID>);
138 virtual void executeAnimations(std::map<makVrv::DtUniqueID, std::string>);
141 virtual void setIconColor(
DtRwColor iconColor, std::vector<makVrv::DtUniqueID>);
144 virtual void blockNetworkAnimationChange(std::vector<makVrv::DtUniqueID>,
bool,
double);
145 virtual void blockNetworkGestureChange(std::vector<makVrv::DtUniqueID>,
bool);
148 virtual void startFreezeScenario(DtSimulationAddress,
bool sendStart);
157 virtual void queueConnectionFunction(
const boost::function<
void ()>&
function);
160 virtual void queuePostAdvanceFrameConnectionFunction(
const boost::function<
void ()>&
function);
166 return myConnectionHelper;
171 return myCloudLayerDataProcessor;
176 return myOrbatDataProcessor;
181 return myVrlinkNetworkInterface;
186 return myOrbatManager;
204 virtual bool onStop()
override;
206 virtual bool onTick()
override;
224 const std::string& nonVrfObjectsUseUUIDScheme()
const;
228 virtual void slot_scenarioAboutToBeSaved(
DtScenario& s)
const;
234 virtual void enterTimeoutProcessingMode();
235 virtual void leaveTimeoutProcessingMode();
241 virtual void remoteControllerInit();
242 virtual void slot_scenarioLoaded();
244 virtual bool createExerciseConnection();
245 virtual void onSetupExerciseConnection();
246 virtual void onCleanupExerciseConnection();
248 virtual void connectionConnected();
251 virtual void elementAttributeChangeRequested(
261 virtual void slot_postConnectionTick();
262 virtual void slot_preConnectionTick();
263 virtual void slot_coordinateSystemChanged();
266 virtual void visualsLoaded();
268 virtual void slot_parameterDatabaseInitialized(
bool);
270 virtual void setVisibleForElement(
makVrv::DtElement*,
bool flag,
int context)
const;
272 virtual void rediscoverListeners();
277 virtual void slot_advanceFrame(
bool& continueAdvance);
283 DtVrfCloudLayerStateProcessor* myCloudLayerDataProcessor =
nullptr;
303 DtVrfCloudLayerProcessor* myVrfCloudLayerProcessor =
nullptr;
326 mutable double myTimeSaveStarted = 0.;
327 double myEnteredTimeoutProcessingModeAt = 0.;
332 bool myAdvancedFrame =
true;
336 double myConditionLockTimeout = 1.0 / 20.0;
338 double myAdvanceFramePeriod = 0.2;
340 std::chrono::milliseconds myWaitForMainThreadTimout = std::chrono::milliseconds(10);
341 tbb::tick_count myLastFrameAdvanceTime = tbb::tick_count::now();
DtVrfConnectionHelper * connectionHelper() const
Definition: vrfDriver.h:164
The gui orbat manager manages orbat nodes and listeners as discovered on the network. This class will present orbat objects as being on the network even though there is not network representation until they are created.
Definition: vrfVrlinkGuiOrbatManager.h:45
makVrv::DtSignalConnectionManager myConnectionManager
Definition: vrfDriver.h:300
#define VRF_PROTOCOL_EXPORT
Definition: vrfProtocol.h:21
Helper code for connectors. Does not exist in it's own project but is included by all projects that u...
Definition: vrfConnectionHelper.h:130
Definition: vrfWeatherProcessor.h:30
Definition: networkMessageInterface.h:22
bool myConnected
Definition: vrfDriver.h:308
Definition: scenario.h:52
boost::signals2::signal< void()> signal_driverStarted
Definition: vrfDriver.h:218
Definition: vrlinkVantageToLegionIdMapper.h:44
int sessionId() const
Definition: vrfDriver.h:199
bool myDisableRequestUpdatesFlag
Definition: vrfDriver.h:318
std::map< makVrv::DtUniqueID, ContextMap > ShowHideContextMap
Definition: vrfDriver.h:306
boost::signals2::signal< void()> signal_postConnectionTick
Definition: vrfDriver.h:220
void setUseThreadFlag(bool b)
Definition: vrfDriver.h:189
bool myNeedsFirstTickInitialization
Definition: vrfDriver.h:323
std::string myNonVrfObjectsUseUUIDScheme
Definition: vrfDriver.h:312
DtRemoteLoggerController * myLoggerControl
Definition: vrfDriver.h:281
std::string myLocalSettingsDesignator
Definition: vrfDriver.h:309
This class is a specialization of the DtVrfRemoteController for use with a VR-Link exercise connectio...
Definition: vrlinkVrfRemoteController.h:44
DtVrfCloudLayerStateProcessor * cloudLayerDataProcessor()
Definition: vrfDriver.h:169
boost::signals2::signal< void()> signal_connectionAboutToBeCleanedUp
Definition: vrfDriver.h:216
unsigned myNumberOfRemoteNetworkThreads
Definition: vrfDriver.h:313
std::string myHostAddressString
Definition: vrfDriver.h:294
class DtVrlinkNetworkInterface:
Definition: vrlinkNetworkInterface.h:72
The DtElement class implements the common behavior of simulation based elements added to the scene...
Definition: DtElement.h:44
If you need access to data in the main thread outside of the advance frame, use this lock (with the l...
Definition: dataGate.h:18
#define DT_PROTOCOL_NAMESPACE
Contains defines and includes header files for protocols.
Definition: vrfProtocol.h:13
DtVrlinkNetworkInterface * vrlinkNetworkInterface()
Definition: vrfDriver.h:179
DtGateLock myGateLock
Definition: vrfDriver.h:333
makVrv::DtAgentManager & myAgentManager
Definition: vrfDriver.h:285
The main class for the remote control interface to VR-Forces. Instantiating this class allows the sen...
Definition: vrfRemoteController.h:206
DtSaveResult
Definition: ifSaveComplete.h:18
int myFileTransporterReceivePort
Definition: vrfDriver.h:311
Definition: remoteLoggerController.h:27
boost::signals2::signal< void()> signal_connectionCleanedUp
Definition: vrfDriver.h:215
Reader-Writer color specified by red, green, blue components.
Definition: rwColor.h:19
Contains makVrv::DtSharedModelSetSettings class.
The base class for protocol specific VRLink Simulations.
Definition: DtVrlinkBaseConnection.h:43
DtVrfVrlinkGuiOrbatManager * myOrbatManager
Definition: vrfDriver.h:289
#define VRF_PROTOCOL_NAMESPACE
Contains DLL export macros.
Definition: vrfDis.h:14
The DtCommunicationManager class is a convenience class that will create both the DtNetworkInterfaceM...
Definition: communicationManager.h:54
DtExerciseConn * myExerciseConnection
Definition: vrfDriver.h:315
DtVrfEmbarkationProcessor * myVrfEmbarkationProcessor
Definition: vrfDriver.h:299
DtVrfFogOfWarHandler * myFogOfWarHandler
Definition: vrfDriver.h:297
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
bool myRemoteDiscoveryDisabled
Definition: vrfDriver.h:330
The DtSensorFieldOfViewControlInteractionContents provides the data contents of a SensorFieldOfViewCo...
Definition: sensorFieldOfViewControlInteractionData.h:25
DtVrfConnectionHelper * myConnectionHelper
Definition: vrfDriver.h:280
std::string myReportedHostAddressString
Definition: vrfDriver.h:295
Contains makVrv::DtVrlinkBaseConnection class.
The DtDetonationInteractionData provides the data contents of a DIS DetonationInteraction.
Definition: detonationInteractionData.h:25
The DtAgentManager manages the distributed scene object framework. This includes the objects and upda...
Definition: DtAgentManager.h:38
Definition: vrfFogOfWarHandler.h:34
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
bool myRtiError
Definition: vrfDriver.h:293
DtVrlinkNetworkInterface * myVrlinkNetworkInterface
Definition: vrfDriver.h:287
Contains makVrf::DtSharedNetworkSignaler class.
A single entity element. An entity element may be visualized using multiple visualizer sets one per m...
Definition: DtEntityElement.h:33
boost::signals2::signal< void()> signal_onFirstTickDriverInitialization
Definition: vrfDriver.h:217
double conditionLockTimeout() const
Definition: vrfDriver.h:101
A single tactical graphic element. A tactical graphic element may be visualized using multiple visual...
Definition: DtTacticalGraphicElement.h:35
Base class to provide boost signal/slot management.
DtVrfVrlinkGuiOrbatManager * orbatManager()
Definition: vrfDriver.h:184
bool myProcessStateDataUponDiscovery
Definition: vrfDriver.h:331
Contains makVrv::DtVrlinkSimulation class.
std::map< DtModelSetId, bool > ModelSetVisualizedMap
Definition: DtSharedModelSetSettings.h:28
boost::signals2::signal< void()> signal_driverAboutToBeSetUp
Definition: vrfDriver.h:219
int mySessionId
Definition: vrfDriver.h:296
Contains Extended DI-Guy Object net types.
The protocol specific processor for entity sim data.
Definition: vrfEmbarkationProcessor.h:40
The base implementation of a configuration.
Definition: DtConfiguration.h:24
VisualizerShowHideContext
Definition: DtShowHideContext.h:41
boost::signals2::signal< void()> signal_connectionSetUp
Signals sent on connection status.
Definition: vrfDriver.h:214
const std::string & nonVrfObjectsUseUUIDScheme() const
Accessor for non VRF UUID scheme.
Definition: vrfDriver.h:344
DtModelSetId
Definition: DtModelSetEnums.h:19
bool connected() const
Definition: vrfDriver.h:194
DtOrbatSimDataProcessor * orbatDataProcessor()
Definition: vrfDriver.h:174
DtOrbatSimDataProcessor * myOrbatDataProcessor
Definition: vrfDriver.h:291
The Driver for DIS.
Definition: vrfDriver.h:89
bool myRequestWhenInitializedFlag
Definition: vrfDriver.h:319
std::map< unsigned int, bool > ContextMap
Definition: vrfDriver.h:305
This class holds the state data that represents each simulation object in the system.
Definition: stateDataManager.h:73