VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfRemoteController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 
12 #pragma once
13 
16 #include "vrfutil/backendMap.h"
17 #include "vrfutil/backend.h"
18 #include "vrfmsgs/ifSaveComplete.h"
21 #include "vrfutil/scenario.h"
22 #include "vrfutil/rwUUID.h"
23 #include "vrftasks/simTask.h"
24 #include "vrfplan/plan.h"
39 
40 #include <vlpi/disEnums.h>
41 #include <vlpi/appearance.h>
42 #include <vlutil/vlHashlist.h>
43 
45 #include <list>
46 
47 #include <boost/signals2.hpp>
48 
49 class DtAdminContent;
50 class DtBackendMap;
52 class DtAddressMap;
57 class DtIfLoadScenario;
58 class DtIfPlan;
63 class DtSettingsObject;
70 
71 namespace makVrfEvents
72 {
73  class DtEventManager;
74  class DtEvent;
75  class DtCommentEvent;
76 }
77 
78 namespace makVrf
79 {
80  class DtExternalCurrentFrameState;
81 }
82 
83 typedef void (*DtScenarioCallbackFcn)(void* usr);
84 typedef void (*DtScenarioAboutToBeSavedCallbackFcn)(DtScenario&, void* usr);
86 
89 typedef bool (*DtPreserveMappingsFcn)(void* usr);
90 
92 
93 typedef void (*DtBackendSaveCallbackFcn)
94  (const DtSimulationAddress& addr, DtSaveResult result, void * usr);
95 
96 typedef void (*DtScenarioSavedCallbackFcn)
97  (DtSaveResult result, const DtString& sError, void* usr);
98 
99 typedef void (*DtCheckpointSavedCallbackFcn)
100  (DtSaveResult result, double, void* usr);
101 
102 typedef void (*DtVrfObjectCreatedCallbackFcn)
103  (const DtString& name, const DtEntityIdentifier& id, const DtUUID& uuid, void* usr);
104 
105 typedef void (*DtOverlayCreatedCallbackFcn)
106  (const DtString& name, const DtEntityIdentifier& id, const DtUUID& uuid, DtVrfOverlayObjectModify* usr);
107 
109  (const DtString& name, const DtEntityIdentifier& id,
110  const DtUUID& uuid, void* usr);
111 
112 typedef void (*DtObjectConsoleMessageCallbackFcn)
113  (const DtUUID& id, int notifyLevel, const DtString& message,
114  void* usr);
115 
117  (const DtSimulationAddress& id, int notifyLevel, const DtString& message,
118  void* usr);
119 
124  (const DtIfServerRequestResponse& response, void* usr);
125 
128 {
129 public:
130  PlanCbInfo(const DtUUID& n, bool global, DtPlanCallbackFcn f, void* usr) :
131  planName(n), isGlobal(global), fcn(f), data(usr) {}
133  bool operator==(const PlanCbInfo& orig) const
134  {
135  return (planName == orig.planName && fcn == orig.fcn && data == orig.data
136  && isGlobal == orig.isGlobal);
137  }
138 
140  bool isGlobal;
142  void* data;
143 };
144 
147 {
148 public:
149  StmtCbInfo(const DtUUID& n, bool global,
150  DtPlanStatementCallbackFcn f, void* usr) :
151  planName(n), isGlobal(global) , fcn(f), data(usr) {}
153  bool operator==(const StmtCbInfo& orig) const
154  {
155  return (planName == orig.planName && fcn == orig.fcn && data == orig.data &&
156  isGlobal == orig.isGlobal);
157  }
158 
161  bool isGlobal;
162  void* data;
163 };
164 
167 {
168 public:
169  PlanCompleteCbInfo(const DtUUID& n, bool global,
170  DtPlanCompleteCallbackFcn f, void* usr) :
171  planName(n), isGlobal(global), fcn(f), data(usr) {}
173  bool operator==(const PlanCompleteCbInfo& orig) const
174  {
175  return (planName == orig.planName && fcn == orig.fcn && data == orig.data && isGlobal == orig.isGlobal);
176  }
177 
180  bool isGlobal;
181  void* data;
182 };
183 
184 
207 {
208 
209 public:
211  AttachNone=0,
212  CanAttachAny
213  };
214 
215 public:
216 
220 
226  DtVrfRemoteController(int receivePort = 9000);
227 
229  virtual ~DtVrfRemoteController();
230 
232  virtual DtVrfMessageInterface* vrfMessageInterface() const;
233 
235  virtual DtVrfTDLMessageInterface* vrfTDLMessageInterface() const;
236 
238  virtual DtVrfConfigurationFileComposer* composer();
239 
241  virtual void setHostInetAddr(DtInetAddr);
242  virtual DtInetAddr hostInetAddr() const;
243 
245  virtual const DtSimulationAddress& simulationAddress() const;
246 
248  virtual int sessionId() const;
249 
253  virtual unsigned int generateRequestId() const;
254 
255  DtNetworkInterfaceManager* networkInterfaceManager();
256  makVrfEvents::DtEventManager* eventManager();
258  {
259  return myCommunicationManager;
260  }
261 
264  {
265  return myRemoteEnvironmentController;
266  }
267 
270  DtRemoteEnvironmentController* createRemoteEnvironmentController();
271 
273  {
274  return myBackendSelectorManager;
275  }
276 
278 
279  //---------------------------------------------------------------
280 
284 
287  virtual void init(DtCommunicationManager* exConn, DtVrfMessageInterface* msgInterface = 0,
288  DtVrfTDLMessageInterface* tdlMessageInterface = 0);
289 
291 
292 //-----------------------------------------------------------x
293 
297 
299  virtual const DtList& backends() const;
300 
303  virtual const DtList& pendingBackends() const;
304 
306  virtual DtVrfBackendListener* backendListener() const;
307 
309  virtual void addBackendDiscoveryCallback(
310  DtBackendCallbackFcn fcn, void* usr);
311  virtual void removeBackendDiscoveryCallback(
312  DtBackendCallbackFcn fcn, void* usr);
313 
315  virtual void addBackendRemovalCallback(
316  DtBackendCallbackFcn fcn, void* usr);
317  virtual void removeBackendRemovalCallback(
318  DtBackendCallbackFcn fcn, void* usr);
319 
323  virtual int backendsControlState() const;
324 
326  virtual int numberBackendsLoaded() const;
327 
330  virtual bool allBackendsReady() const;
331 
333  virtual bool backendLoaded(const DtSimulationAddress& addr) const;
334 
337  virtual void modifyBackEndSetting(const DtSettingsObject* setting,
338  const DtSimulationAddress& addr = DtSimSendToAll);
339 
350  virtual void requestBackEndSetting(std::string name,
352  const DtSimulationAddress& addr = DtSimSendToAll);
353 
356  virtual double simTime(const DtSimulationAddress* a = NULL) const;
357 
359 
360 //-----------------------------------------------------------
361 
364 
367  virtual void setSpotReportsGloballyEnabled(bool enabled);
368 
371  virtual void setTDLMessagesGloballyEnabled(bool enabled);
372 
375  virtual void setEngagementReportsGloballyEnabled(bool enabled);
376 
379  virtual void setPeriodicSnapshotSettings(bool enabled, double period, int numberOfSnapshotsToKeep);
380 
383  virtual void setDRThresholds(double translation, double rotation);
384 
386  virtual void setCommModelSettings(bool useExternalComms);
387 
389  virtual void setRoadDrivingSettings(bool driveOnLeft);
390 
392  virtual void setRadarCoverageAltitudeMSL(bool);
393 
395  virtual void setRadarCoverageAltitudeSettings(const DtRadarCoverageAltitudeSettings& settings);
396 
401  virtual void setPublishAggregateFormationRoutes(bool yesNo);
402 
404  virtual void setRotationThreshold(DtReal thresh);
405 
407  virtual void setTranslationThreshold(DtReal thresh);
408 
413  virtual void setAggDimensionThreshold(DtReal thresh);
414 
417  virtual void querySpatialSubdivisionConfiguration(
418  const DtSimulationAddress& backendAddress,
419  DtSpatialSubdivisionType spatialSubdivisionType,
420  DtServerRequestResponseCallbackFcn fcn = 0, void* usr = 0);
421 
423  virtual void setSpatialSubdivsionConfiguration(
424  const DtSimulationAddress& backendAddress,
425  DtSpatialSubdivisionType spatialSubdivisionType,
426  const int spatialSubdivisionXResolution,
427  const int spatialSubdivisionYResolution,
428  const int spatialSubdivisionZResolution);
429 
435  virtual void processSpatialSubdivisionConfigurationCb(
436  const DtIfServerRequestResponse& rsp);
437 
439 
440  //------------------------------------------------------------
441 
446 
455  virtual bool newScenario(
456  const DtFilename& dbname,
457  const DtFilename& guidbname,
458  const DtFilename& opdname = DtFilename::nullFilename(),
459  const DtFilename& physicalWorldName = DtFilename::nullFilename(),
460  const DtScenario* baseScenario = 0,
461  time_t startTimeOfDay = 12 * 3600,
462  DtString* errorString = 0,
463  const DtChangeWeatherCommand& initialEnvironmentCondition = DtChangeWeatherCommand());
464 
466  virtual bool newScenario(
467  const DtFilename& dbname,
468  const DtFilename& guidbname,
469  const std::vector<DtString>& simulationModelSetFiles,
470  const DtScenario* baseScenario = 0,
471  time_t startTimeOfDay = 12 * 3600,
472  DtString* errorString = 0,
473  const DtChangeWeatherCommand& initialEnvironmentCondition = DtChangeWeatherCommand());
474 
480  virtual bool newScenario(
481  const DtFilename& dbname,
482  const DtFilename& guidbname,
483  const DtFilename& opdname,
484  const DtFilename& physicalWorldName,
485  const std::vector<DtString>& simulationModelSetFiles,
486  const DtScenario* baseScenario = 0,
487  time_t startTimeOfDay = 12 * 3600,
488  DtString* errorString = 0,
489  const DtChangeWeatherCommand& initialEnvironmentCondition = DtChangeWeatherCommand());
490 
496  virtual void createSimulationObjectGroup(const DtSimulationAddress&, const DtString& simulationObjectGroup,
497  const DtVector& createPosition, double offsetRotation, int createFlags, DtForceType force,
498  bool storedInZipFile = false);
499 
500 
502 
506 
534  virtual bool loadScenario(const DtFilename& filename,
535  DtBackendRemappingFcn fcn = 0, void* usrRemapping = 0,
536  DtLoadBalancingFcn = 0, void* usrBalancing = 0,
537  const std::vector<DtString>& simulationModelSetFiles = std::vector<DtString>(),
538  ComponentAttachmentRule compAttachRule = DtVrfRemoteController::AttachNone,
539  DtString* errorString = 0, int* numberOfObjects = nullptr);
540  virtual bool loadScenario(const DtScenarioLoadInformation&,
541  const std::vector<DtString>& simulationModelSetFiles = std::vector<DtString>(),
542  DtString* errorString = 0, int* numberOfObjects = nullptr);
543 
552  virtual bool loadScenario(const DtScenario& scenario,
553  DtBackendRemappingFcn fcn = 0, void* usrRemapping = 0,
554  DtLoadBalancingFcn = 0, void* usrBalancing = 0,
555  const std::vector<DtString>& simulationModelSetFiles = std::vector<DtString>(),
556  DtString* errorString = 0, int* numberOfObjects = nullptr);
557 
575  virtual bool sendLoadScenarioMessage(
576  const DtScenario& scenario,
577  const DtSimulationAddress& addr = DtSimSendToAll,
578  bool import = false,
579  bool isOrbatEnabled = false,
580  bool createGlobalEnv = false,
581  bool createGlobalDynamicTerrain = false) const;
582 
584  virtual void createGlobalEnvironment(bool);
585 
588  virtual DtIfLoadScenario* createLoadScenarioMessage() const;
589 
592  virtual void addBackendLoadedCallback(DtBackendCallbackFcn fcn, void* usr);
593  virtual void removeBackendLoadedCallback(DtBackendCallbackFcn fcn, void* usr);
594 
597  virtual void addScenarioLoadedCallback(DtScenarioCallbackFcn fcn, void* usr);
598  virtual void removeScenarioLoadedCallback(DtScenarioCallbackFcn fcn, void* usr);
599 
600 
605  virtual bool rollbackToSnapshot(double simTime);
606 
609  virtual bool importScenario(const DtScenario&, const DtSimulationAddress& addr, DtString* errorString = 0);
610  virtual bool importScenario(const DtFilename&, const DtSimulationAddress& addr, DtString* errorString = 0);
611 
616  virtual bool importScenarioDescriptionFile(const DtFilename& file, DtSimulationAddress, const DtString& format,
617  const std::map<std::string, std::string>& importData);
618 
622  virtual void setMaxWaitLoadTime(DtTime t);
623  virtual DtTime maxWaitLoadTime() const;
624 
626 
631 
634  virtual bool exportScenarioDescriptionFile(const DtFilename& file, DtSimulationAddress, const DtString& format,
635  const std::map<std::string, std::string>& importData);
636 
640  virtual DtString guiTerrainDatabaseFilename() const;
641  virtual void setGuiTerrainDatabaseFilename(DtString db);
642 
644  virtual const DtRwKeyValueList& scenarioData() const;
645  virtual void setScenarioData(const DtRwKeyValueList&);
646 
648  virtual bool isSavingScenario() const;
649 
666  virtual bool saveScenario(const DtFilename& saveName,
667  DtPreserveMappingsFcn fcn = 0, void* userData = 0, DtString* error = 0, bool saveToZip = false,
668  bool deleteExistingZip = true, double simTime = -1);
669 
676  virtual bool save(DtString& sError);
677 
682  virtual bool saveScenarioCheckpoint(const DtFilename& filename, double simTime, bool saveToZip = false, DtString* saveError = 0);
683 
686  virtual void takeSnapshot(DtSimulationAddress addr = DtSimSendToAll);
687 
690  virtual void takeBaseSnapshot();
691 
693  virtual void createGlobalDynamicTerrain(bool);
694 
698  virtual void sendSaveScenarioMessage(const DtSimulationAddress& addr = DtSimSendToAll, double simTime = -1,
699  const DtFilename& saveScenarioFilename = "") const;
700 
703  virtual void addBackendSavedCallback(DtBackendSaveCallbackFcn fcn, void* usr);
704  virtual void removeBackendSavedCallback(DtBackendSaveCallbackFcn fcn, void* usr);
705 
709  virtual void addScenarioSavedCallback(
710  DtScenarioCallbackFcn fcn, void* usr);
711  virtual void removeScenarioSavedCallback(
712  DtScenarioCallbackFcn fcn, void* usr);
713 
715  virtual void addScenarioAboutToBeSavedCallback(
716  DtScenarioAboutToBeSavedCallbackFcn fcn, void* usr);
717  virtual void removeScenarioAboutToBeSavedCallback(
718  DtScenarioAboutToBeSavedCallbackFcn fcn, void* usr);
719 
721  virtual void addScenarioExportedCallback(
722  DtScenarioSavedCallbackFcn fcn, void* usr);
723  virtual void removeScenarioExportedCallback(
724  DtScenarioSavedCallbackFcn fcn, void* usr);
725 
727  virtual void addCheckpointSavedCallback(
728  DtCheckpointSavedCallbackFcn fcn, void* usr);
729  virtual void removeCheckpointSavedCallback(
730  DtCheckpointSavedCallbackFcn fcn, void* usr);
731 
735  virtual void addScenarioSavedCallback(
736  DtScenarioSavedCallbackFcn fcn, void* usr);
737  virtual void removeScenarioSavedCallback(
738  DtScenarioSavedCallbackFcn fcn, void* usr);
739 
747  virtual void setOpdSaveName(const DtFilename& f);
748  virtual const DtFilename& opdSaveName() const;
749 
753  virtual void setMaxWaitSaveTime(DtTime t);
754  virtual DtTime maxWaitSaveTime() const;
755 
759  virtual void setOverlayFilename(const DtFilename& overlay);
760  virtual const DtFilename& overlayFilename() const;
761 
762  virtual void setScenarioExtrasFilename(const DtFilename& extras);
763  virtual const DtFilename& scenarioExtrasFilename() const;
764 
768  virtual void setSelectionGroupsFilename(const DtFilename& sel);
769  virtual const DtFilename& selectionGroupsFilename() const;
770 
774  virtual void setSymbolMapFilename(const DtFilename& overlay);
775  virtual const DtFilename& symbolMapFilename() const;
776 
780  virtual void setCreateMenuFilename(const DtFilename& overlay);
781  virtual const DtFilename& createMenuFilename() const;
782 
784  virtual void saveParameterDb(const DtFilename& filename);
785 
793  virtual bool saveSimulationObjectGroup(const DtFilename& smsDirectory, const DtString& groupName,
794  const DtString& groupDescription, int creationFlags, const DtSimulationAddress& addr,
795  const std::map<DtString, DtString>& additionalInformation = std::map<DtString, DtString>(),
796  DtString* saveError = 0, bool saveAsZip = false);
797 
799 
804 
810  virtual void closeScenario(const DtSimulationAddress& addr = DtSimSendToAll,
811  const DtFilename& databaseToOpen = "", bool forceCloseAll = false);
812 
814  virtual void reinitializeScenario();
815 
817 
822 
825  virtual void run(bool useStartStopInteraction = false, const DtSimulationAddress& addr = DtSimSendToAll) const;
826  virtual void pause(bool useStartStopInteraction = false, const DtSimulationAddress& addr = DtSimSendToAll) const;
827 
829  virtual void rewind();
830 
831  virtual void exit(const DtSimulationAddress& addr = DtSimSendToAll) const;
832  virtual void step() const;
833  virtual void setTimeMultiplier(double multiplier) const;
834 
835 
837 
838  //-------------------------------------------------------
839 
846 
850  virtual void loadedScenario(
851  const DtSimulationAddress& addr, unsigned int requestId, const DtU32& capabilities);
852 
856  virtual void backendReceivedScenario(const DtSimulationAddress& addr, unsigned int requestId);
857 
863  virtual void initializeGlobalDynamicTerrain(
864  const DtSimulationAddress& environmentSimBackend = DtSimSendToAll);
865 
870  virtual void save(const DtSimulationAddress& addr, DtIfSaveComplete* s);
871 
875  virtual void processSaveMessages();
876 
880  virtual void exported(const DtSimulationAddress& addr, DtIfExportComplete* s);
881 
883  virtual void completeExport();
884 
888  virtual void savedScenario(const DtSimulationAddress& addr,
889  DtSaveResult result, unsigned int requestId, bool isCheckpointSave = false, double checkpointSimTime = -1);
890 
893  virtual void doPendingSaveWork();
894 
897  virtual void doPendingExportWork();
898 
901  virtual void doPendingLoadWork();
902 
906  virtual DtTime scenarioSimTimeForSave();
907 
911  virtual void setTerrainDatabaseFilename(DtScenario* scen);
912 
916  virtual void setParameterDatabaseFilename(DtScenario* scen);
917 
921  virtual void setPhysicalWorldFilename(DtScenario* scen);
922 
926  virtual void setTimeMultiplier(DtScenario* scen);
927 
931  virtual void setAutoReorganize(DtScenario* scen);
932 
936  virtual void setRandomNumberSeed(DtScenario* scen);
937 
941  virtual void setFrameRateMode(DtScenario* scen);
942 
946  virtual void setFrameDeltaTime(DtScenario* scen);
947 
951  virtual void setExerciseStartTime(DtScenario* scen);
952 
956  virtual void setExerciseStartDateAndTime(DtScenario* scen);
957 
958 
960 
961  //-------------------------------------------------------
962 
977 
978 
979  //Aerodromes
982  virtual void createAerodrome(DtString airportCode, const DtForceType& forceType = DtForceNeutral,
983  const DtSimulationAddress& addr = DtSimSendToAll);
984 
985  //Waypoints (Note-- no way to make a subsection in doxygen; so prevent this word from appearing)
986 
991  virtual void createWaypoint(
992  const DtVector& geocentricPosition,
993  const DtString& uniqueName = DtString::nullString(),
994  const DtString& label = DtString::nullString(),
995  const DtSimulationAddress& addr = DtSimSendToAll,
996  const DtUUID& startingUUID = DtUUID::nullUUID()) const;
997 
1001  virtual void createWaypoint(
1002  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
1003  const DtVector& geocentricPosition,
1004  const DtString& uniqueName = DtString::nullString(),
1005  const DtString& label = DtString::nullString(),
1006  const DtSimulationAddress& addr = DtSimSendToAll,
1007  const DtUUID& startingUUID = DtUUID::nullUUID());
1008 
1010  virtual void modifyWaypoint(
1011  const DtUUID& uuid,
1012  DtString* uniqueName = 0,
1013  DtString* label = 0,
1014  DtVector* geocentricPosition = 0,
1015  const DtSimulationAddress& addr = DtSimSendToAll) const;
1016 
1017  //Routes
1018 
1023  virtual void createRoute(
1024  const DtList& vertices,
1025  const DtString& uniqueName = DtString::nullString(),
1026  const DtString& label = DtString::nullString(),
1027  const DtSimulationAddress& addr = DtSimSendToAll,
1028  const DtUUID& startingUUID = DtUUID::nullUUID()) const;
1029 
1033  virtual void createRoute(
1034  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
1035  const DtList& vertices,
1036  const DtString& uniqueName = DtString::nullString(),
1037  const DtString& label = DtString::nullString(),
1038  const DtSimulationAddress& addr = DtSimSendToAll,
1039  const DtUUID& startingUUID = DtUUID::nullUUID());
1040 
1042  virtual void modifyRoute(
1043  const DtUUID& uuid,
1044  DtString* uniqueName = 0,
1045  DtString* label = 0,
1046  DtList* vertices = 0,
1047  const DtSimulationAddress& addr = DtSimSendToAll) const;
1048 
1049  //Phase Lines
1050 
1055  virtual void createPhaseLine(
1056  const DtVector& dbPoint1,
1057  const DtVector& dbPoint2,
1058  const DtString& uniqueName = DtString::nullString(),
1059  const DtString& label = DtString::nullString(),
1060  const DtSimulationAddress& addr = DtSimSendToAll,
1061  const DtUUID& startingUUID = DtUUID::nullUUID()) const;
1062 
1066  virtual void createPhaseLine(
1067  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
1068  const DtVector& dbPoint1,
1069  const DtVector& dbPoint2,
1070  const DtString& uniqueName = DtString::nullString(),
1071  const DtString& label = DtString::nullString(),
1072  const DtSimulationAddress& addr = DtSimSendToAll,
1073  const DtUUID& startingUUID = DtUUID::nullUUID());
1074 
1076  virtual void modifyPhaseLine(
1077  const DtUUID& uuid,
1078  DtString* uniqueName = 0,
1079  DtString* label = 0,
1080  DtVector* newDbPoint1 = 0,
1081  DtVector* newDbPoint2 = 0,
1082  const DtSimulationAddress& addr = DtSimSendToAll) const;
1083 
1084  //Control Areas
1085 
1091  virtual void createControlArea(
1092  const DtList& vertices,
1093  const DtString& uniqueName = DtString::nullString(),
1094  const DtString& label = DtString::nullString(),
1095  const DtSimulationAddress& addr = DtSimSendToAll,
1096  const DtUUID& startingUUID = DtUUID::nullUUID(),
1097  const DtAppearance& appearance = DtVrfRemoteController::theDefaultAreaAppearance) const;
1098 
1102  virtual void createControlArea(
1103  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
1104  const DtList& vertices,
1105  const DtString& uniqueName = DtString::nullString(),
1106  const DtString& label = DtString::nullString(),
1107  const DtSimulationAddress& addr = DtSimSendToAll,
1108  const DtUUID& startingUUID = DtUUID::nullUUID(),
1109  const DtAppearance& appearance = DtVrfRemoteController::theDefaultAreaAppearance);
1110 
1112  virtual void modifyControlArea(
1113  const DtUUID& uuid,
1114  DtString* uniqueName = 0,
1115  DtString* label = 0,
1116  DtList* newVertices = 0,
1117  const DtSimulationAddress& addr = DtSimSendToAll) const;
1118 
1119  //Obstacles
1120 
1126  virtual void createObstacle(
1127  const DtList& vertices,
1128  const DtString& uniqueName = DtString::nullString(),
1129  const DtString& label = DtString::nullString(),
1130  const DtSimulationAddress& addr = DtSimSendToAll,
1131  const DtUUID& startingUUID = DtUUID::nullUUID()) const;
1132 
1136  virtual void createObstacle(
1137  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
1138  const DtList& vertices,
1139  const DtString& uniqueName = DtString::nullString(),
1140  const DtString& label = DtString::nullString(),
1141  const DtSimulationAddress& addr = DtSimSendToAll,
1142  const DtUUID& startingUUID = DtUUID::nullUUID());
1143 
1145  virtual void modifyObstacle(
1146  const DtUUID& uuid,
1147  DtString* uniqueName = 0,
1148  DtString* label = 0,
1149  DtList* newVertices = 0,
1150  const DtSimulationAddress& addr = DtSimSendToAll) const;
1151 
1152  //Overlay objects
1153 
1166  virtual void createOverlayObject(
1167  const DtEntityType& type,
1168  const DtList& vertices,
1169  const DtForceType& force,
1170  const DtString& name,
1171  const DtString& label,
1172  int color,
1173  const DtString& parentName,
1174  bool projection,
1175  bool closedFigure,
1176  const DtAppearance& appearance = DtAppearance::nullAppearance(),
1177  const DtUUID& attachTo = DtUUID::nullUUID(),
1178  char* userData = 0,
1179  int dataSize = 0,
1180  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
1181  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
1183  const DtSimulationAddress& addr = DtSimSendToAll,
1184  unsigned int rId = 0,
1185  std::list<DtAdminContent*>* initialAdminContent = 0,
1186  std::list<DtSimInterfaceContent*>* initialInterfaceContent = 0,
1187  const DtUUID& uuidForCreation = DtUUID::nullUUID());
1188 
1192  virtual void processOverlayObjectCreated(const DtString& name, const DtEntityIdentifier& id, const DtUUID& uuid,
1193  DtVrfOverlayObjectModify* modifications);
1194 
1196  virtual void setPhysicalLineWidth(const DtSimulationAddress& addr,
1197  const DtUUID& entityId, double w);
1198 
1200  virtual void setPhysicalLineHeight(const DtSimulationAddress& addr,
1201  const DtUUID& entityId, double h);
1202 
1204  virtual void setCeiling(const DtSimulationAddress& addr,
1205  const DtUUID& entityId, double c);
1206 
1210  virtual void sendVrfOverlayObjectModifyMsg(
1211  const DtSimulationAddress& addr,
1212  const DtUUID& uuid,
1213  int color,
1214  const DtString& parentName,
1215  const DtUUID& attachTo,
1216  bool keepExistingAttachment = true,
1217  char* userData = 0,
1218  int len = 0) const;
1219 
1220  //Indirect artillery objects
1221 
1223  virtual void createIndirectArtillery(
1224  const DtVrfIndirectArtilleryObjectModify * params,
1225  const DtSimulationAddress& addr);
1226 
1230  virtual void processIndirectArtilleryObjectCreated(const DtString& name, const DtEntityIdentifier& id, const DtUUID& uuid,
1231  DtVrfIndirectArtilleryObjectModify* modifications);
1232 
1233  virtual void sendVrfIndirectArtilleryObjectModifyMsg(
1234  const DtSimulationAddress& addr,
1235  const DtUUID& uuid,
1236  const DtVrfIndirectArtilleryObjectModify * mod) const;
1237 
1239 
1240  //-------------------------------------------------------
1241 
1245 
1248  virtual void createObject(
1249  const DtEntityType& type,
1250  DtForceType force,
1251  DtList* vertices,
1252  const DtString& name,
1253  const DtSimulationAddress& addr,
1254  const DtUUID& startingUUID = DtUUID::nullUUID());
1255 
1259  virtual void objectCreated(unsigned int requestId,
1260  const DtString& name, const DtEntityIdentifier& id, const DtUUID& uuid);
1261 
1263  virtual void deleteObject(const DtUUID& uuid,
1264  const DtSimulationAddress& addr = DtSimSendToAll) const;
1265 
1267  virtual void createEntity(
1268  const DtEntityType& type,
1269  const DtVector& geocentricPosition,
1270  DtForceType force,
1271  DtReal heading,
1272  const DtString& uniqueName = DtString::nullString(),
1273  const DtString& label = DtString::nullString(),
1274  const DtSimulationAddress& addr = DtSimSendToAll,
1275  bool groundClamp = true,
1276  const DtUUID& startingUUID = DtUUID::nullUUID(),
1277  const DtString& globalId = DtString::nullString()) const;
1278 
1282  virtual void createEntity(
1283  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
1284  const DtEntityType& type,
1285  const DtVector& geocentricPosition,
1286  DtForceType force,
1287  DtReal heading,
1288  const DtString& uniqueName = DtString::nullString(),
1289  const DtString& label = DtString::nullString(),
1290  const DtSimulationAddress& addr = DtSimSendToAll,
1291  bool groundClamp = true,
1292  const DtUUID& startingUUID = DtUUID::nullUUID(),
1293  const DtString& globalId = DtString::nullString());
1294 
1295  virtual void createAggregate(
1296  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
1297  const DtEntityType& type,
1298  const DtVector& geocentricPosition,
1299  DtForceType force,
1300  DtReal heading,
1301  const DtString& uniqueName,
1302  const DtString& label = DtString::nullString(),
1303  const DtSimulationAddress& addr = DtSimSendToAll,
1304  DtAggregateState initialAggregateState = DtDisaggregated,
1305  const DtUUID& startingUUID = DtUUID::nullUUID(),
1306  bool createSubordinates = false);
1307 
1309  virtual void createAggregate(
1310  const DtEntityType& type,
1311  const DtVector& geocentricPosition,
1312  DtForceType force,
1313  DtReal heading,
1314  DtList* entityNames = 0,
1315  const DtSimulationAddress& addr = DtSimSendToAll,
1316  DtAggregateState initialAggregateState = DtDisaggregated,
1317  unsigned int requestId = 0,
1318  const DtUUID& startingUUID = DtUUID::nullUUID()) const;
1319 
1323  virtual void createAggregate(
1324  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
1325  const DtEntityType& type,
1326  const DtVector& geocentricPosition,
1327  DtForceType force,
1328  DtReal heading,
1329  DtList* entityNames = 0,
1330  const DtSimulationAddress& addr = DtSimSendToAll,
1331  DtAggregateState initialAggregateState = DtDisaggregated,
1332  const DtUUID& startingUUID = DtUUID::nullUUID());
1333 
1336  virtual void addToOrganization(
1337  const DtUUID& objectId,
1338  const DtUUID& newSuperiorId,
1339  const DtSimulationAddress& addr = DtSimSendToAll);
1340 
1344  virtual void addToForceLevelOrganization(
1345  const DtUUID& uuid,
1346  const DtSimulationAddress& addr = DtSimSendToAll);
1347 
1350  virtual void removeFromOrganization(
1351  const DtUUID& uuid,
1352  const DtSimulationAddress& addr = DtSimSendToAll);
1353 
1357  virtual void setLabel(
1358  const DtUUID& uuid, const DtString& label,
1359  const DtSimulationAddress& addr = DtSimSendToAll) const;
1360 
1365  virtual void setOverlayParent(
1366  const DtUUID& uuid, const DtString& label,
1367  const DtSimulationAddress& addr = DtSimSendToAll) const;
1368 
1372  virtual void setAltitude(
1373  const DtUUID& uuid, double altitude, bool aboveGroundLevel = false,
1374  const DtSimulationAddress& addr = DtSimSendToAll) const;
1375 
1379  virtual void setLocation(
1380  const DtUUID& uuid, DtVector coord,
1381  const DtSimulationAddress& addr = DtSimSendToAll) const;
1382 
1384  virtual void setAppearance(
1385  const DtUUID& uuid, int appearance,
1386  const DtSimulationAddress& addr = DtSimSendToAll) const;
1387 
1389  virtual void setCapabilities(
1390  const DtUUID& uuid, int capabilities,
1391  const DtSimulationAddress& addr = DtSimSendToAll) const;
1392 
1396  virtual void setHeading(
1397  const DtUUID& uuid, double degrees,
1398  const DtSimulationAddress& addr = DtSimSendToAll) const;
1399 
1403  virtual void setForce(
1404  const DtUUID& uuid, DtForceType force,
1405  const DtSimulationAddress& addr = DtSimSendToAll) const;
1406 
1412  virtual void requestSpotReports(const DtUUID& uuid, int onOff,
1413  const DtSimulationAddress& addr = DtSimSendToAll) const;
1414 
1418  virtual void requestSendTDLMessages(const DtUUID& uuid, int onOff,
1419  const DtSimulationAddress& addr = DtSimSendToAll) const;
1420 
1426  virtual void requestEngagementReports(const DtUUID& uuid, bool onOff,
1427  const DtSimulationAddress& addr = DtSimSendToAll) const;
1428 
1432  virtual void setResource(const DtUUID& uuid,
1433  const DtEntityType& resourceType, double value, int bin = 0,
1434  const DtSimulationAddress& addr = DtSimSendToAll) const;
1435 
1441  virtual void setRulesOfEngagement(
1442  const DtUUID& uuid, const char* rulesType,
1443  const DtSimulationAddress& addr = DtSimSendToAll) const;
1444 
1449  virtual void setSectorOfResponsibility(
1450  const DtUUID& uuid, double center, double size,
1451  const DtSimulationAddress& addr = DtSimSendToAll) const;
1452 
1456  virtual void setSpeed(
1457  const DtUUID& uuid, double speed,
1458  const DtSimulationAddress& addr = DtSimSendToAll) const;
1459 
1463  virtual void setCurrentSpeed(
1464  const DtUUID& uuid, double speed,
1465  const DtSimulationAddress& addr = DtSimSendToAll) const;
1466 
1470  virtual void setTarget(
1471  const DtUUID& uuid, const DtUUID& target,
1472  const DtSimulationAddress& addr = DtSimSendToAll) const;
1473 
1477  virtual void setSuperior(
1478  const DtUUID& uuid, const DtUUID& superior,
1479  const DtSimulationAddress& addr = DtSimSendToAll) const;
1480 
1482  virtual void setTaskedBySuperior(const DtUUID& uuid,
1483  const DtSimulationAddress& addr = DtSimSendToAll) const;
1484 
1488  virtual void setConcealed(const DtUUID& uuid,
1489  bool yes, const DtSimulationAddress& addr = DtSimSendToAll) const;
1490 
1492  virtual void setEmitter(const DtUUID& uuid,
1493  int emitterId, bool on,
1494  const DtSimulationAddress& addr = DtSimSendToAll) const;
1495 
1497  virtual void setEmergencyBeacon(const DtUUID& uuid,
1498  bool on,
1499  const DtSimulationAddress& addr = DtSimSendToAll) const;
1500 
1502  virtual void setIff(const DtUUID& uuid,
1503  bool mode1on, int mode1code,
1504  bool mode2on, int mode2code,
1505  bool mode3on, int mode3code,
1506  bool mode4on, int mode4code,
1507  DtIffAtcNavaidsAltParm4 altParm4,
1508  bool modeCon, bool useAltModeC,
1509  bool modeSon, bool emergency,
1510  bool flash, bool sti, bool modeSTcasI,
1511  int pin, bool mode5LevelSelection,
1512  unsigned int messageFormatsPresent, unsigned int nationalOrigin,
1513  unsigned int navigationSource, unsigned int figureOfMerit,
1514  const DtSimulationAddress& addr = DtSimSendToAll) const;
1515 
1517  virtual void restore(const DtUUID& uuid,
1518  const DtSimulationAddress& addr = DtSimSendToAll) const;
1519 
1523  virtual void setDestroyed(const DtUUID& uuid,
1524  const DtSimulationAddress& addr = DtSimSendToAll) const;
1525 
1529  virtual void setLifeformWeaponState(
1530  const DtUUID& uuid, DtWeaponState weapon,
1531  const DtSimulationAddress& addr) const;
1532 
1534  void setSystemEnabled(const DtUUID& name, const DtString& systemName,
1535  bool val,
1536  const DtSimulationAddress& addr = DtSimSendToAll) const;
1537 
1541  virtual void setLifeformPosture(
1542  const DtUUID& uuid, DtLifeformState posture,
1543  const DtSimulationAddress& addr) const;
1544 
1547  virtual void setAggregateFormation(
1548  const DtUUID& leader, const DtString& formationName,
1549  const DtSimulationAddress& addr = DtSimSendToAll) const;
1550 
1554  virtual void reorganizeAggregate(const DtUUID& leader,
1555  const DtSimulationAddress& addr = DtSimSendToAll) const;
1556 
1560  virtual void sendSetDataMsg(
1561  const DtUUID& recipient, DtSetDataRequest* msg,
1562  const DtSimulationAddress& addr,
1563  bool sendImmediately = false) const;
1564 
1566 
1567  //-----------------------------------------------------
1568 
1572 
1577  virtual void sendVrfObjectCreateMsg(
1578  const DtSimulationAddress& addr,
1579  unsigned int requestId,
1580  const DtString& name,
1581  const DtEntityType& type,
1582  const DtList& vertices,
1583  const DtString& label,
1584  const DtAppearance& appearance,
1585  DtForceType force,
1586  bool projection,
1587  bool closedFigure,
1588  DtReal heading,
1589  bool createSubObjects,
1590  bool clampToGroundFlag = true,
1591  const DtString& initialFormation = DtString::nullString(),
1592  DtAggregateState initialAggregateState = DtDisaggregated,
1593  const DtString& userData = DtString::nullString(),
1594  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
1595  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
1596  std::list<DtAdminContent*>* initialAdminContent = 0,
1597  std::list<DtSimInterfaceContent*>* initialInterfaceContent = 0,
1598  const DtString& overlayParent = "",
1599  const DtUUID& uuidForCreation = DtUUID::nullUUID(),
1600  const DtString& globalId = DtString::nullString()) const;
1601 
1608  virtual void sendVrfObjectModifyMsg(
1609  const DtSimulationAddress& addr,
1610  const DtUUID& uuid,
1611  DtString* name = 0,
1612  DtList* vertices = 0,
1613  DtForceType* force = 0,
1614  DtReal* heading = 0,
1615  DtString* label = 0,
1616  DtAppearance* appearance = 0,
1617  DtString* overlayParent = 0,
1618  DtString* userData = 0) const;
1619 
1621 
1622  //------------------------------------------------------
1623 
1628 
1632  virtual void sendTaskMsg(
1633  const DtUUID& recipient, DtSimTask* task,
1634  const DtSimulationAddress& addr = DtSimSendToAll) const;
1635 
1638  virtual void moveAlongRoute(
1639  const DtUUID& entityName, const DtUUID& routeName,
1640  const DtSimulationAddress& addr = DtSimSendToAll) const;
1641 
1644  virtual void moveToWaypoint(
1645  const DtUUID& entityName, const DtUUID& waypoint,
1646  const DtSimulationAddress& addr = DtSimSendToAll) const;
1647 
1651  virtual void moveToLocation(
1652  const DtUUID& entityName, const DtVector& destinationLocation,
1653  const DtSimulationAddress& addr = DtSimSendToAll) const;
1654 
1657  virtual void patrolBetweenWaypoints(
1658  const DtUUID& uuid,
1659  const DtUUID& waypoint1, const DtUUID& waypoint2,
1660  const DtSimulationAddress& addr = DtSimSendToAll) const;
1661 
1664  virtual void patrolAlongRoute(
1665  const DtUUID& uuid, const DtUUID& route,
1666  const DtSimulationAddress& addr = DtSimSendToAll) const;
1667 
1673  virtual void followEntity(
1674  const DtUUID& uuid,
1675  const DtUUID& leader, const DtVector& offset,
1676  const DtSimulationAddress& addr = DtSimSendToAll) const;
1677 
1680  virtual void wait(
1681  const DtUUID& uuid,
1682  const DtSimulationAddress& addr = DtSimSendToAll) const;
1683 
1686  virtual void waitDuration(
1687  const DtUUID& uuid, DtTime duration,
1688  const DtSimulationAddress& addr = DtSimSendToAll) const;
1689 
1692  virtual void waitElapsed(
1693  const DtUUID& uuid, DtTime elapsed,
1694  const DtSimulationAddress& addr = DtSimSendToAll) const;
1695 
1697  virtual void skipTask(const DtUUID& uuid,
1698  const DtSimulationAddress& addr = DtSimSendToAll) const;
1699 
1701 
1702  //--------------------------------------------------------------
1703 
1707 
1710  virtual void restartPlan(const DtUUID& uuid,
1711  const DtSimulationAddress& addr = DtSimSendToAll) const;
1712 
1720  virtual void assignPlanByName(
1721  const DtUUID& uuid, const DtPlan& plan,
1722  const DtSimulationAddress& addr = DtSimSendToAll,
1723  int *retiStatus = NULL, DtString* retsStmt = NULL) const;
1724 
1726  virtual void assignMultiplePlanByName(
1727  const std::vector<DtUUID>& entities, const DtPlan& plan,
1728  const DtSimulationAddress& addr = DtSimSendToAll,
1729  int *retiStatus = NULL, DtString* retsStmt = NULL) const;
1730 
1735  virtual void requestPlan(
1736  const DtUUID& uuid,
1737  bool addStmtCallback = true,
1738  const DtSimulationAddress& addr = DtSimSendToAll) const;
1739 
1744  virtual void subscribePlan(const DtUUID& uuid,
1745  DtPlanCallbackFcn fn, void* usr,
1746  const DtSimulationAddress& addr = DtSimSendToAll);
1747 
1751  virtual void receivedPlan(const DtUUID& uuid, bool isGlobal,
1752  const std::vector<DtSimStatement*>& statements);
1753 
1759  virtual void requestMultiplePlan(const std::vector<DtUUID>& entities,
1760  DtMultiplePlanRequestCallbackFcn fcn, void *usr,
1761  const DtSimulationAddress& addr = DtSimSendToAll);
1762 
1763  virtual void requestMultiplePlan(const std::vector<DtUUID>& entities,
1764  const DtSimulationAddress& addr = DtSimSendToAll);
1765 
1769  virtual void processReceivedMultiPlan(DtIfMultiplePlanResponse* msg);
1770 
1773  virtual void unsubscribePlan(const DtUUID& uuid,
1774  DtPlanCallbackFcn fn, void* usr);
1775 
1778  virtual void unsubscribeAllPlans();
1779 
1784  virtual void addPlanStatementCallback(const DtUUID& uuid,
1785  DtPlanStatementCallbackFcn callback, void* usrData);
1786 
1789  virtual void removePlanStatementCallback(const DtUUID& uuid,
1790  DtPlanStatementCallbackFcn callback, void* usrData);
1791 
1794  virtual void removeAllPlanStatementCallbacks();
1795 
1801  virtual void receivedPlanStmt(const DtUUID& uuid, bool isGlobal,
1802  DtPlanStatus planStatus);
1803 
1808  virtual void addPlanCompleteCallback(const DtUUID& uuid,
1809  DtPlanCompleteCallbackFcn callback, void* usrData);
1810 
1813  virtual void removePlanCompleteCallback(const DtUUID& uuid,
1814  DtPlanCompleteCallbackFcn callback, void* usrData);
1815 
1818  virtual void removeAllPlanCompleteCallbacks();
1819 
1822  virtual void abandonPlan(const DtUUID& uuid,
1823  const DtSimulationAddress& addr = DtSimSendToAll) const;
1824 
1826 
1830 
1832  virtual void requestGlobalPlansList(const DtSimulationAddress& addr);
1833 
1841  virtual void assignGlobalPlan(
1842  const DtString& name, const DtPlan& plan,
1843  const DtSimulationAddress& addr = DtSimSendToAll,
1844  int *retiStatus = NULL, DtString* retsStmt = NULL) const;
1845 
1847  virtual void deleteGlobalPlan(const DtUUID& name,
1848  const DtSimulationAddress& addr = DtSimSendToAll) const;
1849 
1851  virtual void launchGlobalPlan(const DtUUID&, const DtSimulationAddress& addr) const;
1852 
1854 
1855  //---------------------------------------------------------------
1856 
1859 
1864  virtual DtVrfObjectMessageExecutive* objectMessageExecutive();
1865 
1872  virtual void sendMessageToObject(DtVrfObjectMessage* objectMessage,
1873  const DtSimulationAddress& addr = DtSimSendToAll,
1874  bool sendImmediately = false) const;
1875 
1881  virtual DtRadioMessageListener* radioMessageListener();
1882 
1884 
1885  //--------------------------------------------------------------
1886 
1891 
1898  virtual void embarkObject(const DtSimulationAddress& addr, const DtUUID& entity, const DtUUID& ontoEntity,
1899  bool loadOverride = false, const DtVector& loadOverridePosition = DtVector::zero());
1900 
1901  virtual void disembarkObject(const DtSimulationAddress& addr, const DtUUID& entity);
1902  virtual void disembarkAllObjects(const DtSimulationAddress& addr, const DtUUID& entity);
1903 
1906  virtual void requestTasksAndSetsFor(const DtSimulationAddress& addr,
1907  const DtUUID& entityName);
1908 
1910  virtual void requestTasksAndSetsFor(const std::vector<DtUUID>& names);
1911 
1914  virtual void requestDIGuyAppearancesAndAnimations(const DtSimulationAddress& addr,
1915  const DtUUID& entityName);
1916 
1918  virtual void requestDIGuyAppearancesAndAnimations(const std::vector<DtUUID>& names);
1919 
1921  virtual void requestIndirectArtilleryInformation(const DtUUID&);
1922 
1929  virtual void requestResources(const DtUUID& uuid = DtUUID::nullUUID(),
1930  const std::list<DtEntityType>* list = 0, unsigned requestId = 0);
1931 
1933  virtual void monitorResources(bool on, const DtUUID& uuid = DtUUID::nullUUID(),
1934  const std::list<DtEntityType>* list = 0, int monitorPeriod = 10, unsigned requestId = 0);
1935 
1937 
1938  //---------------------------------------------------------------
1939 
1943 
1946  virtual void addObjectConsoleMessageCallback(
1947  DtObjectConsoleMessageCallbackFcn fcn, void* usr = 0);
1948  virtual void removeObjectConsoleMessageCallback(
1949  DtObjectConsoleMessageCallbackFcn fcn, void* usr = 0);
1950 
1953  virtual void setObjectNotifyLevel(const DtUUID& objectName,
1954  DtNotifyLevelType notifyLevel, const DtSimulationAddress& addr = DtSimSendToAll);
1955 
1959  virtual void logObjectConsoleToFile(const DtUUID& objectName,
1960  const DtFilename filename);
1961 
1964  virtual void stopLoggingObjectConsoleToFile(const DtUUID& objectName);
1965 
1968  virtual void addBackendConsoleMessageCallback(
1969  DtBackendConsoleMessageCallbackFcn fcn, void* usr = 0);
1970  virtual void removeBackendConsoleMessageCallback(
1971  DtBackendConsoleMessageCallbackFcn fcn, void* usr = 0);
1972 
1975  virtual void processCommentInteraction(const makVrfEvents::DtCommentEvent* inter);
1976 
1978 
1979 //-----------------------------------------------------------
1983 
1987  virtual void requestJoystickInformation(const DtUUID&, DtJoystickControlResponseFcn, void*,
1988  const DtSimulationAddress& addr = DtSimSendToAll, bool sendImmediately = false);
1989 
1993  virtual void takeControlOf(const DtUUID&, const std::set<DtString>& functionGroups,
1994  const DtSimulationAddress& addr = DtSimSendToAll, bool sendImmediately = false);
1995 
1999  virtual void releaseControlOf(const DtUUID&, const std::set<DtString>& functionGroups =
2000  std::set<DtString>(), const DtSimulationAddress& addr = DtSimSendToAll, bool sendImmediately = false);
2001 
2005  virtual void sendJoystickControl(const DtUUID&, const DtString& functionGroup,
2006  const DtString& function, double value, bool repeat = false, const DtSimulationAddress& addr = DtSimSendToAll,
2007  bool sendImmediately = false);
2008 
2010 
2011  //-----------------------------------------------------------
2017  virtual DtSimulationStatus simulationStatus() const;
2018 
2020  virtual void addSimulationStatusChangedCallback(DtSimulationStatusChangedCallbackFcn, void*);
2021  virtual void removeSimulationStatusChangedCallback(DtSimulationStatusChangedCallbackFcn, void*);
2022 
2024 
2025  //-----------------------------------------------------------
2026 
2031  virtual DtVrfObjectMessageFactory* vrfObjectMsgFactory();
2032  virtual DtCondExprFactory* condExprFactory();
2033  virtual DtStatementFactory* stmtFactory();
2034  virtual DtSimReportFactory* reportFactory();
2035  virtual DtSimTaskFactory* taskFactory();
2036  virtual DtSetDataRequestFactory* setDataFactory();
2037  virtual DtSimCommandFactory* simCommandFactory();
2038  virtual DtAdminContentFactory* adminContentFactory();
2040 
2041  virtual void createOrSetMessageInterface(DtVrfMessageInterface* iface);
2042  virtual void createOrSetVrfTDLMessageInterface(DtVrfTDLMessageInterface* iface);
2043 
2050  virtual void tick();
2051 
2054  virtual void setMonitorBackendState(bool);
2055  bool monitorBackendState() const
2056  {
2057  return myMonitorBackendState;
2058  }
2059 
2060 public:
2061 
2064 
2067  static void savedScenarioCb(DtSimMessage* msg, void* usr);
2068 
2071  static void exportScenarioCb(DtSimMessage* msg, void* usr);
2072 
2075  static void loadedScenarioCb(DtSimMessage* msg, void* usr);
2076 
2079  static void backendReceivedScenarioCb(DtSimMessage* msg, void* usr);
2080 
2083  static void receiveFileCb(const DtFilename& filename, void* usr);
2084 
2086  static void receivedMultiPlanCb(DtSimMessage* msg, void* usr);
2087 
2089  static void objectCreatedCb(DtSimMessage* msg, void* usr);
2090 
2092  static void receivedPlanCb(DtSimMessage* msg, void* usr);
2093 
2095  static void receivedPlanStmtCb(DtSimMessage* msg, void* usr);
2096 
2099  static void overlayObjectCreatedCallback(const DtString& name, const DtEntityIdentifier& id,
2100  const DtUUID& uuid, void* usr);
2101 
2104  static void globalEnvironmentCreatedCb(const DtString& name, const DtEntityIdentifier& id, const DtUUID& uuid, void* usr);
2105  virtual void processGlobalEnvironmentCreated(const DtString& name, const DtEntityIdentifier& id, const DtUUID& uuid);
2106 
2109  static void indirectArtilleryObjectCreatedCallback(const DtString& name, const DtEntityIdentifier& id,
2110  const DtUUID& uuid, void* usr);
2111 
2113  static void resourcesProcessedCb(DtSimMessage* msg, void* usr);
2114 
2117  static void spatialSubdivisionConfigurationCb(DtSimMessage* msg, void* usr);
2118 
2121  virtual void commentInteractionCallback(const makVrfEvents::DtEvent&);
2122 
2124 
2126  boost::signals2::signal<void ()> signal_initialized;
2127 
2128 protected:
2129  static void SimulationStatusChangedCallback(DtSimulationStatus, void*);
2130  virtual void processSimulationStatusChanged(DtSimulationStatus);
2131 
2132  virtual void registerEventManagerCallbacks();
2133  virtual void unregisterEventManagerCallbacks();
2134 
2136  static void joystickControlResponse(DtSimMessage* msg, void* usr);
2137  virtual void processJoystickControlResponse(DtSimMessage* msg);
2138 
2142  virtual void onInit();
2143  virtual void resetStateData();
2144  virtual void emptyLists();
2145 
2147  virtual void sendAggregateAsMsg(
2148  const DtSimulationAddress& addr,
2149  unsigned int requestId,
2150  const DtEntityType& objectType,
2151  DtForceType force,
2152  const DtVector& position,
2153  DtReal heading,
2154  DtList* entityNames,
2155  DtAggregateState initialAggregateState,
2156  const DtUUID& startingUUID = DtUUID::nullUUID()) const;
2157 
2159  virtual DtVrfConfigurationFileComposer* createComposer();
2160 
2163  virtual void sendQuerySpatialSubdivisionConfigurationRequest(
2164  const DtSimulationAddress& backendAddress,
2165  DtSpatialSubdivisionType spatialSubdivisionType ,
2166  DtServerRequestResponseCallbackFcn fcn, void* usr);
2167 
2174  virtual bool arbitrarySimAddress(const DtEntityType&, DtSimulationAddress& address) const;
2175 
2183  virtual bool addStatementsAndSendPlan(const DtPlan& plan, DtIfPlan& planMsg,
2184  const DtSimulationAddress& addr = DtSimSendToAll,
2185  int *retiStatus = 0, DtString* retsStmt = 0) const;
2186 
2189  static void deliverRadioMessageCallback(DtSimMessage* msg, void* usr);
2190  static void vrfObjectMessageCallback(const DtVrfObjectMessage* objMsg, void* usr);
2193  virtual void processVrfObjectMessage(const DtVrfObjectMessage* objectMsg);
2194 
2196  static void backendStatusUpdate(const DtSimulationAddress&, void*);
2197  virtual void processBackendStatusUpdate(const DtSimulationAddress&);
2198 
2199  virtual void processLoadScenarioEvent(const makVrfEvents::DtEvent&);
2200  virtual void processCloseScenarioEvent(const makVrfEvents::DtEvent&);
2201 
2208  virtual void initializeGlobalEnvironment(
2209  const DtSimulationAddress& environmentSimBackend = DtSimSendToAll);
2210 
2213  static void globalEnvironmentCreatedCallback(const makVrf::DtExternalCurrentFrameState*, void*);
2214  virtual void processGlobalEnvironmentCreated(const makVrf::DtExternalCurrentFrameState*);
2215 
2217  virtual void generateScenarioRunId();
2218 
2219 protected:
2231  DtList myBeList;
2232  std::map<DtString, bool> myBackendReceivedScenario;
2233 
2242 
2243  typedef std::list<PlanCbInfo> DtPlanCallbackListType;
2245  typedef std::list<StmtCbInfo> DtStatementCallbackListType;
2247  typedef std::list<PlanCompleteCbInfo> DtPlanCompleteCallbaclListType;
2249 
2250  DtHashlist myObjectCbs;
2251 
2252  typedef std::list<std::pair<DtObjectConsoleMessageCallbackFcn, void*> >
2255 
2256  typedef std::list<std::pair<DtBackendConsoleMessageCallbackFcn, void*> >
2259 
2262  DtFilename mySaveName;
2264  DtFilename myOverlayFilename;
2268  DtFilename myOpdName;
2281 
2284 
2287 
2290 
2300 
2305 
2308 
2311  DtFilename myTempDirectory;
2312 
2316  DtInetAddr myInetAddr;
2317 
2322  mutable unsigned int myRequestIdCounter;
2323 
2326 
2329 
2332 
2335 
2337  DtFilename myExportFile;
2338 
2341 
2345 
2347 
2349  typedef std::map<DtString, std::pair<DtJoystickControlResponseFcn, void*> > JoystickResponseCallbackInfo;
2351 
2354 
2358  std::set<DtSimulationAddress> myBackendsWithObjects;
2359 
2361  std::set<DtSimulationAddress> myBackendsLoaded;
2362  std::vector<DtString> myLoadingSimulationModelSets;
2364 
2367 
2368  boost::signals2::connection myPostAdvanceFrameConnection;
2369 
2371 
2373  bool myMonitorBackendState = false;
2374 
2375  static DtAppearance theDefaultAreaAppearance;
2376 };
2377 
2386 {
2387 public:
2388  DtVrfOverlayObjectModify(int color, const DtUUID& attachTo,
2389  char* userData,
2390  int iUserDataSize, DtOverlayCreatedCallbackFcn fcn,
2391  DtVrfRemoteController* control);
2392 
2393  virtual ~DtVrfOverlayObjectModify();
2394 
2395  virtual int color() const;
2396  virtual const DtUUID& attachTo() const;
2397  virtual void userData(char** data, int* userDataSize);
2398  virtual DtVrfRemoteController* remoteController();
2399  virtual DtOverlayCreatedCallbackFcn userCallback();
2400 
2401 protected:
2402  int myColor;
2405  char* myUserData;
2408 };
2409 
2413 {
2414 public:
2417 
2419  virtual DtVrfRemoteController* remoteController() const;
2420  virtual void setRemoteController(DtVrfRemoteController*);
2421 
2423  virtual const DtIfIndirectArtilleryData & data() const;
2424  virtual DtIfIndirectArtilleryData & data();
2425  virtual void setData(const DtIfIndirectArtilleryData & data);
2426 
2427 protected:
2430 };
void(* DtObjectConsoleMessageCallbackFcn)(const DtUUID &id, int notifyLevel, const DtString &message, void *usr)
Definition: vrfRemoteController.h:113
class DtIfPlan:
Definition: ifPlan.h:61
DtList myBeSavedCbs
list of any preferred new-style save callbacks that have been registered
Definition: vrfRemoteController.h:2241
UUID is a unique ID wrapper class.
Definition: uuid.h:59
DtDefaultAdminContentFactory myAdminContentFact
Definition: vrfRemoteController.h:2299
bool operator==(const StmtCbInfo &orig) const
Definition: vrfRemoteController.h:153
Version of DtVrfObjectMessageFactory that registers all the default VR-Forces VrfObject types...
Definition: defaultVrfObjectMessageFactory.h:18
Factory for DtSimTask instances used in messages. Overridden from the template class to specialize th...
Definition: simTaskFactory.h:22
Instances of this class split up config files.
Definition: vrfConfigurationFileComposer.h:24
bool myReceivedExportFile
Set to true once export file has been received.
Definition: vrfRemoteController.h:2340
bool myNeedsGlobalEnvironment
Set to true if needs to create global environment on first load of simulation.
Definition: vrfRemoteController.h:2283
bool myDidRemap
true if at some point during the save of this scenario the user decided to remap the objects to the n...
Definition: vrfRemoteController.h:2280
Class which holds a list of string key and string value pairs. This class is a DtReaderWriter, and also has associated DtBufferSerialize methods available.
Definition: rwKeyValueList.h:21
DtDefaultStatementFactory myStmtFact
Definition: vrfRemoteController.h:2294
unsigned int myRequestIdCounter
Incremented by generateRequestId() to assign new request id&#39;s. This value should only be changed by g...
Definition: vrfRemoteController.h:2322
bool myPreserveMappings
false if a DtPreserveMappingsFcn returned false when saving a scenario
Definition: vrfRemoteController.h:2276
DtIfLoadScenario is a composite message containing all the elements needed to begin a simulation...
Definition: ifLoadScenario.h:21
The DtVrfTDLMessageInterface is a transporter for sending TDL messages as data interactions using a V...
Definition: vrfTDLMessageInterface.h:37
DtSimulationStatus
Definition: backend.h:26
Sent when the export of the scenario file is complete.
Definition: ifExportComplete.h:21
#define DT_DLL_vrfcontrol
This file is used to determine how to build.
Definition: vrfcontrolDefines.h:28
std::map< DtString, std::pair< DtJoystickControlResponseFcn, void * > > JoystickResponseCallbackInfo
Joystick callback information.
Definition: vrfRemoteController.h:2349
DtHashlist myObjectCbs
Definition: vrfRemoteController.h:2250
DtFilename myTempDirectory
Location for temporary files generated by the configuration composer and file transporter.
Definition: vrfRemoteController.h:2311
Definition: scenario.h:52
DtList myReceivedFiles
Definition: vrfRemoteController.h:2225
int myScenarioRunId
Definition: vrfRemoteController.h:2372
DtFilename myCreateMenuFilename
Definition: vrfRemoteController.h:2267
void(* DtScenarioCallbackFcn)(void *usr)
Definition: vrfRemoteController.h:83
int myColor
Definition: vrfRemoteController.h:2402
void(* DtIndirectArtilleryCreatedCallbackFcn)(const DtString &name, const DtEntityIdentifier &id, const DtUUID &uuid, void *usr)
Definition: vrfRemoteController.h:109
Definition: commentEvent.h:15
DtUUID planName
Definition: vrfRemoteController.h:160
~StmtCbInfo()
Definition: vrfRemoteController.h:152
DtList myScenExportedCbs
list of any preferred new-style save callbacks that have been registered
Definition: vrfRemoteController.h:2239
DtCompressedFileTransporter * myTransporter
Definition: vrfRemoteController.h:2224
The DtEventManager handles the sending and receipt of system events (fire, detonate, command, etc). It provides a thread-safe way for the sim engine to send and receive such events, between both components within this sim engine and other remote applications.
Definition: eventManager.h:33
int myStartTimeOfDay
Only set for a new scenario.
Definition: vrfRemoteController.h:2331
char * myUserData
Definition: vrfRemoteController.h:2405
DtRwKeyValueList myScenarioData
Extra data used to be saved with the scenario.
Definition: vrfRemoteController.h:2307
voidpf void uLong size
Definition: ioapi.h:39
DtBackendSelectorManager * myBackendSelectorManager
Definition: vrfRemoteController.h:2370
bool myAwaitingExportComplete
Set to know we&#39;ve received the export complete message but not the file yet.
Definition: vrfRemoteController.h:2344
DtUUID planName
Definition: vrfRemoteController.h:139
Definition: defaultStatementFactory.h:18
DtDefaultSimReportFactory myReportFact
Definition: vrfRemoteController.h:2295
Factory for DtSimReport instances used in messages. Overridden from the template class to specialize ...
Definition: simReportFactory.h:19
A container for information provided to a plan-complete callback.
Definition: vrfRemoteController.h:166
std::list< std::pair< DtObjectConsoleMessageCallbackFcn, void * > > DtObjectConsoleMessageCallbackListType
hashed by request id
Definition: vrfRemoteController.h:2253
bool operator==(const PlanCompleteCbInfo &orig) const
Definition: vrfRemoteController.h:173
std::list< PlanCbInfo > DtPlanCallbackListType
Definition: vrfRemoteController.h:2243
std::map< DtString, bool > myBackendReceivedScenario
Definition: vrfRemoteController.h:2232
DtPlanCallbackFcn fcn
Definition: vrfRemoteController.h:141
A container for information provided to a plan statement callback.
Definition: vrfRemoteController.h:146
static DtAppearance theDefaultAreaAppearance
Definition: vrfRemoteController.h:2375
Interface content for containing the responses to a joystick control request.
Definition: ifJoystickControlsResponse.h:20
void(* DtBackendCallbackFcn)(const DtSimulationAddress &addr, void *usr)
Definition: vrfBackendListener.h:33
Contains the DtUUID class declaration.
bool(* DtBackendRemappingFcn)(DtBackendMap *map, const std::set< DtSimulationAddress > &expectedBackends, void *usr)
Used by loadScenario to get replacements for missing backends.
Definition: backendMap.h:52
JoystickResponseCallbackInfo myJoystickResponseCallbackInfo
Definition: vrfRemoteController.h:2350
Factory for DtAdminContent used in messages. Overridden from the template class to specialize the err...
Definition: adminContentFactory.h:22
DtTime myMaxWaitLoadTime
Definition: vrfRemoteController.h:2229
int myUserDataSize
Definition: vrfRemoteController.h:2406
DtBackendSelectorManager * backendSelectorManager() const
Constructor.
Definition: vrfRemoteController.h:272
DtFilename myExportFile
When received, the file to save the export file to.
Definition: vrfRemoteController.h:2337
DtDefaultSimTaskFactory myTaskFact
Definition: vrfRemoteController.h:2296
Instances of DtVrfBackendListener are used to track the status of VRF applications. The applications are tracked in a list which is keyed by their message address. For each entry, isActive is true if the application sends out a status message and isLoaded is true if the application has completed the processing of a load scenario message.
Definition: vrfBackendListener.h:79
Common base class that all server responses to a direct client request should subclass from...
Definition: ifServerRequestResponse.h:21
DtList myScenSavedCheckpointCbs
list of any preferred new-style save callbacks that have been registered
Definition: vrfRemoteController.h:2240
Definition: settingsObject.h:27
This class will hold information that can be used to modify a overlay object after it has been create...
Definition: vrfRemoteController.h:2385
Registers default admin content creators supplied with VR-Forces.
Definition: defaultAdminContentFactory.h:17
void(* DtBackendSaveCallbackFcn)(const DtSimulationAddress &addr, DtSaveResult result, void *usr)
Definition: vrfRemoteController.h:94
void * data
Definition: vrfRemoteController.h:162
Callback manager for DtVrfObjectMessage receipt. Callbacks can be registered on various attributes of...
Definition: vrfObjectMessageExecutive.h:26
class DtBackendMap:
Definition: backendMap.h:21
DtCommunicationManager * myCommunicationManager
Definition: vrfRemoteController.h:2220
Definition: radarCoverageAltitudeSettings.h:35
std::list< StmtCbInfo > DtStatementCallbackListType
Definition: vrfRemoteController.h:2245
Definition: addressMap.h:24
DtVrfTDLMessageInterface * myVrfTDLMsgIf
Definition: vrfRemoteController.h:2222
DtVrfMessageInterface * myMsgIf
Definition: vrfRemoteController.h:2221
DtList myScenSavedOldCbs
Definition: vrfRemoteController.h:2236
DtSetDataRequest is an abstract base class from which real setDataRequests can derive. It manages the read/write capability; derived classes need only use and register read/writatble data types for derived information.
Definition: setDataRequest.h:41
DtList myBeList
Definition: vrfRemoteController.h:2231
The main class for the remote control interface to VR-Forces. Instantiating this class allows the sen...
Definition: vrfRemoteController.h:206
static const DtUUID & nullUUID()
DtSaveResult
Definition: ifSaveComplete.h:18
The DtBackendSelectorManager class will keep track of handlers that can be used to select a back-end ...
Definition: backendSelectorManager.h:24
DtInetAddr myInetAddr
This is the Internet address to send saved files back to from the server. If this program is run on a...
Definition: vrfRemoteController.h:2316
DtTime myLastCommandTime
Definition: vrfRemoteController.h:2228
DtDefaultVrfObjectMessageFactory myVrfObjectMsgFact
These are needed for message callbacks to work.
Definition: vrfRemoteController.h:2292
Definition: event.h:13
DtList myBeLoadedCbs
Definition: vrfRemoteController.h:2235
DtList myScenSavedCbs
list of any deprecated old-style save callbacks that have been registered
Definition: vrfRemoteController.h:2237
boost::signals2::connection myPostAdvanceFrameConnection
Definition: vrfRemoteController.h:2368
DtSpatialSubdivisionType
Types of spatial subdivisions used in VR-Forces.
Definition: spatialSubdivisionTypes.h:17
DtIfIndirectArtilleryData myData
Definition: vrfRemoteController.h:2429
~PlanCbInfo()
Definition: vrfRemoteController.h:132
The DtCommunicationManager class is a convenience class that will create both the DtNetworkInterfaceM...
Definition: communicationManager.h:54
Factory which registers all default VR-Forces Sim Commands.
Definition: defaultSimCommandFactory.h:15
DtString myGuiTerrainDatabaseFilename
This member variable will contain the front end database (if different from back end). It is set on new scenario, load scenario or by accessor function.
Definition: vrfRemoteController.h:2304
File: simMsg.h.
Definition: simMessage.h:35
PlanCbInfo(const DtUUID &n, bool global, DtPlanCallbackFcn f, void *usr)
Definition: vrfRemoteController.h:130
Object which registers callbacks with a DtCommunicationManager to monitor for VR-Forces radio message...
Definition: radioMessageListener.h:29
void(* DtScenarioAboutToBeSavedCallbackFcn)(DtScenario &, void *usr)
Definition: vrfRemoteController.h:84
DtFilename mySymbolMapFilename
Definition: vrfRemoteController.h:2266
void(* DtPlanCallbackFcn)(const DtUUID &name, const std::vector< DtSimStatement * > &statements, bool append, void *usr)
Definition: plan.h:71
bool isGlobal
Definition: vrfRemoteController.h:161
DtList myScenLoadedCbs
Definition: vrfRemoteController.h:2234
void(* DtCheckpointSavedCallbackFcn)(DtSaveResult result, double, void *usr)
Definition: vrfRemoteController.h:100
DtFilename myOpdName
Definition: vrfRemoteController.h:2268
DtStatementCallbackListType myStmtCbs
Definition: vrfRemoteController.h:2246
Definition: compressedFileTransporter.h:24
DtPlanCompleteCallbaclListType myPlanCompleteCbs
Definition: vrfRemoteController.h:2248
std::set< DtSimulationAddress > myBackendsLoaded
Used for loading a scenario if there are any backends opened.
Definition: vrfRemoteController.h:2361
std::set< DtSimulationAddress > myBackendsWithObjects
Definition: vrfRemoteController.h:2358
DtU32 myCurrentRequestId
Definition: vrfRemoteController.h:2227
std::list< std::pair< DtBackendConsoleMessageCallbackFcn, void * > > DtBackendConsoleMessageCallbackListType
Definition: vrfRemoteController.h:2257
bool mySaveToZipFile
Whether or not the pending save is saved to a zip file.
Definition: vrfRemoteController.h:2353
bool myUseDayNightModel
Definition: vrfRemoteController.h:2346
DtFilename mySelectionGroupsFilename
Definition: vrfRemoteController.h:2265
class DtStatementFactory:
Definition: statementFactory.h:35
DtCallbackList< DtSimulationStatus >::DtCallbackFunctionType DtSimulationStatusChangedCallbackFcn
Callback functions for simulation status changed callbacks. Function signature for callback: ...
Definition: vrfBackendListener.h:50
DtTime myMaxWaitSaveTime
Definition: vrfRemoteController.h:2230
~PlanCompleteCbInfo()
Definition: vrfRemoteController.h:172
A container for information provided to a plan callback.
Definition: vrfRemoteController.h:127
DtVrfRemoteController * myController
Definition: vrfRemoteController.h:2404
bool myInRollback
Definition: vrfRemoteController.h:2357
Definition: stateData.h:301
A DtSimCommand subclass which specifies a change to the weather settings for the specified weather ar...
Definition: changeWeatherCommand.h:29
The base class for all messages to/from a specific DtVrfObject. Various subclasses of this class will...
Definition: vrfObjectMessage.h:30
std::list< PlanCompleteCbInfo > DtPlanCompleteCallbaclListType
Definition: vrfRemoteController.h:2247
DtVrfConfigurationFileComposer * myComposer
Definition: vrfRemoteController.h:2272
void(* DtMultiplePlanRequestCallbackFcn)(DtIfMultiplePlanResponse *, void *usr)
Definition: plan.h:81
Definition: asyncJobServer.h:39
DtPlanStatementCallbackFcn fcn
Definition: vrfRemoteController.h:159
class DtPlan:
Definition: plan.h:92
bool myRemapped
true if a DtBackendRemappingFcn was called on the current scenario
Definition: vrfRemoteController.h:2274
void(* DtPlanStatementCallbackFcn)(const DtUUID &name, DtPlanStatus planStatus, void *usr)
Definition: plan.h:75
void(* DtBackEndSettingRequestCompleteCallbackFcn)(void *usr)
Definition: vrfBackendListener.h:35
DtDefaultSimCommandFactory mySimCommandFact
Definition: vrfRemoteController.h:2298
Small container class that holds the status of a running DtPlan.
Definition: plan.h:45
bool myOwnsMessageInterface
Definition: vrfRemoteController.h:2260
class DtIfMultiplePlanResponse:
Definition: ifMultiplePlanResponse.h:32
DtOverlayCreatedCallbackFcn myUserCallback
Definition: vrfRemoteController.h:2407
DtDefaultCondExprFactory myCondExprFact
Definition: vrfRemoteController.h:2293
Definition: defaultSimReportFactory.h:17
The DtNetworkInterfaceManager manages all network interfaces utilized by the sim engine. Often there is only one, but it is possible for there to be multiple. Each network interface is an instance of a subclass of DtNetworkManagerInterface. As state data is created or removed, the DtNetworkInterfaceManager will notify each of its network interfaces, so that they may create object network interfaces to output required state data to the network.
Definition: networkInterfaceManager.h:47
DtRemoteEnvironmentController * remoteEnvironmentController()
Returns myRemoteEnvironmentController.
Definition: vrfRemoteController.h:263
ComponentAttachmentRule
Definition: vrfRemoteController.h:210
Data container for Indirect Artillery. Should contain nothing but mutators, accessors and data...
Definition: ifModifyIndirectArtilleryObject.h:29
void * data
Definition: vrfRemoteController.h:142
DtAdminContent.
Definition: adminContent.h:23
bool isGlobal
Definition: vrfRemoteController.h:140
bool(* DtPreserveMappingsFcn)(void *usr)
Used by saveScenario to determine if original (true) or new mappings should be saved.
Definition: vrfRemoteController.h:89
DtScenarioLoadInformation * myScenarioLoadInformation
Definition: vrfRemoteController.h:2363
bool monitorBackendState() const
Definition: vrfRemoteController.h:2055
DtList myReceivedSaves
Definition: vrfRemoteController.h:2226
bool myOwnsVrfTDLMessageInterface
Definition: vrfRemoteController.h:2261
bool myNeedsGlobalDynamicTerrain
Set to true if needs to create the object to manage global dynamic terrain.
Definition: vrfRemoteController.h:2289
Definition: defaultCondExprFactory.h:18
DtDefaultSetDataRequestFactory mySetDataFact
Definition: vrfRemoteController.h:2297
DtSimTask is an abstract base class from which real tasks can derive. It manages the read/write capab...
Definition: simTask.h:30
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
void(* DtVrfObjectCreatedCallbackFcn)(const DtString &name, const DtEntityIdentifier &id, const DtUUID &uuid, void *usr)
Definition: vrfRemoteController.h:103
DtFilename mySaveName
Definition: vrfRemoteController.h:2262
void(* DtOverlayCreatedCallbackFcn)(const DtString &name, const DtEntityIdentifier &id, const DtUUID &uuid, DtVrfOverlayObjectModify *usr)
Definition: vrfRemoteController.h:106
DtVrfObjectMessageFactory is a hashlist of DtVrfObjectMessage creator functions indexed by the intege...
Definition: vrfObjectMessageFactory.h:25
DtPlanCallbackListType myPlanCbs
Definition: vrfRemoteController.h:2244
DtVrfObjectMessageExecutive myObjectMessageExecutive
Used to processes VrfObjectMessages addressed to the Front End.
Definition: vrfRemoteController.h:2325
std::vector< DtString > myLoadingSimulationModelSets
Definition: vrfRemoteController.h:2362
DtFilename myOverlayFilename
Definition: vrfRemoteController.h:2264
DtChangeWeatherCommand * myInitialEnvironment
Set to non-null if needing to also set the global environment.
Definition: vrfRemoteController.h:2286
DtRemoteEnvironmentController * myRemoteEnvironmentController
Used to monitor and change the weather state.
Definition: vrfRemoteController.h:2366
double mySimTimeForCheckpointSave
Definition: vrfRemoteController.h:2263
void(* DtServerRequestResponseCallbackFcn)(const DtIfServerRequestResponse &response, void *usr)
This function ties a request id to a particular server response. In order for the server response to ...
Definition: vrfRemoteController.h:124
DtIfSaveComplete is sent from the backend whenever it completes a save. It contains the data about th...
Definition: ifSaveComplete.h:22
class DtCondExprFactory:
Definition: condExprFactory.h:38
DtSimCommandFactory is a hashlist of DtTaskFactoryEntrys, indexed by the string type that represents ...
Definition: simCommandFactory.h:25
DtRemoteEnvironmentController; remotely controls and reflects the weather state of VR-Forces...
Definition: remoteEnvironmentController.h:48
double myRollbackToSimulationTime
If rolling back, the rollback time.
Definition: vrfRemoteController.h:2356
DtObjectConsoleMessageCallbackListType myObjectConsoleMessageCallbackList
Definition: vrfRemoteController.h:2254
void(* DtScenarioSavedCallbackFcn)(DtSaveResult result, const DtString &sError, void *usr)
Definition: vrfRemoteController.h:97
boost::signals2::signal< void()> signal_initialized
Signal sent after onInit is called.
Definition: vrfRemoteController.h:2126
DtUUID planName
Definition: vrfRemoteController.h:179
voidpf uLong offset
Definition: ioapi.h:42
void(* DtPlanCompleteCallbackFcn)(const DtUUID &name, void *usr)
Definition: plan.h:78
Definition: scenario.h:635
DtCommunicationManager * communicationManager()
Constructor.
Definition: vrfRemoteController.h:257
Definition: defaultSimTaskFactory.h:15
DtList myScenAboutToBeSavedCbs
list of any preferred new-style save callbacks that have been registered
Definition: vrfRemoteController.h:2238
void * data
Definition: vrfRemoteController.h:181
PlanCompleteCbInfo(const DtUUID &n, bool global, DtPlanCompleteCallbackFcn f, void *usr)
Definition: vrfRemoteController.h:169
StmtCbInfo(const DtUUID &n, bool global, DtPlanStatementCallbackFcn f, void *usr)
Definition: vrfRemoteController.h:149
Definition: vrfRemoteController.h:211
bool isGlobal
Definition: vrfRemoteController.h:180
DtScenario * mySaveScen
Definition: vrfRemoteController.h:2270
void(* DtJoystickControlResponseFcn)(DtIfJoystickControlsResponse *map, void *usr)
Definition: vrfRemoteController.h:91
Factory for DtSetDataRequest instances used in messages. Overridden from the template class to specia...
Definition: setDataRequestFactory.h:22
DtVrfRemoteController * myController
Definition: vrfRemoteController.h:2428
DtUUID myAttachTo
Definition: vrfRemoteController.h:2403
DtBackendConsoleMessageCallbackListType myBackendConsoleMessageCallbackList
Definition: vrfRemoteController.h:2258
DtRadioMessageListener * myRadioMessageListener
Used to spy on radio messages sent between VRF Entities.
Definition: vrfRemoteController.h:2328
int myScenarioExportRequestId
Pending export request id.
Definition: vrfRemoteController.h:2334
DtFilename myScenarioExtrasFilename
Definition: vrfRemoteController.h:2269
bool(* DtLoadBalancingFcn)(DtAddressMap *map, const DtVrfFileParser *parser, const DtList *backends, bool &remapped, void *usr, const DtString &userOptions)
Return true from this function to signal success of load balancing, however, set remapped to true if ...
Definition: scenario.h:575
bool operator==(const PlanCbInfo &orig) const
Definition: vrfRemoteController.h:133
Definition: vrfMessageInterface.h:40
DtVrfBackendListener * myListener
Definition: vrfRemoteController.h:2223
DtPlanCompleteCallbackFcn fcn
Definition: vrfRemoteController.h:178
Definition: defaultSetDataRequestFactory.h:17
This class holds the data necessary to define an indirect artiller object It extends the DtVrfOverlay...
Definition: vrfRemoteController.h:2412
DtScenario * myLoadScen
Definition: vrfRemoteController.h:2271
void(* DtBackendConsoleMessageCallbackFcn)(const DtSimulationAddress &id, int notifyLevel, const DtString &message, void *usr)
Definition: vrfRemoteController.h:117

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)