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 
17 #include "vrfutil/backendMap.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 
202 {
203 
204 public:
206  AttachNone=0,
207  CanAttachAny
208  };
209 
210 public:
211 
215 
221  DtVrfRemoteController(int receivePort = 9000);
222 
224  virtual ~DtVrfRemoteController();
225 
227  virtual DtVrfMessageInterface* vrfMessageInterface() const;
228 
230  virtual DtVrfTDLMessageInterface* vrfTDLMessageInterface() const;
231 
233  virtual DtVrfConfigurationFileComposer* composer();
234 
236  virtual void setHostInetAddr(DtInetAddr);
237  virtual DtInetAddr hostInetAddr() const;
238 
240  virtual const DtSimulationAddress& simulationAddress() const;
241 
243  virtual int sessionId() const;
244 
248  virtual unsigned int generateRequestId() const;
249 
250  DtNetworkInterfaceManager* networkInterfaceManager();
251  makVrfEvents::DtEventManager* eventManager();
253  {
254  return myCommunicationManager;
255  }
256 
259  {
260  return myRemoteEnvironmentController;
261  }
262 
265  DtRemoteEnvironmentController* createRemoteEnvironmentController();
266 
268  {
269  return myBackendSelectorManager;
270  }
271 
273 
274  //---------------------------------------------------------------
275 
279 
282  virtual void init(DtCommunicationManager* exConn, DtVrfMessageInterface* msgInterface = 0,
283  DtVrfTDLMessageInterface* tdlMessageInterface = 0);
284 
286 
287 //-----------------------------------------------------------x
288 
292 
294  virtual const DtList& backends() const;
295 
298  virtual const DtList& pendingBackends() const;
299 
301  virtual DtVrfBackendListener* backendListener() const;
302 
304  virtual void addBackendDiscoveryCallback(
305  DtBackendCallbackFcn fcn, void* usr);
306  virtual void removeBackendDiscoveryCallback(
307  DtBackendCallbackFcn fcn, void* usr);
308 
310  virtual void addBackendRemovalCallback(
311  DtBackendCallbackFcn fcn, void* usr);
312  virtual void removeBackendRemovalCallback(
313  DtBackendCallbackFcn fcn, void* usr);
314 
318  virtual int backendsControlState() const;
319 
321  virtual int numberBackendsLoaded() const;
322 
325  virtual bool allBackendsReady() const;
326 
328  virtual bool backendLoaded(const DtSimulationAddress& addr) const;
329 
332  virtual void modifyBackEndSetting(const DtSettingsObject* setting,
333  const DtSimulationAddress& addr = DtSimSendToAll);
334 
345  virtual void requestBackEndSetting(std::string name,
347  const DtSimulationAddress& addr = DtSimSendToAll);
348 
351  virtual double simTime(const DtSimulationAddress* a = NULL) const;
352 
354 
355 //-----------------------------------------------------------
356 
359 
362  virtual void setSpotReportsGloballyEnabled(bool enabled);
363 
366  virtual void setTDLMessagesGloballyEnabled(bool enabled);
367 
370  virtual void setEngagementReportsGloballyEnabled(bool enabled);
371 
374  virtual void setPeriodicSnapshotSettings(bool enabled, double period, int numberOfSnapshotsToKeep);
375 
378  virtual void setDRThresholds(double translation, double rotation);
379 
381  virtual void setCommModelSettings(bool useExternalComms);
382 
384  virtual void setRoadDrivingSettings(bool driveOnLeft);
385 
387  virtual void setRadarCoverageAltitudeMSL(bool);
388 
390  virtual void setRadarCoverageAltitudeSettings(const DtRadarCoverageAltitudeSettings& settings);
391 
396  virtual void setPublishAggregateFormationRoutes(bool yesNo);
397 
399  virtual void setRotationThreshold(DtReal thresh);
400 
402  virtual void setTranslationThreshold(DtReal thresh);
403 
408  virtual void setAggDimensionThreshold(DtReal thresh);
409 
412  virtual void querySpatialSubdivisionConfiguration(
413  const DtSimulationAddress& backendAddress,
414  DtSpatialSubdivisionType spatialSubdivisionType,
415  DtServerRequestResponseCallbackFcn fcn = 0, void* usr = 0);
416 
418  virtual void setSpatialSubdivsionConfiguration(
419  const DtSimulationAddress& backendAddress,
420  DtSpatialSubdivisionType spatialSubdivisionType,
421  const int spatialSubdivisionXResolution,
422  const int spatialSubdivisionYResolution,
423  const int spatialSubdivisionZResolution);
424 
430  virtual void processSpatialSubdivisionConfigurationCb(
431  const DtIfServerRequestResponse& rsp);
432 
434 
435  //------------------------------------------------------------
436 
441 
450  virtual bool newScenario(
451  const DtFilename& dbname,
452  const DtFilename& guidbname,
453  const DtFilename& opdname = DtFilename::nullFilename(),
454  const DtFilename& physicalWorldName = DtFilename::nullFilename(),
455  const DtScenario* baseScenario = 0,
456  time_t startTimeOfDay = 12 * 3600,
457  DtString* errorString = 0,
458  const DtChangeWeatherCommand& initialEnvironmentCondition = DtChangeWeatherCommand());
459 
461  virtual bool newScenario(
462  const DtFilename& dbname,
463  const DtFilename& guidbname,
464  const std::vector<DtString>& simulationModelSetFiles,
465  const DtScenario* baseScenario = 0,
466  time_t startTimeOfDay = 12 * 3600,
467  DtString* errorString = 0,
468  const DtChangeWeatherCommand& initialEnvironmentCondition = DtChangeWeatherCommand());
469 
475  virtual bool newScenario(
476  const DtFilename& dbname,
477  const DtFilename& guidbname,
478  const DtFilename& opdname,
479  const DtFilename& physicalWorldName,
480  const std::vector<DtString>& simulationModelSetFiles,
481  const DtScenario* baseScenario = 0,
482  time_t startTimeOfDay = 12 * 3600,
483  DtString* errorString = 0,
484  const DtChangeWeatherCommand& initialEnvironmentCondition = DtChangeWeatherCommand());
485 
491  virtual void createSimulationObjectGroup(const DtSimulationAddress&, const DtString& simulationObjectGroup,
492  const DtVector& createPosition, double offsetRotation, int createFlags, DtForceType force,
493  bool storedInZipFile = false);
494 
495 
497 
501 
529  virtual bool loadScenario(const DtFilename& filename,
530  DtBackendRemappingFcn fcn = 0, void* usrRemapping = 0,
531  DtLoadBalancingFcn = 0, void* usrBalancing = 0,
532  const std::vector<DtString>& simulationModelSetFiles = std::vector<DtString>(),
533  ComponentAttachmentRule compAttachRule = DtVrfRemoteController::AttachNone,
534  DtString* errorString = 0, int* numberOfObjects = nullptr);
535  virtual bool loadScenario(const DtScenarioLoadInformation&,
536  const std::vector<DtString>& simulationModelSetFiles = std::vector<DtString>(),
537  DtString* errorString = 0, int* numberOfObjects = nullptr);
538 
547  virtual bool loadScenario(const DtScenario& scenario,
548  DtBackendRemappingFcn fcn = 0, void* usrRemapping = 0,
549  DtLoadBalancingFcn = 0, void* usrBalancing = 0,
550  const std::vector<DtString>& simulationModelSetFiles = std::vector<DtString>(),
551  DtString* errorString = 0, int* numberOfObjects = nullptr);
552 
570  virtual bool sendLoadScenarioMessage(
571  const DtScenario& scenario,
572  const DtSimulationAddress& addr = DtSimSendToAll,
573  bool import = false,
574  bool isOrbatEnabled = false,
575  bool createGlobalEnv = false,
576  bool createGlobalDynamicTerrain = false) const;
577 
579  virtual void createGlobalEnvironment(bool);
580 
583  virtual DtIfLoadScenario* createLoadScenarioMessage() const;
584 
587  virtual void addBackendLoadedCallback(DtBackendCallbackFcn fcn, void* usr);
588  virtual void removeBackendLoadedCallback(DtBackendCallbackFcn fcn, void* usr);
589 
592  virtual void addScenarioLoadedCallback(DtScenarioCallbackFcn fcn, void* usr);
593  virtual void removeScenarioLoadedCallback(DtScenarioCallbackFcn fcn, void* usr);
594 
595 
600  virtual bool rollbackToSnapshot(double simTime);
601 
604  virtual bool importScenario(const DtScenario&, const DtSimulationAddress& addr, DtString* errorString = 0);
605  virtual bool importScenario(const DtFilename&, const DtSimulationAddress& addr, DtString* errorString = 0);
606 
611  virtual bool importScenarioDescriptionFile(const DtFilename& file, DtSimulationAddress, const DtString& format,
612  const std::map<std::string, std::string>& importData);
613 
617  virtual void setMaxWaitLoadTime(DtTime t);
618  virtual DtTime maxWaitLoadTime() const;
619 
621 
626 
629  virtual bool exportScenarioDescriptionFile(const DtFilename& file, DtSimulationAddress, const DtString& format,
630  const std::map<std::string, std::string>& importData);
631 
635  virtual DtString guiTerrainDatabaseFilename() const;
636  virtual void setGuiTerrainDatabaseFilename(DtString db);
637 
639  virtual const DtRwKeyValueList& scenarioData() const;
640  virtual void setScenarioData(const DtRwKeyValueList&);
641 
643  virtual bool isSavingScenario() const;
644 
661  virtual bool saveScenario(const DtFilename& saveName,
662  DtPreserveMappingsFcn fcn = 0, void* userData = 0, DtString* error = 0, bool saveToZip = false,
663  bool deleteExistingZip = true, double simTime = -1);
664 
671  virtual bool save(DtString& sError);
672 
677  virtual bool saveScenarioCheckpoint(const DtFilename& filename, double simTime, bool saveToZip = false, DtString* saveError = 0);
678 
681  virtual void takeSnapshot(DtSimulationAddress addr = DtSimSendToAll);
682 
685  virtual void takeBaseSnapshot();
686 
688  virtual void createGlobalDynamicTerrain(bool);
689 
693  virtual void sendSaveScenarioMessage(const DtSimulationAddress& addr = DtSimSendToAll, double simTime = -1,
694  const DtFilename& saveScenarioFilename = "") const;
695 
698  virtual void addBackendSavedCallback(DtBackendSaveCallbackFcn fcn, void* usr);
699  virtual void removeBackendSavedCallback(DtBackendSaveCallbackFcn fcn, void* usr);
700 
704  virtual void addScenarioSavedCallback(
705  DtScenarioCallbackFcn fcn, void* usr);
706  virtual void removeScenarioSavedCallback(
707  DtScenarioCallbackFcn fcn, void* usr);
708 
710  virtual void addScenarioAboutToBeSavedCallback(
711  DtScenarioAboutToBeSavedCallbackFcn fcn, void* usr);
712  virtual void removeScenarioAboutToBeSavedCallback(
713  DtScenarioAboutToBeSavedCallbackFcn fcn, void* usr);
714 
716  virtual void addScenarioExportedCallback(
717  DtScenarioSavedCallbackFcn fcn, void* usr);
718  virtual void removeScenarioExportedCallback(
719  DtScenarioSavedCallbackFcn fcn, void* usr);
720 
722  virtual void addCheckpointSavedCallback(
723  DtCheckpointSavedCallbackFcn fcn, void* usr);
724  virtual void removeCheckpointSavedCallback(
725  DtCheckpointSavedCallbackFcn fcn, void* usr);
726 
730  virtual void addScenarioSavedCallback(
731  DtScenarioSavedCallbackFcn fcn, void* usr);
732  virtual void removeScenarioSavedCallback(
733  DtScenarioSavedCallbackFcn fcn, void* usr);
734 
742  virtual void setOpdSaveName(const DtFilename& f);
743  virtual const DtFilename& opdSaveName() const;
744 
748  virtual void setMaxWaitSaveTime(DtTime t);
749  virtual DtTime maxWaitSaveTime() const;
750 
754  virtual void setOverlayFilename(const DtFilename& overlay);
755  virtual const DtFilename& overlayFilename() const;
756 
757  virtual void setScenarioExtrasFilename(const DtFilename& extras);
758  virtual const DtFilename& scenarioExtrasFilename() const;
759 
763  virtual void setSelectionGroupsFilename(const DtFilename& sel);
764  virtual const DtFilename& selectionGroupsFilename() const;
765 
769  virtual void setSymbolMapFilename(const DtFilename& overlay);
770  virtual const DtFilename& symbolMapFilename() const;
771 
775  virtual void setCreateMenuFilename(const DtFilename& overlay);
776  virtual const DtFilename& createMenuFilename() const;
777 
779  virtual void saveParameterDb(const DtFilename& filename);
780 
788  virtual bool saveSimulationObjectGroup(const DtFilename& smsDirectory, const DtString& groupName,
789  const DtString& groupDescription, int creationFlags, const DtSimulationAddress& addr,
790  const std::map<DtString, DtString>& additionalInformation = std::map<DtString, DtString>(),
791  DtString* saveError = 0, bool saveAsZip = false);
792 
794 
799 
805  virtual void closeScenario(const DtSimulationAddress& addr = DtSimSendToAll,
806  const DtFilename& databaseToOpen = "", bool forceCloseAll = false);
807 
809  virtual void reinitializeScenario();
810 
812 
817 
820  virtual void run(bool useStartStopInteraction = false, const DtSimulationAddress& addr = DtSimSendToAll) const;
821  virtual void pause(bool useStartStopInteraction = false, const DtSimulationAddress& addr = DtSimSendToAll) const;
822 
824  virtual void rewind();
825 
826  virtual void exit(const DtSimulationAddress& addr = DtSimSendToAll) const;
827  virtual void step() const;
828  virtual void setTimeMultiplier(double multiplier) const;
829 
830 
832 
833  //-------------------------------------------------------
834 
841 
845  virtual void loadedScenario(
846  const DtSimulationAddress& addr, unsigned int requestId, const DtU32& capabilities);
847 
851  virtual void backendReceivedScenario(const DtSimulationAddress& addr, unsigned int requestId);
852 
858  virtual void initializeGlobalDynamicTerrain(
859  const DtSimulationAddress& environmentSimBackend = DtSimSendToAll);
860 
865  virtual void save(const DtSimulationAddress& addr, DtIfSaveComplete* s);
866 
870  virtual void processSaveMessages();
871 
875  virtual void exported(const DtSimulationAddress& addr, DtIfExportComplete* s);
876 
878  virtual void completeExport();
879 
883  virtual void savedScenario(const DtSimulationAddress& addr,
884  DtSaveResult result, unsigned int requestId, bool isCheckpointSave = false, double checkpointSimTime = -1);
885 
888  virtual void doPendingSaveWork();
889 
892  virtual void doPendingExportWork();
893 
896  virtual void doPendingLoadWork();
897 
901  virtual DtTime scenarioSimTimeForSave();
902 
906  virtual void setTerrainDatabaseFilename(DtScenario* scen);
907 
911  virtual void setParameterDatabaseFilename(DtScenario* scen);
912 
916  virtual void setPhysicalWorldFilename(DtScenario* scen);
917 
921  virtual void setTimeMultiplier(DtScenario* scen);
922 
926  virtual void setAutoReorganize(DtScenario* scen);
927 
931  virtual void setRandomNumberSeed(DtScenario* scen);
932 
936  virtual void setFrameRateMode(DtScenario* scen);
937 
941  virtual void setFrameDeltaTime(DtScenario* scen);
942 
946  virtual void setExerciseStartTime(DtScenario* scen);
947 
951  virtual void setExerciseStartDateAndTime(DtScenario* scen);
952 
953 
955 
956  //-------------------------------------------------------
957 
972 
973 
974  //Aerodromes
977  virtual void createAerodrome(DtString airportCode, const DtForceType& forceType = DtForceNeutral,
978  const DtSimulationAddress& addr = DtSimSendToAll);
979 
980  //Waypoints (Note-- no way to make a subsection in doxygen; so prevent this word from appearing)
981 
986  virtual void createWaypoint(
987  const DtVector& geocentricPosition,
988  const DtString& uniqueName = DtString::nullString(),
989  const DtString& label = DtString::nullString(),
990  const DtSimulationAddress& addr = DtSimSendToAll,
991  const DtUUID& startingUUID = DtUUID::nullUUID()) const;
992 
996  virtual void createWaypoint(
997  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
998  const DtVector& geocentricPosition,
999  const DtString& uniqueName = DtString::nullString(),
1000  const DtString& label = DtString::nullString(),
1001  const DtSimulationAddress& addr = DtSimSendToAll,
1002  const DtUUID& startingUUID = DtUUID::nullUUID());
1003 
1005  virtual void modifyWaypoint(
1006  const DtUUID& uuid,
1007  DtString* uniqueName = 0,
1008  DtString* label = 0,
1009  DtVector* geocentricPosition = 0,
1010  const DtSimulationAddress& addr = DtSimSendToAll) const;
1011 
1012  //Routes
1013 
1018  virtual void createRoute(
1019  const DtList& vertices,
1020  const DtString& uniqueName = DtString::nullString(),
1021  const DtString& label = DtString::nullString(),
1022  const DtSimulationAddress& addr = DtSimSendToAll,
1023  const DtUUID& startingUUID = DtUUID::nullUUID()) const;
1024 
1028  virtual void createRoute(
1029  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
1030  const DtList& vertices,
1031  const DtString& uniqueName = DtString::nullString(),
1032  const DtString& label = DtString::nullString(),
1033  const DtSimulationAddress& addr = DtSimSendToAll,
1034  const DtUUID& startingUUID = DtUUID::nullUUID());
1035 
1037  virtual void modifyRoute(
1038  const DtUUID& uuid,
1039  DtString* uniqueName = 0,
1040  DtString* label = 0,
1041  DtList* vertices = 0,
1042  const DtSimulationAddress& addr = DtSimSendToAll) const;
1043 
1044  //Phase Lines
1045 
1050  virtual void createPhaseLine(
1051  const DtVector& dbPoint1,
1052  const DtVector& dbPoint2,
1053  const DtString& uniqueName = DtString::nullString(),
1054  const DtString& label = DtString::nullString(),
1055  const DtSimulationAddress& addr = DtSimSendToAll,
1056  const DtUUID& startingUUID = DtUUID::nullUUID()) const;
1057 
1061  virtual void createPhaseLine(
1062  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
1063  const DtVector& dbPoint1,
1064  const DtVector& dbPoint2,
1065  const DtString& uniqueName = DtString::nullString(),
1066  const DtString& label = DtString::nullString(),
1067  const DtSimulationAddress& addr = DtSimSendToAll,
1068  const DtUUID& startingUUID = DtUUID::nullUUID());
1069 
1071  virtual void modifyPhaseLine(
1072  const DtUUID& uuid,
1073  DtString* uniqueName = 0,
1074  DtString* label = 0,
1075  DtVector* newDbPoint1 = 0,
1076  DtVector* newDbPoint2 = 0,
1077  const DtSimulationAddress& addr = DtSimSendToAll) const;
1078 
1079  //Control Areas
1080 
1086  virtual void createControlArea(
1087  const DtList& vertices,
1088  const DtString& uniqueName = DtString::nullString(),
1089  const DtString& label = DtString::nullString(),
1090  const DtSimulationAddress& addr = DtSimSendToAll,
1091  const DtUUID& startingUUID = DtUUID::nullUUID()) const;
1092 
1096  virtual void createControlArea(
1097  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
1098  const DtList& vertices,
1099  const DtString& uniqueName = DtString::nullString(),
1100  const DtString& label = DtString::nullString(),
1101  const DtSimulationAddress& addr = DtSimSendToAll,
1102  const DtUUID& startingUUID = DtUUID::nullUUID());
1103 
1105  virtual void modifyControlArea(
1106  const DtUUID& uuid,
1107  DtString* uniqueName = 0,
1108  DtString* label = 0,
1109  DtList* newVertices = 0,
1110  const DtSimulationAddress& addr = DtSimSendToAll) const;
1111 
1112  //Obstacles
1113 
1119  virtual void createObstacle(
1120  const DtList& vertices,
1121  const DtString& uniqueName = DtString::nullString(),
1122  const DtString& label = DtString::nullString(),
1123  const DtSimulationAddress& addr = DtSimSendToAll,
1124  const DtUUID& startingUUID = DtUUID::nullUUID()) const;
1125 
1129  virtual void createObstacle(
1130  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
1131  const DtList& vertices,
1132  const DtString& uniqueName = DtString::nullString(),
1133  const DtString& label = DtString::nullString(),
1134  const DtSimulationAddress& addr = DtSimSendToAll,
1135  const DtUUID& startingUUID = DtUUID::nullUUID());
1136 
1138  virtual void modifyObstacle(
1139  const DtUUID& uuid,
1140  DtString* uniqueName = 0,
1141  DtString* label = 0,
1142  DtList* newVertices = 0,
1143  const DtSimulationAddress& addr = DtSimSendToAll) const;
1144 
1145  //Disaggregation Area
1146 
1153  virtual void createDisaggregationArea(
1154  const DtList& vertices,
1155  const DtString& uniqueName = DtString::nullString(),
1156  const DtString& label = DtString::nullString(),
1157  const DtSimulationAddress& addr = DtSimSendToAll,
1158  const DtUUID& startingUUID = DtUUID::nullUUID()) const;
1159 
1164  virtual void createDisaggregationArea(
1165  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
1166  const DtList& vertices,
1167  const DtString& uniqueName = DtString::nullString(),
1168  const DtString& label = DtString::nullString(),
1169  const DtSimulationAddress& addr = DtSimSendToAll,
1170  const DtUUID& startingUUID = DtUUID::nullUUID());
1171 
1173  virtual void modifyDisaggregationArea(
1174  const DtUUID& uuid,
1175  DtString* uniqueName = 0,
1176  DtString* label = 0,
1177  DtList* newVertices = 0,
1178  const DtSimulationAddress& addr = DtSimSendToAll) const;
1179 
1180  //Overlay objects
1181 
1194  virtual void createOverlayObject(
1195  const DtEntityType& type,
1196  const DtList& vertices,
1197  const DtForceType& force,
1198  const DtString& name,
1199  const DtString& label,
1200  int color,
1201  const DtString& parentName,
1202  bool projection,
1203  bool closedFigure,
1204  const DtAppearance& appearance = DtAppearance::nullAppearance(),
1205  const DtUUID& attachTo = DtUUID::nullUUID(),
1206  char* userData = 0,
1207  int dataSize = 0,
1208  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
1209  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
1211  const DtSimulationAddress& addr = DtSimSendToAll,
1212  unsigned int rId = 0,
1213  std::list<DtAdminContent*>* initialAdminContent = 0,
1214  std::list<DtSimInterfaceContent*>* initialInterfaceContent = 0,
1215  const DtUUID& uuidForCreation = DtUUID::nullUUID());
1216 
1220  virtual void processOverlayObjectCreated(const DtString& name, const DtEntityIdentifier& id, const DtUUID& uuid,
1221  DtVrfOverlayObjectModify* modifications);
1222 
1224  virtual void setPhysicalLineWidth(const DtSimulationAddress& addr,
1225  const DtUUID& entityId, double w);
1226 
1228  virtual void setPhysicalLineHeight(const DtSimulationAddress& addr,
1229  const DtUUID& entityId, double h);
1230 
1232  virtual void setCeiling(const DtSimulationAddress& addr,
1233  const DtUUID& entityId, double c);
1234 
1238  virtual void sendVrfOverlayObjectModifyMsg(
1239  const DtSimulationAddress& addr,
1240  const DtUUID& uuid,
1241  int color,
1242  const DtString& parentName,
1243  const DtUUID& attachTo,
1244  bool keepExistingAttachment = true,
1245  char* userData = 0,
1246  int len = 0) const;
1247 
1248  //Indirect artillery objects
1249 
1251  virtual void createIndirectArtillery(
1252  const DtVrfIndirectArtilleryObjectModify * params,
1253  const DtSimulationAddress& addr);
1254 
1258  virtual void processIndirectArtilleryObjectCreated(const DtString& name, const DtEntityIdentifier& id, const DtUUID& uuid,
1259  DtVrfIndirectArtilleryObjectModify* modifications);
1260 
1261  virtual void sendVrfIndirectArtilleryObjectModifyMsg(
1262  const DtSimulationAddress& addr,
1263  const DtUUID& uuid,
1264  const DtVrfIndirectArtilleryObjectModify * mod) const;
1265 
1267 
1268  //-------------------------------------------------------
1269 
1273 
1276  virtual void createObject(
1277  const DtEntityType& type,
1278  DtForceType force,
1279  DtList* vertices,
1280  const DtString& name,
1281  const DtSimulationAddress& addr,
1282  const DtUUID& startingUUID = DtUUID::nullUUID());
1283 
1287  virtual void objectCreated(unsigned int requestId,
1288  const DtString& name, const DtEntityIdentifier& id, const DtUUID& uuid);
1289 
1291  virtual void deleteObject(const DtUUID& uuid,
1292  const DtSimulationAddress& addr = DtSimSendToAll) const;
1293 
1295  virtual void createEntity(
1296  const DtEntityType& type,
1297  const DtVector& geocentricPosition,
1298  DtForceType force,
1299  DtReal heading,
1300  const DtString& uniqueName = DtString::nullString(),
1301  const DtString& label = DtString::nullString(),
1302  const DtSimulationAddress& addr = DtSimSendToAll,
1303  bool groundClamp = true,
1304  const DtUUID& startingUUID = DtUUID::nullUUID()) const;
1305 
1309  virtual void createEntity(
1310  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
1311  const DtEntityType& type,
1312  const DtVector& geocentricPosition,
1313  DtForceType force,
1314  DtReal heading,
1315  const DtString& uniqueName = DtString::nullString(),
1316  const DtString& label = DtString::nullString(),
1317  const DtSimulationAddress& addr = DtSimSendToAll,
1318  bool groundClamp = true,
1319  const DtUUID& startingUUID = DtUUID::nullUUID());
1320 
1321  virtual void createAggregate(
1322  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
1323  const DtEntityType& type,
1324  const DtVector& geocentricPosition,
1325  DtForceType force,
1326  DtReal heading,
1327  const DtString& uniqueName,
1328  const DtString& label = DtString::nullString(),
1329  const DtSimulationAddress& addr = DtSimSendToAll,
1330  DtAggregateState initialAggregateState = DtDisaggregated,
1331  const DtUUID& startingUUID = DtUUID::nullUUID(),
1332  bool createSubordinates = false);
1333 
1335  virtual void createAggregate(
1336  const DtEntityType& type,
1337  const DtVector& geocentricPosition,
1338  DtForceType force,
1339  DtReal heading,
1340  DtList* entityNames = 0,
1341  const DtSimulationAddress& addr = DtSimSendToAll,
1342  DtAggregateState initialAggregateState = DtDisaggregated,
1343  unsigned int requestId = 0,
1344  const DtUUID& startingUUID = DtUUID::nullUUID()) const;
1345 
1349  virtual void createAggregate(
1350  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
1351  const DtEntityType& type,
1352  const DtVector& geocentricPosition,
1353  DtForceType force,
1354  DtReal heading,
1355  DtList* entityNames = 0,
1356  const DtSimulationAddress& addr = DtSimSendToAll,
1357  DtAggregateState initialAggregateState = DtDisaggregated,
1358  const DtUUID& startingUUID = DtUUID::nullUUID());
1359 
1362  virtual void addToOrganization(
1363  const DtUUID& objectId,
1364  const DtUUID& newSuperiorId,
1365  const DtSimulationAddress& addr = DtSimSendToAll);
1366 
1370  virtual void addToForceLevelOrganization(
1371  const DtUUID& uuid,
1372  const DtSimulationAddress& addr = DtSimSendToAll);
1373 
1376  virtual void removeFromOrganization(
1377  const DtUUID& uuid,
1378  const DtSimulationAddress& addr = DtSimSendToAll);
1379 
1383  virtual void setLabel(
1384  const DtUUID& uuid, const DtString& label,
1385  const DtSimulationAddress& addr = DtSimSendToAll) const;
1386 
1391  virtual void setOverlayParent(
1392  const DtUUID& uuid, const DtString& label,
1393  const DtSimulationAddress& addr = DtSimSendToAll) const;
1394 
1398  virtual void setAltitude(
1399  const DtUUID& uuid, double altitude, bool aboveGroundLevel = false,
1400  const DtSimulationAddress& addr = DtSimSendToAll) const;
1401 
1405  virtual void setLocation(
1406  const DtUUID& uuid, DtVector coord,
1407  const DtSimulationAddress& addr = DtSimSendToAll) const;
1408 
1410  virtual void setAppearance(
1411  const DtUUID& uuid, int appearance,
1412  const DtSimulationAddress& addr = DtSimSendToAll) const;
1413 
1415  virtual void setCapabilities(
1416  const DtUUID& uuid, int capabilities,
1417  const DtSimulationAddress& addr = DtSimSendToAll) const;
1418 
1422  virtual void setHeading(
1423  const DtUUID& uuid, double degrees,
1424  const DtSimulationAddress& addr = DtSimSendToAll) const;
1425 
1429  virtual void setForce(
1430  const DtUUID& uuid, DtForceType force,
1431  const DtSimulationAddress& addr = DtSimSendToAll) const;
1432 
1438  virtual void requestSpotReports(const DtUUID& uuid, int onOff,
1439  const DtSimulationAddress& addr = DtSimSendToAll) const;
1440 
1444  virtual void requestSendTDLMessages(const DtUUID& uuid, int onOff,
1445  const DtSimulationAddress& addr = DtSimSendToAll) const;
1446 
1452  virtual void requestEngagementReports(const DtUUID& uuid, bool onOff,
1453  const DtSimulationAddress& addr = DtSimSendToAll) const;
1454 
1458  virtual void setResource(const DtUUID& uuid,
1459  const char* resourceType, double value,
1460  const DtSimulationAddress& addr = DtSimSendToAll) const;
1461 
1467  virtual void setRulesOfEngagement(
1468  const DtUUID& uuid, const char* rulesType,
1469  const DtSimulationAddress& addr = DtSimSendToAll) const;
1470 
1475  virtual void setSectorOfResponsibility(
1476  const DtUUID& uuid, double center, double size,
1477  const DtSimulationAddress& addr = DtSimSendToAll) const;
1478 
1482  virtual void setSpeed(
1483  const DtUUID& uuid, double speed,
1484  const DtSimulationAddress& addr = DtSimSendToAll) const;
1485 
1489  virtual void setCurrentSpeed(
1490  const DtUUID& uuid, double speed,
1491  const DtSimulationAddress& addr = DtSimSendToAll) const;
1492 
1496  virtual void setTarget(
1497  const DtUUID& uuid, const DtUUID& target,
1498  const DtSimulationAddress& addr = DtSimSendToAll) const;
1499 
1503  virtual void setSuperior(
1504  const DtUUID& uuid, const DtUUID& superior,
1505  const DtSimulationAddress& addr = DtSimSendToAll) const;
1506 
1508  virtual void setTaskedBySuperior(const DtUUID& uuid,
1509  const DtSimulationAddress& addr = DtSimSendToAll) const;
1510 
1514  virtual void setConcealed(const DtUUID& uuid,
1515  bool yes, const DtSimulationAddress& addr = DtSimSendToAll) const;
1516 
1518  virtual void setEmitter(const DtUUID& uuid,
1519  int emitterId, bool on,
1520  const DtSimulationAddress& addr = DtSimSendToAll) const;
1521 
1523  virtual void setEmergencyBeacon(const DtUUID& uuid,
1524  bool on,
1525  const DtSimulationAddress& addr = DtSimSendToAll) const;
1526 
1528  virtual void setIff(const DtUUID& uuid,
1529  bool mode1on, int mode1code,
1530  bool mode2on, int mode2code,
1531  bool mode3on, int mode3code,
1532  bool mode4on, int mode4code,
1533  DtIffAtcNavaidsAltParm4 altParm4,
1534  bool modeCon, bool useAltModeC,
1535  bool modeSon, bool emergency,
1536  bool flash, bool sti, bool modeSTcasI,
1537  int pin, bool mode5LevelSelection,
1538  unsigned int messageFormatsPresent, unsigned int nationalOrigin,
1539  unsigned int navigationSource, unsigned int figureOfMerit,
1540  const DtSimulationAddress& addr = DtSimSendToAll) const;
1541 
1543  virtual void restore(const DtUUID& uuid,
1544  const DtSimulationAddress& addr = DtSimSendToAll) const;
1545 
1549  virtual void setDestroyed(const DtUUID& uuid,
1550  const DtSimulationAddress& addr = DtSimSendToAll) const;
1551 
1555  virtual void setLifeformWeaponState(
1556  const DtUUID& uuid, DtWeaponState weapon,
1557  const DtSimulationAddress& addr) const;
1558 
1560  void setSystemEnabled(const DtUUID& name, const DtString& systemName,
1561  bool val,
1562  const DtSimulationAddress& addr = DtSimSendToAll) const;
1563 
1567  virtual void setLifeformPosture(
1568  const DtUUID& uuid, DtLifeformState posture,
1569  const DtSimulationAddress& addr) const;
1570 
1573  virtual void setAggregateFormation(
1574  const DtUUID& leader, const DtString& formationName,
1575  const DtSimulationAddress& addr = DtSimSendToAll) const;
1576 
1580  virtual void reorganizeAggregate(const DtUUID& leader,
1581  const DtSimulationAddress& addr = DtSimSendToAll) const;
1582 
1586  virtual void sendSetDataMsg(
1587  const DtUUID& recipient, DtSetDataRequest* msg,
1588  const DtSimulationAddress& addr,
1589  bool sendImmediately = false) const;
1590 
1592 
1593  //-----------------------------------------------------
1594 
1598 
1603  virtual void sendVrfObjectCreateMsg(
1604  const DtSimulationAddress& addr,
1605  unsigned int requestId,
1606  const DtString& name,
1607  const DtObjectType& type,
1608  const DtList& vertices,
1609  const DtString& label,
1610  const DtAppearance& appearance,
1611  DtForceType force,
1612  bool projection,
1613  bool closedFigure,
1614  DtReal heading,
1615  bool createSubObjects,
1616  bool clampToGroundFlag = true,
1617  const DtString& initialFormation = DtString::nullString(),
1618  DtAggregateState initialAggregateState = DtDisaggregated,
1619  const DtString& userData = DtString::nullString(),
1620  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
1621  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
1622  std::list<DtAdminContent*>* initialAdminContent = 0,
1623  std::list<DtSimInterfaceContent*>* initialInterfaceContent = 0,
1624  const DtString& overlayParent = "",
1625  const DtUUID& uuidForCreation = DtUUID::nullUUID()) const;
1626 
1633  virtual void sendVrfObjectModifyMsg(
1634  const DtSimulationAddress& addr,
1635  const DtUUID& uuid,
1636  DtString* name = 0,
1637  DtList* vertices = 0,
1638  DtForceType* force = 0,
1639  DtReal* heading = 0,
1640  DtString* label = 0,
1641  DtAppearance* appearance = 0,
1642  DtString* overlayParent = 0,
1643  DtString* userData = 0) const;
1644 
1646 
1647  //------------------------------------------------------
1648 
1653 
1657  virtual void sendTaskMsg(
1658  const DtUUID& recipient, DtSimTask* task,
1659  const DtSimulationAddress& addr = DtSimSendToAll) const;
1660 
1663  virtual void moveAlongRoute(
1664  const DtUUID& entityName, const DtUUID& routeName,
1665  const DtSimulationAddress& addr = DtSimSendToAll) const;
1666 
1669  virtual void moveToWaypoint(
1670  const DtUUID& entityName, const DtUUID& waypoint,
1671  const DtSimulationAddress& addr = DtSimSendToAll) const;
1672 
1676  virtual void moveToLocation(
1677  const DtUUID& entityName, const DtVector& destinationLocation,
1678  const DtSimulationAddress& addr = DtSimSendToAll) const;
1679 
1682  virtual void patrolBetweenWaypoints(
1683  const DtUUID& uuid,
1684  const DtUUID& waypoint1, const DtUUID& waypoint2,
1685  const DtSimulationAddress& addr = DtSimSendToAll) const;
1686 
1689  virtual void patrolAlongRoute(
1690  const DtUUID& uuid, const DtUUID& route,
1691  const DtSimulationAddress& addr = DtSimSendToAll) const;
1692 
1698  virtual void followEntity(
1699  const DtUUID& uuid,
1700  const DtUUID& leader, const DtVector& offset,
1701  const DtSimulationAddress& addr = DtSimSendToAll) const;
1702 
1705  virtual void wait(
1706  const DtUUID& uuid,
1707  const DtSimulationAddress& addr = DtSimSendToAll) const;
1708 
1711  virtual void waitDuration(
1712  const DtUUID& uuid, DtTime duration,
1713  const DtSimulationAddress& addr = DtSimSendToAll) const;
1714 
1717  virtual void waitElapsed(
1718  const DtUUID& uuid, DtTime elapsed,
1719  const DtSimulationAddress& addr = DtSimSendToAll) const;
1720 
1722  virtual void skipTask(const DtUUID& uuid,
1723  const DtSimulationAddress& addr = DtSimSendToAll) const;
1724 
1726 
1727  //--------------------------------------------------------------
1728 
1732 
1735  virtual void restartPlan(const DtUUID& uuid,
1736  const DtSimulationAddress& addr = DtSimSendToAll) const;
1737 
1745  virtual void assignPlanByName(
1746  const DtUUID& uuid, const DtPlan& plan,
1747  const DtSimulationAddress& addr = DtSimSendToAll,
1748  int *retiStatus = NULL, DtString* retsStmt = NULL) const;
1749 
1751  virtual void assignMultiplePlanByName(
1752  const std::vector<DtUUID>& entities, const DtPlan& plan,
1753  const DtSimulationAddress& addr = DtSimSendToAll,
1754  int *retiStatus = NULL, DtString* retsStmt = NULL) const;
1755 
1760  virtual void requestPlan(
1761  const DtUUID& uuid,
1762  bool addStmtCallback = true,
1763  const DtSimulationAddress& addr = DtSimSendToAll) const;
1764 
1769  virtual void subscribePlan(const DtUUID& uuid,
1770  DtPlanCallbackFcn fn, void* usr,
1771  const DtSimulationAddress& addr = DtSimSendToAll);
1772 
1776  virtual void receivedPlan(const DtUUID& uuid, bool isGlobal,
1777  const std::vector<DtSimStatement*>& statements);
1778 
1784  virtual void requestMultiplePlan(const std::vector<DtUUID>& entities,
1785  DtMultiplePlanRequestCallbackFcn fcn, void *usr,
1786  const DtSimulationAddress& addr = DtSimSendToAll);
1787 
1788  virtual void requestMultiplePlan(const std::vector<DtUUID>& entities,
1789  const DtSimulationAddress& addr = DtSimSendToAll);
1790 
1794  virtual void processReceivedMultiPlan(DtIfMultiplePlanResponse* msg);
1795 
1798  virtual void unsubscribePlan(const DtUUID& uuid,
1799  DtPlanCallbackFcn fn, void* usr);
1800 
1803  virtual void unsubscribeAllPlans();
1804 
1809  virtual void addPlanStatementCallback(const DtUUID& uuid,
1810  DtPlanStatementCallbackFcn callback, void* usrData);
1811 
1814  virtual void removePlanStatementCallback(const DtUUID& uuid,
1815  DtPlanStatementCallbackFcn callback, void* usrData);
1816 
1819  virtual void removeAllPlanStatementCallbacks();
1820 
1826  virtual void receivedPlanStmt(const DtUUID& uuid, bool isGlobal,
1827  DtPlanStatus planStatus);
1828 
1833  virtual void addPlanCompleteCallback(const DtUUID& uuid,
1834  DtPlanCompleteCallbackFcn callback, void* usrData);
1835 
1838  virtual void removePlanCompleteCallback(const DtUUID& uuid,
1839  DtPlanCompleteCallbackFcn callback, void* usrData);
1840 
1843  virtual void removeAllPlanCompleteCallbacks();
1844 
1847  virtual void abandonPlan(const DtUUID& uuid,
1848  const DtSimulationAddress& addr = DtSimSendToAll) const;
1849 
1851 
1855 
1857  virtual void requestGlobalPlansList(const DtSimulationAddress& addr);
1858 
1866  virtual void assignGlobalPlan(
1867  const DtString& name, const DtPlan& plan,
1868  const DtSimulationAddress& addr = DtSimSendToAll,
1869  int *retiStatus = NULL, DtString* retsStmt = NULL) const;
1870 
1872  virtual void deleteGlobalPlan(const DtUUID& name,
1873  const DtSimulationAddress& addr = DtSimSendToAll) const;
1874 
1876  virtual void launchGlobalPlan(const DtUUID&, const DtSimulationAddress& addr) const;
1877 
1879 
1880  //---------------------------------------------------------------
1881 
1884 
1889  virtual DtVrfObjectMessageExecutive* objectMessageExecutive();
1890 
1897  virtual void sendMessageToObject(DtVrfObjectMessage* objectMessage,
1898  const DtSimulationAddress& addr = DtSimSendToAll,
1899  bool sendImmediately = false) const;
1900 
1906  virtual DtRadioMessageListener* radioMessageListener();
1907 
1909 
1910  //--------------------------------------------------------------
1911 
1916 
1923  virtual void embarkObject(const DtSimulationAddress& addr, const DtUUID& entity, const DtUUID& ontoEntity,
1924  bool loadOverride = false, const DtVector& loadOverridePosition = DtVector::zero());
1925 
1926  virtual void disembarkObject(const DtSimulationAddress& addr, const DtUUID& entity);
1927  virtual void disembarkAllObjects(const DtSimulationAddress& addr, const DtUUID& entity);
1928 
1931  virtual void requestTasksAndSetsFor(const DtSimulationAddress& addr,
1932  const DtUUID& entityName);
1933 
1935  virtual void requestTasksAndSetsFor(const std::vector<DtUUID>& names);
1936 
1939  virtual void requestDIGuyAppearancesAndAnimations(const DtSimulationAddress& addr,
1940  const DtUUID& entityName);
1941 
1943  virtual void requestDIGuyAppearancesAndAnimations(const std::vector<DtUUID>& names);
1944 
1946  virtual void requestIndirectArtilleryInformation(const DtUUID&);
1947 
1952  virtual void requestResourceNames(const std::vector<DtUUID>& list,
1953  DtServerRequestResponseCallbackFcn fcn = 0, void* usr = 0);
1954 
1962  virtual void requestResources(const DtUUID& uuid = DtUUID::nullUUID(),
1963  const std::list<DtString>* list = 0,
1964  DtServerRequestResponseCallbackFcn fcn = 0, void* usr = 0);
1965 
1969  virtual void processResourcesProcessedCb(const DtIfServerRequestResponse& rsp);
1970 
1971 
1973 
1974  //---------------------------------------------------------------
1975 
1979 
1982  virtual void addObjectConsoleMessageCallback(
1983  DtObjectConsoleMessageCallbackFcn fcn, void* usr = 0);
1984  virtual void removeObjectConsoleMessageCallback(
1985  DtObjectConsoleMessageCallbackFcn fcn, void* usr = 0);
1986 
1989  virtual void setObjectNotifyLevel(const DtUUID& objectName,
1990  DtNotifyLevelType notifyLevel, const DtSimulationAddress& addr = DtSimSendToAll);
1991 
1995  virtual void logObjectConsoleToFile(const DtUUID& objectName,
1996  const DtFilename filename);
1997 
2000  virtual void stopLoggingObjectConsoleToFile(const DtUUID& objectName);
2001 
2004  virtual void addBackendConsoleMessageCallback(
2005  DtBackendConsoleMessageCallbackFcn fcn, void* usr = 0);
2006  virtual void removeBackendConsoleMessageCallback(
2007  DtBackendConsoleMessageCallbackFcn fcn, void* usr = 0);
2008 
2011  virtual void processCommentInteraction(const makVrfEvents::DtCommentEvent* inter);
2012 
2014 
2015 //-----------------------------------------------------------
2019 
2023  virtual void requestJoystickInformation(const DtUUID&, DtJoystickControlResponseFcn, void*,
2024  const DtSimulationAddress& addr = DtSimSendToAll, bool sendImmediately = false);
2025 
2029  virtual void takeControlOf(const DtUUID&, const std::set<DtString>& functionGroups,
2030  const DtSimulationAddress& addr = DtSimSendToAll, bool sendImmediately = false);
2031 
2035  virtual void releaseControlOf(const DtUUID&, const std::set<DtString>& functionGroups =
2036  std::set<DtString>(), const DtSimulationAddress& addr = DtSimSendToAll, bool sendImmediately = false);
2037 
2041  virtual void sendJoystickControl(const DtUUID&, const DtString& functionGroup,
2042  const DtString& function, double value, bool repeat = false, const DtSimulationAddress& addr = DtSimSendToAll,
2043  bool sendImmediately = false);
2044 
2046 
2047  //-----------------------------------------------------------
2053  virtual DtSimulationStatus simulationStatus() const;
2054 
2056  virtual void addSimulationStatusChangedCallback(DtSimulationStatusChangedCallbackFcn, void*);
2057  virtual void removeSimulationStatusChangedCallback(DtSimulationStatusChangedCallbackFcn, void*);
2058 
2060 
2061  //-----------------------------------------------------------
2062 
2067  virtual DtVrfObjectMessageFactory* vrfObjectMsgFactory();
2068  virtual DtCondExprFactory* condExprFactory();
2069  virtual DtStatementFactory* stmtFactory();
2070  virtual DtSimReportFactory* reportFactory();
2071  virtual DtSimTaskFactory* taskFactory();
2072  virtual DtSetDataRequestFactory* setDataFactory();
2073  virtual DtSimCommandFactory* simCommandFactory();
2074  virtual DtAdminContentFactory* adminContentFactory();
2076 
2077  virtual void createOrSetMessageInterface(DtVrfMessageInterface* iface);
2078  virtual void createOrSetVrfTDLMessageInterface(DtVrfTDLMessageInterface* iface);
2079 
2086  virtual void tick();
2087 
2088 public:
2089 
2092 
2095  static void savedScenarioCb(DtSimMessage* msg, void* usr);
2096 
2099  static void exportScenarioCb(DtSimMessage* msg, void* usr);
2100 
2103  static void loadedScenarioCb(DtSimMessage* msg, void* usr);
2104 
2107  static void backendReceivedScenarioCb(DtSimMessage* msg, void* usr);
2108 
2111  static void receiveFileCb(const DtFilename& filename, void* usr);
2112 
2114  static void receivedMultiPlanCb(DtSimMessage* msg, void* usr);
2115 
2117  static void objectCreatedCb(DtSimMessage* msg, void* usr);
2118 
2120  static void receivedPlanCb(DtSimMessage* msg, void* usr);
2121 
2123  static void receivedPlanStmtCb(DtSimMessage* msg, void* usr);
2124 
2127  static void overlayObjectCreatedCallback(const DtString& name, const DtEntityIdentifier& id,
2128  const DtUUID& uuid, void* usr);
2129 
2132  static void globalEnvironmentCreatedCb(const DtString& name, const DtEntityIdentifier& id, const DtUUID& uuid, void* usr);
2133  virtual void processGlobalEnvironmentCreated(const DtString& name, const DtEntityIdentifier& id, const DtUUID& uuid);
2134 
2137  static void indirectArtilleryObjectCreatedCallback(const DtString& name, const DtEntityIdentifier& id,
2138  const DtUUID& uuid, void* usr);
2139 
2141  static void resourcesProcessedCb(DtSimMessage* msg, void* usr);
2142 
2145  static void spatialSubdivisionConfigurationCb(DtSimMessage* msg, void* usr);
2146 
2149  virtual void commentInteractionCallback(const makVrfEvents::DtEvent&);
2150 
2152 
2154  boost::signals2::signal<void ()> signal_initialized;
2155 
2156 protected:
2157  virtual void registerEventManagerCallbacks();
2158  virtual void unregisterEventManagerCallbacks();
2159 
2161  static void joystickControlResponse(DtSimMessage* msg, void* usr);
2162  virtual void processJoystickControlResponse(DtSimMessage* msg);
2163 
2167  virtual void onInit();
2168  virtual void resetStateData();
2169  virtual void emptyLists();
2170 
2172  virtual void sendAggregateAsMsg(
2173  const DtSimulationAddress& addr,
2174  unsigned int requestId,
2175  const DtObjectType& objectType,
2176  DtForceType force,
2177  const DtVector& position,
2178  DtReal heading,
2179  DtList* entityNames,
2180  DtAggregateState initialAggregateState,
2181  const DtUUID& startingUUID = DtUUID::nullUUID()) const;
2182 
2184  virtual DtVrfConfigurationFileComposer* createComposer();
2185 
2188  virtual void sendQuerySpatialSubdivisionConfigurationRequest(
2189  const DtSimulationAddress& backendAddress,
2190  DtSpatialSubdivisionType spatialSubdivisionType ,
2191  DtServerRequestResponseCallbackFcn fcn, void* usr);
2192 
2199  virtual bool arbitrarySimAddress(const DtEntityType&, DtSimulationAddress& address) const;
2200 
2208  virtual bool addStatementsAndSendPlan(const DtPlan& plan, DtIfPlan& planMsg,
2209  const DtSimulationAddress& addr = DtSimSendToAll,
2210  int *retiStatus = 0, DtString* retsStmt = 0) const;
2211 
2214  static void deliverRadioMessageCallback(DtSimMessage* msg, void* usr);
2215  static void vrfObjectMessageCallback(const DtVrfObjectMessage* objMsg, void* usr);
2218  virtual void processVrfObjectMessage(const DtVrfObjectMessage* objectMsg);
2219 
2221  static void backendStatusUpdate(const DtSimulationAddress&, void*);
2222  virtual void processBackendStatusUpdate(const DtSimulationAddress&);
2223 
2224  virtual void processLoadScenarioEvent(const makVrfEvents::DtEvent&);
2225  virtual void processCloseScenarioEvent(const makVrfEvents::DtEvent&);
2226 
2233  virtual void initializeGlobalEnvironment(
2234  const DtSimulationAddress& environmentSimBackend = DtSimSendToAll);
2235 
2238  static void globalEnvironmentCreatedCallback(const makVrf::DtExternalCurrentFrameState*, void*);
2239  virtual void processGlobalEnvironmentCreated(const makVrf::DtExternalCurrentFrameState*);
2240 
2242  virtual void generateScenarioRunId();
2243 
2244 protected:
2256  DtList myBeList;
2257  std::map<DtString, bool> myBackendReceivedScenario;
2258 
2267 
2268  typedef std::list<PlanCbInfo> DtPlanCallbackListType;
2270  typedef std::list<StmtCbInfo> DtStatementCallbackListType;
2272  typedef std::list<PlanCompleteCbInfo> DtPlanCompleteCallbaclListType;
2274 
2275  DtHashlist myObjectCbs;
2276 
2277  typedef std::list<std::pair<DtObjectConsoleMessageCallbackFcn, void*> >
2280 
2281  typedef std::list<std::pair<DtBackendConsoleMessageCallbackFcn, void*> >
2284 
2287  DtFilename mySaveName;
2289  DtFilename myOverlayFilename;
2293  DtFilename myOpdName;
2306 
2309 
2312 
2315 
2325 
2330 
2333 
2336  DtFilename myTempDirectory;
2337 
2341  DtInetAddr myInetAddr;
2342 
2347  mutable unsigned int myRequestIdCounter;
2348 
2351 
2354 
2357 
2360 
2362  DtFilename myExportFile;
2363 
2366 
2370 
2372 
2374  typedef std::map<DtString, std::pair<DtJoystickControlResponseFcn, void*> > JoystickResponseCallbackInfo;
2376 
2379 
2383  std::set<DtSimulationAddress> myBackendsWithObjects;
2384 
2386  std::set<DtSimulationAddress> myBackendsLoaded;
2387  std::vector<DtString> myLoadingSimulationModelSets;
2389 
2392 
2393  boost::signals2::connection myPostAdvanceFrameConnection;
2394 
2396 
2398 };
2399 
2408 {
2409 public:
2410  DtVrfOverlayObjectModify(int color, const DtUUID& attachTo,
2411  char* userData,
2412  int iUserDataSize, DtOverlayCreatedCallbackFcn fcn,
2413  DtVrfRemoteController* control);
2414 
2415  virtual ~DtVrfOverlayObjectModify();
2416 
2417  virtual int color() const;
2418  virtual const DtUUID& attachTo() const;
2419  virtual void userData(char** data, int* userDataSize);
2420  virtual DtVrfRemoteController* remoteController();
2421  virtual DtOverlayCreatedCallbackFcn userCallback();
2422 
2423 protected:
2424  int myColor;
2427  char* myUserData;
2430 };
2431 
2435 {
2436 public:
2439 
2441  virtual DtVrfRemoteController* remoteController() const;
2442  virtual void setRemoteController(DtVrfRemoteController*);
2443 
2445  virtual const DtIfIndirectArtilleryData & data() const;
2446  virtual DtIfIndirectArtilleryData & data();
2447  virtual void setData(const DtIfIndirectArtilleryData & data);
2448 
2449 protected:
2452 };
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:2266
UUID is a unique ID wrapper class.
Definition: uuid.h:59
DtDefaultAdminContentFactory myAdminContentFact
Definition: vrfRemoteController.h:2324
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:2365
bool myNeedsGlobalEnvironment
Set to true if needs to create global environment on first load of simulation.
Definition: vrfRemoteController.h:2308
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:2305
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:2319
unsigned int myRequestIdCounter
Incremented by generateRequestId() to assign new request id&#39;s. This value should only be changed by g...
Definition: vrfRemoteController.h:2347
bool myPreserveMappings
false if a DtPreserveMappingsFcn returned false when saving a scenario
Definition: vrfRemoteController.h:2301
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:2374
DtHashlist myObjectCbs
Definition: vrfRemoteController.h:2275
DtFilename myTempDirectory
Location for temporary files generated by the configuration composer and file transporter.
Definition: vrfRemoteController.h:2336
Definition: scenario.h:52
DtList myReceivedFiles
Definition: vrfRemoteController.h:2250
int myScenarioRunId
Definition: vrfRemoteController.h:2397
DtFilename myCreateMenuFilename
Definition: vrfRemoteController.h:2292
void(* DtScenarioCallbackFcn)(void *usr)
Definition: vrfRemoteController.h:83
int myColor
Definition: vrfRemoteController.h:2424
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:2264
DtCompressedFileTransporter * myTransporter
Definition: vrfRemoteController.h:2249
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:2356
char * myUserData
Definition: vrfRemoteController.h:2427
DtRwKeyValueList myScenarioData
Extra data used to be saved with the scenario.
Definition: vrfRemoteController.h:2332
voidpf void uLong size
Definition: ioapi.h:39
DtBackendSelectorManager * myBackendSelectorManager
Definition: vrfRemoteController.h:2395
bool myAwaitingExportComplete
Set to know we&#39;ve received the export complete message but not the file yet.
Definition: vrfRemoteController.h:2369
DtUUID planName
Definition: vrfRemoteController.h:139
Definition: defaultStatementFactory.h:18
DtDefaultSimReportFactory myReportFact
Definition: vrfRemoteController.h:2320
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:2278
bool operator==(const PlanCompleteCbInfo &orig) const
Definition: vrfRemoteController.h:173
std::list< PlanCbInfo > DtPlanCallbackListType
Definition: vrfRemoteController.h:2268
std::map< DtString, bool > myBackendReceivedScenario
Definition: vrfRemoteController.h:2257
DtPlanCallbackFcn fcn
Definition: vrfRemoteController.h:141
A container for information provided to a plan statement callback.
Definition: vrfRemoteController.h:146
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:2375
Factory for DtAdminContent used in messages. Overridden from the template class to specialize the err...
Definition: adminContentFactory.h:22
DtTime myMaxWaitLoadTime
Definition: vrfRemoteController.h:2254
int myUserDataSize
Definition: vrfRemoteController.h:2428
DtBackendSelectorManager * backendSelectorManager() const
Constructor.
Definition: vrfRemoteController.h:267
DtFilename myExportFile
When received, the file to save the export file to.
Definition: vrfRemoteController.h:2362
DtDefaultSimTaskFactory myTaskFact
Definition: vrfRemoteController.h:2321
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:2265
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:2407
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:2245
Definition: radarCoverageAltitudeSettings.h:35
std::list< StmtCbInfo > DtStatementCallbackListType
Definition: vrfRemoteController.h:2270
Definition: addressMap.h:24
DtVrfTDLMessageInterface * myVrfTDLMsgIf
Definition: vrfRemoteController.h:2247
DtVrfMessageInterface * myMsgIf
Definition: vrfRemoteController.h:2246
DtList myScenSavedOldCbs
Definition: vrfRemoteController.h:2261
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:2256
The main class for the remote control interface to VR-Forces. Instantiating this class allows the sen...
Definition: vrfRemoteController.h:201
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:2341
DtTime myLastCommandTime
Definition: vrfRemoteController.h:2253
DtDefaultVrfObjectMessageFactory myVrfObjectMsgFact
These are needed for message callbacks to work.
Definition: vrfRemoteController.h:2317
Definition: event.h:13
DtList myBeLoadedCbs
Definition: vrfRemoteController.h:2260
DtList myScenSavedCbs
list of any deprecated old-style save callbacks that have been registered
Definition: vrfRemoteController.h:2262
boost::signals2::connection myPostAdvanceFrameConnection
Definition: vrfRemoteController.h:2393
DtSpatialSubdivisionType
Types of spatial subdivisions used in VR-Forces.
Definition: spatialSubdivisionTypes.h:17
DtIfIndirectArtilleryData myData
Definition: vrfRemoteController.h:2451
~PlanCbInfo()
Definition: vrfRemoteController.h:132
The DtCommunicationManager class is a convenience class that will create both the DtNetworkInterfaceM...
Definition: communicationManager.h:51
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:2329
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:2291
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:2259
void(* DtCheckpointSavedCallbackFcn)(DtSaveResult result, double, void *usr)
Definition: vrfRemoteController.h:100
DtFilename myOpdName
Definition: vrfRemoteController.h:2293
DtStatementCallbackListType myStmtCbs
Definition: vrfRemoteController.h:2271
Definition: compressedFileTransporter.h:24
DtPlanCompleteCallbaclListType myPlanCompleteCbs
Definition: vrfRemoteController.h:2273
std::set< DtSimulationAddress > myBackendsLoaded
Used for loading a scenario if there are any backends opened.
Definition: vrfRemoteController.h:2386
std::set< DtSimulationAddress > myBackendsWithObjects
Definition: vrfRemoteController.h:2383
DtU32 myCurrentRequestId
Definition: vrfRemoteController.h:2252
std::list< std::pair< DtBackendConsoleMessageCallbackFcn, void * > > DtBackendConsoleMessageCallbackListType
Definition: vrfRemoteController.h:2282
bool mySaveToZipFile
Whether or not the pending save is saved to a zip file.
Definition: vrfRemoteController.h:2378
bool myUseDayNightModel
Definition: vrfRemoteController.h:2371
DtFilename mySelectionGroupsFilename
Definition: vrfRemoteController.h:2290
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:2255
~PlanCompleteCbInfo()
Definition: vrfRemoteController.h:172
A container for information provided to a plan callback.
Definition: vrfRemoteController.h:127
DtVrfRemoteController * myController
Definition: vrfRemoteController.h:2426
bool myInRollback
Definition: vrfRemoteController.h:2382
Definition: stateData.h:263
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:2272
DtVrfConfigurationFileComposer * myComposer
Definition: vrfRemoteController.h:2297
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:2299
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:2323
Small container class that holds the status of a running DtPlan.
Definition: plan.h:45
bool myOwnsMessageInterface
Definition: vrfRemoteController.h:2285
class DtIfMultiplePlanResponse:
Definition: ifMultiplePlanResponse.h:32
DtOverlayCreatedCallbackFcn myUserCallback
Definition: vrfRemoteController.h:2429
DtDefaultCondExprFactory myCondExprFact
Definition: vrfRemoteController.h:2318
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:45
DtRemoteEnvironmentController * remoteEnvironmentController()
Returns myRemoteEnvironmentController.
Definition: vrfRemoteController.h:258
ComponentAttachmentRule
Definition: vrfRemoteController.h:205
Data container for Indirect Artillery. Should contain nothing but mutators, accessors and data...
Definition: ifModifyIndirectArtilleryObject.h:28
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:2388
DtList myReceivedSaves
Definition: vrfRemoteController.h:2251
bool myOwnsVrfTDLMessageInterface
Definition: vrfRemoteController.h:2286
bool myNeedsGlobalDynamicTerrain
Set to true if needs to create the object to manage global dynamic terrain.
Definition: vrfRemoteController.h:2314
Definition: defaultCondExprFactory.h:18
DtDefaultSetDataRequestFactory mySetDataFact
Definition: vrfRemoteController.h:2322
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:2287
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:2269
DtVrfObjectMessageExecutive myObjectMessageExecutive
Used to processes VrfObjectMessages addressed to the Front End.
Definition: vrfRemoteController.h:2350
std::vector< DtString > myLoadingSimulationModelSets
Definition: vrfRemoteController.h:2387
DtFilename myOverlayFilename
Definition: vrfRemoteController.h:2289
DtChangeWeatherCommand * myInitialEnvironment
Set to non-null if needing to also set the global environment.
Definition: vrfRemoteController.h:2311
DtRemoteEnvironmentController * myRemoteEnvironmentController
Used to monitor and change the weather state.
Definition: vrfRemoteController.h:2391
double mySimTimeForCheckpointSave
Definition: vrfRemoteController.h:2288
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:2381
DtObjectConsoleMessageCallbackListType myObjectConsoleMessageCallbackList
Definition: vrfRemoteController.h:2279
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:2154
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:634
DtCommunicationManager * communicationManager()
Constructor.
Definition: vrfRemoteController.h:252
Definition: defaultSimTaskFactory.h:15
DtList myScenAboutToBeSavedCbs
list of any preferred new-style save callbacks that have been registered
Definition: vrfRemoteController.h:2263
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:206
bool isGlobal
Definition: vrfRemoteController.h:180
DtScenario * mySaveScen
Definition: vrfRemoteController.h:2295
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:2450
DtUUID myAttachTo
Definition: vrfRemoteController.h:2425
DtBackendConsoleMessageCallbackListType myBackendConsoleMessageCallbackList
Definition: vrfRemoteController.h:2283
DtRadioMessageListener * myRadioMessageListener
Used to spy on radio messages sent between VRF Entities.
Definition: vrfRemoteController.h:2353
int myScenarioExportRequestId
Pending export request id.
Definition: vrfRemoteController.h:2359
DtFilename myScenarioExtrasFilename
Definition: vrfRemoteController.h:2294
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:2248
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:2434
DtScenario * myLoadScen
Definition: vrfRemoteController.h:2296
void(* DtBackendConsoleMessageCallbackFcn)(const DtSimulationAddress &id, int notifyLevel, const DtString &message, void *usr)
Definition: vrfRemoteController.h:117

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)