28 #include <vlpi/entityType.h>
29 #include <matrix/vlVector.h>
34 #include <vl/commentInteraction.h>
54 namespace makVrfVrlinkExtToolkit
56 class DtReflectedExtendedAttributesObjectList;
61 #define DtCommentCallbackFcn DtCommentPduCb
63 #define DtCommentCallbackFcn DtCommentInteractionCb
68 class DtVrlinkElement;
73 class DtAggregateElement;
74 class DtEntityElement;
75 class DtEntitySimDataProcessor;
76 class DtSensorFieldOfViewSimDataProcessor;
78 class DtSensorFieldOfViewSimDataProcessorAccessory;
84 class DtNetworkMessageInterface;
85 class DtNetworkMessageInterfaceHandlerAgent;
89 class DtTDLMessageProcessor;
90 class DtVrfBackendInterceptor;
91 class DtVrfConnectionHelper;
92 class DtVrfObjectDataStateProcessor;
93 class DtVrfWeatherStateProcessor;
94 class DtVrfCloudLayerStateProcessor;
95 class DtVrfEnvironmentObjectDataStateProcessor;
96 class DtEnvironmentSimDataProcessor;
97 class DtEmitterSystemSimDataProcessor;
98 class DtActiveSonarSimDataProcessor;
99 class DtVrfAggregateObjectDataStateProcessor;
100 class DtAggregateSimDataProcessor;
101 class DtOrbatSimDataProcessor;
102 class DtVrfFogOfWarHandler;
103 class DtVrfEmbarkationProcessor;
104 class DtIffSimDataProcessor;
105 class DtLaserDesignatorSimDataProcessor;
106 class DtPropulsionNoiseSimDataProcessor;
107 class DtWeatherStateCacheManager;
108 class DtCloudLayerStateCacheManager;
109 class DtVrfWeatherProcessor;
110 class DtVrfCloudLayerProcessor;
111 class DtVrfVrlinkGuiOrbatManager;
122 virtual bool onStart();
129 virtual void sendLoggerSetFilename(std::string
filename);
132 virtual void sendLoggerRecordMessage();
135 virtual void sendLoggerStopMessage();
142 virtual void rollbackToSnapshot(
double);
150 bool deleteMemory =
false,
bool saveInZipFile =
false,
bool queueSave =
false,
int putIntoPlayMode = 0);
154 virtual void saveCheckpoints(
const std::vector<DtScenario*>&,
const DtFilename& baseName);
157 virtual void saveNextCheckpoint();
160 virtual void clearSavingCheckpoints();
163 virtual void closeScenario(DtFilename,
bool forceCloseAll =
false);
166 virtual void createEnvironmentalObject(DtSimulationAddress addr,
170 virtual void getMessageFilterStatus(std::map<std::string,bool>& statusMap)
const;
173 virtual void setMessageFilterStatus(
const std::map<std::string,bool>& statusMap);
176 virtual void getMessageProcessorStatus(std::map<std::string,bool>& statusMap)
const;
179 virtual void setMessageProcessorStatus(
const std::map<std::string,bool>& statusMap);
183 virtual void registerSimMessageCallbackFor(
int t,
bool reg);
191 virtual void registerSetMessageCallbackFor(
const DtSetMessageType& s,
bool reg);
198 virtual void setTimeoutInterval(
int i);
201 virtual void sendMessageToObject(
const DtVrfObjectMessage* m, DtSimulationAddress addr);
232 virtual void requestOrbatList();
235 virtual void clearOrbatList();
238 virtual void executeGesture(std::string gesture, std::vector<makVrv::DtUniqueID>);
241 virtual void executeAnimation(std::string gesture, std::vector<makVrv::DtUniqueID>);
242 virtual void executeAnimations(std::map<makVrv::DtUniqueID, std::string>);
245 virtual void blockNetworkAnimationChange(std::vector<makVrv::DtUniqueID>,
bool,
double);
256 virtual void startFreezeScenario(DtSimulationAddress,
bool sendStart);
271 virtual void importScenarioDescriptionFile(std::string file, DtSimulationAddress address, std::string format,
272 std::map<std::string, std::string> importData);
275 virtual void exportScenarioDescriptionFile(std::string file, DtSimulationAddress address, std::string format,
276 std::map<std::string, std::string> importData);
285 virtual void createGlobalDynamicTerrain(
bool);
288 virtual void createGlobalEnvironment(
bool);
292 return myVrfObjectDataStateDataProcessor;
298 return myDataProcessor;
303 return myTDLMessageProcessor;
308 return myEmitterSystemDataProcessor;
313 return myWeatherDataProcessor;
318 return myCloudLayerDataProcessor;
323 return myActiveSonarDataProcessor;
328 return myEnvironmentDataProcessor;
333 return myAggregateDataProcessor;
338 return myOrbatDataProcessor;
343 return myLaserDesignatorSimDataProcessor;
348 return myOrbatManager;
353 return myExtendedStateDataProcessor;
356 void setUseThreadFlag(
bool b)
361 bool connected()
const
366 virtual bool onStop();
368 virtual bool onTick();
402 const std::string& nonVrfObjectsUseUUIDScheme()
const;
405 virtual void onSetupExerciseConnection();
406 virtual void onCleanupExerciseConnection();
408 virtual void connectionConnected();
413 virtual void setupEntityData();
414 virtual void setupAggregateData();
415 virtual void setupEnvironmentalData();
418 static void simMessageCallback(
DtSimMessage* msg,
void* usr);
426 virtual void elementAttributeChangeRequested(
434 virtual void slot_quitBackend(DtSimulationAddress);
437 virtual void symbolDecorationsChanged();
441 static void scenarioCheckpointed(
DtSaveResult result,
double,
void*);
442 virtual void processScenarioCheckpointed(
DtSaveResult result,
double);
445 virtual void visualsLoaded();
448 static void scenarioAboutToBeSaved(
DtScenario&,
void*);
449 virtual void processScenarioAboutToBeSaved(
DtScenario&)
const;