VR-Forces 5.0.1 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,
208  AttachEven
209  };
210 
211 public:
212 
216 
222  DtVrfRemoteController(int receivePort = 9000);
223 
225  virtual ~DtVrfRemoteController();
226 
228  virtual DtVrfMessageInterface* vrfMessageInterface() const;
229 
231  virtual DtVrfTDLMessageInterface* vrfTDLMessageInterface() const;
232 
234  virtual DtVrfConfigurationFileComposer* composer();
235 
237  virtual void setHostInetAddr(DtInetAddr);
238  virtual DtInetAddr hostInetAddr() const;
239 
241  virtual const DtSimulationAddress& simulationAddress() const;
242 
244  virtual int sessionId() const;
245 
249  virtual unsigned int generateRequestId() const;
250 
251  DtNetworkInterfaceManager* networkInterfaceManager();
252  makVrfEvents::DtEventManager* eventManager();
254  {
255  return myCommunicationManager;
256  }
257 
260  {
261  return myRemoteEnvironmentController;
262  }
263 
266  DtRemoteEnvironmentController* createRemoteEnvironmentController();
267 
269  {
270  return myBackendSelectorManager;
271  }
272 
274 
275  //---------------------------------------------------------------
276 
280 
283  virtual void init(DtCommunicationManager* exConn, DtVrfMessageInterface* msgInterface = 0,
284  DtVrfTDLMessageInterface* tdlMessageInterface = 0);
285 
287 
288 //-----------------------------------------------------------x
289 
293 
295  virtual const DtList& backends() const;
296 
299  virtual const DtList& pendingBackends() const;
300 
302  virtual DtVrfBackendListener* backendListener() const;
303 
305  virtual void addBackendDiscoveryCallback(
306  DtBackendCallbackFcn fcn, void* usr);
307  virtual void removeBackendDiscoveryCallback(
308  DtBackendCallbackFcn fcn, void* usr);
309 
311  virtual void addBackendRemovalCallback(
312  DtBackendCallbackFcn fcn, void* usr);
313  virtual void removeBackendRemovalCallback(
314  DtBackendCallbackFcn fcn, void* usr);
315 
319  virtual int backendsControlState() const;
320 
322  virtual int numberBackendsLoaded() const;
323 
326  virtual bool allBackendsReady() const;
327 
329  virtual bool backendLoaded(const DtSimulationAddress& addr) const;
330 
333  virtual void modifyBackEndSetting(const DtSettingsObject* setting,
334  const DtSimulationAddress& addr = DtSimSendToAll);
335 
346  virtual void requestBackEndSetting(std::string name,
348  const DtSimulationAddress& addr = DtSimSendToAll);
349 
352  virtual double simTime(const DtSimulationAddress* a = NULL) const;
353 
355 
356 //-----------------------------------------------------------
357 
360 
363  virtual void setSpotReportsGloballyEnabled(bool enabled);
364 
367  virtual void setTDLMessagesGloballyEnabled(bool enabled);
368 
371  virtual void setEngagementReportsGloballyEnabled(bool enabled);
372 
375  virtual void setPeriodicSnapshotSettings(bool enabled, double period, int numberOfSnapshotsToKeep);
376 
379  virtual void setDRThresholds(double translation, double rotation);
380 
382  virtual void setCommModelSettings(bool useExternalComms);
383 
385  virtual void setRoadDrivingSettings(bool driveOnLeft);
386 
388  virtual void setRadarCoverageAltitudeMSL(bool);
389 
391  virtual void setRadarCoverageAltitudeSettings(const DtRadarCoverageAltitudeSettings& settings);
392 
397  virtual void setPublishAggregateFormationRoutes(bool yesNo);
398 
400  virtual void setRotationThreshold(DtReal thresh);
401 
403  virtual void setTranslationThreshold(DtReal thresh);
404 
409  virtual void setAggDimensionThreshold(DtReal thresh);
410 
413  virtual void querySpatialSubdivisionConfiguration(
414  const DtSimulationAddress& backendAddress,
415  DtSpatialSubdivisionType spatialSubdivisionType,
416  DtServerRequestResponseCallbackFcn fcn = 0, void* usr = 0);
417 
419  virtual void setSpatialSubdivsionConfiguration(
420  const DtSimulationAddress& backendAddress,
421  DtSpatialSubdivisionType spatialSubdivisionType,
422  const int spatialSubdivisionXResolution,
423  const int spatialSubdivisionYResolution,
424  const int spatialSubdivisionZResolution);
425 
431  virtual void processSpatialSubdivisionConfigurationCb(
432  const DtIfServerRequestResponse& rsp);
433 
435 
436  //------------------------------------------------------------
437 
442 
451  virtual bool newScenario(
452  const DtFilename& dbname,
453  const DtFilename& guidbname,
454  const DtFilename& opdname = DtFilename::nullFilename(),
455  const DtFilename& physicalWorldName = DtFilename::nullFilename(),
456  const DtScenario* baseScenario = 0,
457  time_t startTimeOfDay = 12 * 3600,
458  DtString* errorString = 0,
459  const DtChangeWeatherCommand& initialEnvironmentCondition = DtChangeWeatherCommand());
460 
462  virtual bool newScenario(
463  const DtFilename& dbname,
464  const DtFilename& guidbname,
465  const std::vector<DtString>& simulationModelSetFiles,
466  const DtScenario* baseScenario = 0,
467  time_t startTimeOfDay = 12 * 3600,
468  DtString* errorString = 0,
469  const DtChangeWeatherCommand& initialEnvironmentCondition = DtChangeWeatherCommand());
470 
476  virtual bool newScenario(
477  const DtFilename& dbname,
478  const DtFilename& guidbname,
479  const DtFilename& opdname,
480  const DtFilename& physicalWorldName,
481  const std::vector<DtString>& simulationModelSetFiles,
482  const DtScenario* baseScenario = 0,
483  time_t startTimeOfDay = 12 * 3600,
484  DtString* errorString = 0,
485  const DtChangeWeatherCommand& initialEnvironmentCondition = DtChangeWeatherCommand());
486 
492  virtual void createSimulationObjectGroup(const DtSimulationAddress&, const DtString& simulationObjectGroup,
493  const DtVector& createPosition, double offsetRotation, int createFlags, DtForceType force,
494  bool storedInZipFile = false);
495 
496 
498 
502 
528  virtual bool loadScenario(const DtFilename& filename,
529  DtBackendRemappingFcn fcn = 0, void* usrRemapping = 0,
530  DtLoadBalancingFcn = 0, void* usrBalancing = 0,
531  const std::vector<DtString>& simulationModelSetFiles = std::vector<DtString>(),
532  ComponentAttachmentRule compAttachRule = DtVrfRemoteController::AttachNone,
533  DtString* errorString = 0);
534  virtual bool loadScenario(const DtScenarioLoadInformation&,
535  const std::vector<DtString>& simulationModelSetFiles = std::vector<DtString>(),
536  DtString* errorString = 0);
537 
546  virtual bool loadScenario(const DtScenario& scenario,
547  DtBackendRemappingFcn fcn = 0, void* usrRemapping = 0,
548  DtLoadBalancingFcn = 0, void* usrBalancing = 0,
549  const std::vector<DtString>& simulationModelSetFiles = std::vector<DtString>(),
550  DtString* errorString = 0);
551 
569  virtual bool sendLoadScenarioMessage(
570  const DtScenario& scenario,
571  const DtSimulationAddress& addr = DtSimSendToAll,
572  bool import = false,
573  bool isOrbatEnabled = false,
574  bool createGlobalEnv = false,
575  bool createGlobalDynamicTerrain = false) const;
576 
578  virtual void createGlobalEnvironment(bool);
579 
582  virtual DtIfLoadScenario* createLoadScenarioMessage() const;
583 
586  virtual void addBackendLoadedCallback(DtBackendCallbackFcn fcn, void* usr);
587  virtual void removeBackendLoadedCallback(DtBackendCallbackFcn fcn, void* usr);
588 
591  virtual void addScenarioLoadedCallback(DtScenarioCallbackFcn fcn, void* usr);
592  virtual void removeScenarioLoadedCallback(DtScenarioCallbackFcn fcn, void* usr);
593 
594 
599  virtual bool rollbackToSnapshot(double simTime);
600 
603  virtual bool importScenario(const DtScenario&, const DtSimulationAddress& addr, DtString* errorString = 0);
604  virtual bool importScenario(const DtFilename&, const DtSimulationAddress& addr, DtString* errorString = 0);
605 
610  virtual bool importScenarioDescriptionFile(const DtFilename& file, DtSimulationAddress, const DtString& format,
611  const std::map<std::string, std::string>& importData);
612 
616  virtual void setMaxWaitLoadTime(DtTime t);
617  virtual DtTime maxWaitLoadTime() const;
618 
620 
625 
628  virtual bool exportScenarioDescriptionFile(const DtFilename& file, DtSimulationAddress, const DtString& format,
629  const std::map<std::string, std::string>& importData);
630 
634  virtual DtString guiTerrainDatabaseFilename() const;
635  virtual void setGuiTerrainDatabaseFilename(DtString db);
636 
638  virtual const DtRwKeyValueList& scenarioData() const;
639  virtual void setScenarioData(const DtRwKeyValueList&);
640 
642  virtual bool isSavingScenario() const;
643 
660  virtual bool saveScenario(const DtFilename& saveName,
661  DtPreserveMappingsFcn fcn = 0, void* userData = 0, DtString* error = 0, bool saveToZip = false,
662  bool deleteExistingZip = true, double simTime = -1);
663 
670  virtual bool save(DtString& sError);
671 
676  virtual bool saveScenarioCheckpoint(const DtFilename& filename, double simTime, bool saveToZip = false, DtString* saveError = 0);
677 
680  virtual void takeSnapshot(DtSimulationAddress addr = DtSimSendToAll);
681 
684  virtual void takeBaseSnapshot();
685 
687  virtual void createGlobalDynamicTerrain(bool);
688 
692  virtual void sendSaveScenarioMessage(const DtSimulationAddress& addr = DtSimSendToAll, double simTime = -1,
693  const DtFilename& saveScenarioFilename = "") const;
694 
697  virtual void addBackendSavedCallback(DtBackendSaveCallbackFcn fcn, void* usr);
698  virtual void removeBackendSavedCallback(DtBackendSaveCallbackFcn fcn, void* usr);
699 
703  virtual void addScenarioSavedCallback(
704  DtScenarioCallbackFcn fcn, void* usr);
705  virtual void removeScenarioSavedCallback(
706  DtScenarioCallbackFcn fcn, void* usr);
707 
709  virtual void addScenarioAboutToBeSavedCallback(
710  DtScenarioAboutToBeSavedCallbackFcn fcn, void* usr);
711  virtual void removeScenarioAboutToBeSavedCallback(
712  DtScenarioAboutToBeSavedCallbackFcn fcn, void* usr);
713 
715  virtual void addScenarioExportedCallback(
716  DtScenarioSavedCallbackFcn fcn, void* usr);
717  virtual void removeScenarioExportedCallback(
718  DtScenarioSavedCallbackFcn fcn, void* usr);
719 
721  virtual void addCheckpointSavedCallback(
722  DtCheckpointSavedCallbackFcn fcn, void* usr);
723  virtual void removeCheckpointSavedCallback(
724  DtCheckpointSavedCallbackFcn fcn, void* usr);
725 
729  virtual void addScenarioSavedCallback(
730  DtScenarioSavedCallbackFcn fcn, void* usr);
731  virtual void removeScenarioSavedCallback(
732  DtScenarioSavedCallbackFcn fcn, void* usr);
733 
741  virtual void setOpdSaveName(const DtFilename& f);
742  virtual const DtFilename& opdSaveName() const;
743 
747  virtual void setMaxWaitSaveTime(DtTime t);
748  virtual DtTime maxWaitSaveTime() const;
749 
753  virtual void setOverlayFilename(const DtFilename& overlay);
754  virtual const DtFilename& overlayFilename() const;
755 
756  virtual void setScenarioExtrasFilename(const DtFilename& extras);
757  virtual const DtFilename& scenarioExtrasFilename() const;
758 
762  virtual void setSelectionGroupsFilename(const DtFilename& sel);
763  virtual const DtFilename& selectionGroupsFilename() const;
764 
768  virtual void setSymbolMapFilename(const DtFilename& overlay);
769  virtual const DtFilename& symbolMapFilename() const;
770 
774  virtual void setCreateMenuFilename(const DtFilename& overlay);
775  virtual const DtFilename& createMenuFilename() const;
776 
778  virtual void saveParameterDb(const DtFilename& filename);
779 
787  virtual bool saveSimulationObjectGroup(const DtFilename& smsDirectory, const DtString& groupName,
788  const DtString& groupDescription, int creationFlags, const DtSimulationAddress& addr,
789  const std::map<DtString, DtString>& additionalInformation = std::map<DtString, DtString>(),
790  DtString* saveError = 0, bool saveAsZip = false);
791 
793 
798 
804  virtual void closeScenario(const DtSimulationAddress& addr = DtSimSendToAll,
805  const DtFilename& databaseToOpen = "", bool forceCloseAll = false);
806 
808  virtual void reinitializeScenario();
809 
811 
816 
819  virtual void run(bool useStartStopInteraction = false, const DtSimulationAddress& addr = DtSimSendToAll) const;
820  virtual void pause(bool useStartStopInteraction = false, const DtSimulationAddress& addr = DtSimSendToAll) const;
821 
823  virtual void rewind();
824 
825  virtual void exit(const DtSimulationAddress& addr = DtSimSendToAll) const;
826  virtual void step() const;
827  virtual void setTimeMultiplier(double multiplier) const;
828 
829 
831 
832  //-------------------------------------------------------
833 
840 
844  virtual void loadedScenario(
845  const DtSimulationAddress& addr, unsigned int requestId, const DtU32& capabilities);
846 
850  virtual void backendReceivedScenario(const DtSimulationAddress& addr, unsigned int requestId);
851 
857  virtual void initializeGlobalDynamicTerrain(
858  const DtSimulationAddress& environmentSimBackend = DtSimSendToAll);
859 
864  virtual void save(const DtSimulationAddress& addr, DtIfSaveComplete* s);
865 
869  virtual void processSaveMessages();
870 
874  virtual void exported(const DtSimulationAddress& addr, DtIfExportComplete* s);
875 
877  virtual void completeExport();
878 
882  virtual void savedScenario(const DtSimulationAddress& addr,
883  DtSaveResult result, unsigned int requestId, bool isCheckpointSave = false, double checkpointSimTime = -1);
884 
887  virtual void doPendingSaveWork();
888 
891  virtual void doPendingExportWork();
892 
895  virtual void doPendingLoadWork();
896 
900  virtual DtTime scenarioSimTimeForSave();
901 
905  virtual void setTerrainDatabaseFilename(DtScenario* scen);
906 
910  virtual void setParameterDatabaseFilename(DtScenario* scen);
911 
915  virtual void setPhysicalWorldFilename(DtScenario* scen);
916 
920  virtual void setTimeMultiplier(DtScenario* scen);
921 
925  virtual void setAutoReorganize(DtScenario* scen);
926 
930  virtual void setRandomNumberSeed(DtScenario* scen);
931 
935  virtual void setFrameRateMode(DtScenario* scen);
936 
940  virtual void setFrameDeltaTime(DtScenario* scen);
941 
945  virtual void setExerciseStartTime(DtScenario* scen);
946 
950  virtual void setExerciseStartDateAndTime(DtScenario* scen);
951 
952 
954 
955  //-------------------------------------------------------
956 
970 
971 
972  //Waypoints (Note-- no way to make a subsection in doxygen; so prevent this word from appearing)
973 
978  virtual void createWaypoint(
979  const DtVector& geocentricPosition,
980  const DtString& uniqueName = DtString::nullString(),
981  const DtString& label = DtString::nullString(),
982  const DtSimulationAddress& addr = DtSimSendToAll,
983  const DtUUID& startingUUID = DtUUID::nullUUID()) const;
984 
988  virtual void createWaypoint(
989  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
990  const DtVector& geocentricPosition,
991  const DtString& uniqueName = DtString::nullString(),
992  const DtString& label = DtString::nullString(),
993  const DtSimulationAddress& addr = DtSimSendToAll,
994  const DtUUID& startingUUID = DtUUID::nullUUID());
995 
997  virtual void modifyWaypoint(
998  const DtUUID& uuid,
999  DtString* uniqueName = 0,
1000  DtString* label = 0,
1001  DtVector* geocentricPosition = 0,
1002  const DtSimulationAddress& addr = DtSimSendToAll) const;
1003 
1004  //Routes
1005 
1010  virtual void createRoute(
1011  const DtList& vertices,
1012  const DtString& uniqueName = DtString::nullString(),
1013  const DtString& label = DtString::nullString(),
1014  const DtSimulationAddress& addr = DtSimSendToAll,
1015  const DtUUID& startingUUID = DtUUID::nullUUID()) const;
1016 
1020  virtual void createRoute(
1021  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
1022  const DtList& vertices,
1023  const DtString& uniqueName = DtString::nullString(),
1024  const DtString& label = DtString::nullString(),
1025  const DtSimulationAddress& addr = DtSimSendToAll,
1026  const DtUUID& startingUUID = DtUUID::nullUUID());
1027 
1029  virtual void modifyRoute(
1030  const DtUUID& uuid,
1031  DtString* uniqueName = 0,
1032  DtString* label = 0,
1033  DtList* vertices = 0,
1034  const DtSimulationAddress& addr = DtSimSendToAll) const;
1035 
1036  //Phase Lines
1037 
1042  virtual void createPhaseLine(
1043  const DtVector& dbPoint1,
1044  const DtVector& dbPoint2,
1045  const DtString& uniqueName = DtString::nullString(),
1046  const DtString& label = DtString::nullString(),
1047  const DtSimulationAddress& addr = DtSimSendToAll,
1048  const DtUUID& startingUUID = DtUUID::nullUUID()) const;
1049 
1053  virtual void createPhaseLine(
1054  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
1055  const DtVector& dbPoint1,
1056  const DtVector& dbPoint2,
1057  const DtString& uniqueName = DtString::nullString(),
1058  const DtString& label = DtString::nullString(),
1059  const DtSimulationAddress& addr = DtSimSendToAll,
1060  const DtUUID& startingUUID = DtUUID::nullUUID());
1061 
1063  virtual void modifyPhaseLine(
1064  const DtUUID& uuid,
1065  DtString* uniqueName = 0,
1066  DtString* label = 0,
1067  DtVector* newDbPoint1 = 0,
1068  DtVector* newDbPoint2 = 0,
1069  const DtSimulationAddress& addr = DtSimSendToAll) const;
1070 
1071  //Control Areas
1072 
1078  virtual void createControlArea(
1079  const DtList& vertices,
1080  const DtString& uniqueName = DtString::nullString(),
1081  const DtString& label = DtString::nullString(),
1082  const DtSimulationAddress& addr = DtSimSendToAll,
1083  const DtUUID& startingUUID = DtUUID::nullUUID()) const;
1084 
1088  virtual void createControlArea(
1089  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
1090  const DtList& vertices,
1091  const DtString& uniqueName = DtString::nullString(),
1092  const DtString& label = DtString::nullString(),
1093  const DtSimulationAddress& addr = DtSimSendToAll,
1094  const DtUUID& startingUUID = DtUUID::nullUUID());
1095 
1097  virtual void modifyControlArea(
1098  const DtUUID& uuid,
1099  DtString* uniqueName = 0,
1100  DtString* label = 0,
1101  DtList* newVertices = 0,
1102  const DtSimulationAddress& addr = DtSimSendToAll) const;
1103 
1104  //Obstacles
1105 
1111  virtual void createObstacle(
1112  const DtList& vertices,
1113  const DtString& uniqueName = DtString::nullString(),
1114  const DtString& label = DtString::nullString(),
1115  const DtSimulationAddress& addr = DtSimSendToAll,
1116  const DtUUID& startingUUID = DtUUID::nullUUID()) const;
1117 
1121  virtual void createObstacle(
1122  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
1123  const DtList& vertices,
1124  const DtString& uniqueName = DtString::nullString(),
1125  const DtString& label = DtString::nullString(),
1126  const DtSimulationAddress& addr = DtSimSendToAll,
1127  const DtUUID& startingUUID = DtUUID::nullUUID());
1128 
1130  virtual void modifyObstacle(
1131  const DtUUID& uuid,
1132  DtString* uniqueName = 0,
1133  DtString* label = 0,
1134  DtList* newVertices = 0,
1135  const DtSimulationAddress& addr = DtSimSendToAll) const;
1136 
1137  //Disaggregation Area
1138 
1145  virtual void createDisaggregationArea(
1146  const DtList& vertices,
1147  const DtString& uniqueName = DtString::nullString(),
1148  const DtString& label = DtString::nullString(),
1149  const DtSimulationAddress& addr = DtSimSendToAll,
1150  const DtUUID& startingUUID = DtUUID::nullUUID()) const;
1151 
1156  virtual void createDisaggregationArea(
1157  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
1158  const DtList& vertices,
1159  const DtString& uniqueName = DtString::nullString(),
1160  const DtString& label = DtString::nullString(),
1161  const DtSimulationAddress& addr = DtSimSendToAll,
1162  const DtUUID& startingUUID = DtUUID::nullUUID());
1163 
1165  virtual void modifyDisaggregationArea(
1166  const DtUUID& uuid,
1167  DtString* uniqueName = 0,
1168  DtString* label = 0,
1169  DtList* newVertices = 0,
1170  const DtSimulationAddress& addr = DtSimSendToAll) const;
1171 
1172  //Overlay objects
1173 
1186  virtual void createOverlayObject(
1187  const DtEntityType& type,
1188  const DtList& vertices,
1189  const DtForceType& force,
1190  const DtString& name,
1191  const DtString& label,
1192  int color,
1193  const DtString& parentName,
1194  bool projection,
1195  bool closedFigure,
1196  const DtAppearance& appearance = DtAppearance::nullAppearance(),
1197  const DtUUID& attachTo = DtUUID::nullUUID(),
1198  char* userData = 0,
1199  int dataSize = 0,
1200  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
1201  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
1203  const DtSimulationAddress& addr = DtSimSendToAll,
1204  unsigned int rId = 0,
1205  std::list<DtAdminContent*>* initialAdminContent = 0,
1206  std::list<DtSimInterfaceContent*>* initialInterfaceContent = 0,
1207  const DtUUID& uuidForCreation = DtUUID::nullUUID());
1208 
1212  virtual void processOverlayObjectCreated(const DtString& name, const DtEntityIdentifier& id, const DtUUID& uuid,
1213  DtVrfOverlayObjectModify* modifications);
1214 
1216  virtual void setPhysicalLineWidth(const DtSimulationAddress& addr,
1217  const DtUUID& entityId, double w);
1218 
1220  virtual void setPhysicalLineHeight(const DtSimulationAddress& addr,
1221  const DtUUID& entityId, double h);
1222 
1224  virtual void setCeiling(const DtSimulationAddress& addr,
1225  const DtUUID& entityId, double c);
1226 
1230  virtual void sendVrfOverlayObjectModifyMsg(
1231  const DtSimulationAddress& addr,
1232  const DtUUID& uuid,
1233  int color,
1234  const DtString& parentName,
1235  const DtUUID& attachTo,
1236  bool keepExistingAttachment = true,
1237  char* userData = 0,
1238  int len = 0) const;
1239 
1240  //Indirect artillery objects
1241 
1243  virtual void createIndirectArtillery(
1244  const DtVrfIndirectArtilleryObjectModify * params,
1245  const DtSimulationAddress& addr);
1246 
1250  virtual void processIndirectArtilleryObjectCreated(const DtString& name, const DtEntityIdentifier& id, const DtUUID& uuid,
1251  DtVrfIndirectArtilleryObjectModify* modifications);
1252 
1253  virtual void sendVrfIndirectArtilleryObjectModifyMsg(
1254  const DtSimulationAddress& addr,
1255  const DtUUID& uuid,
1256  const DtVrfIndirectArtilleryObjectModify * mod) const;
1257 
1259 
1260  //-------------------------------------------------------
1261 
1265 
1268  virtual void createObject(
1269  const DtEntityType& type,
1270  DtForceType force,
1271  DtList* vertices,
1272  const DtString& name,
1273  const DtSimulationAddress& addr,
1274  const DtUUID& startingUUID = DtUUID::nullUUID());
1275 
1279  virtual void objectCreated(unsigned int requestId,
1280  const DtString& name, const DtEntityIdentifier& id, const DtUUID& uuid);
1281 
1283  virtual void deleteObject(const DtUUID& uuid,
1284  const DtSimulationAddress& addr = DtSimSendToAll) const;
1285 
1287  virtual void createEntity(
1288  const DtEntityType& type,
1289  const DtVector& geocentricPosition,
1290  DtForceType force,
1291  DtReal heading,
1292  const DtString& uniqueName = DtString::nullString(),
1293  const DtString& label = DtString::nullString(),
1294  const DtSimulationAddress& addr = DtSimSendToAll,
1295  bool groundClamp = true,
1296  const DtUUID& startingUUID = DtUUID::nullUUID()) const;
1297 
1301  virtual void createEntity(
1302  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
1303  const DtEntityType& type,
1304  const DtVector& geocentricPosition,
1305  DtForceType force,
1306  DtReal heading,
1307  const DtString& uniqueName = DtString::nullString(),
1308  const DtString& label = DtString::nullString(),
1309  const DtSimulationAddress& addr = DtSimSendToAll,
1310  bool groundClamp = true,
1311  const DtUUID& startingUUID = DtUUID::nullUUID());
1312 
1313  virtual void createAggregate(
1314  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
1315  const DtEntityType& type,
1316  const DtVector& geocentricPosition,
1317  DtForceType force,
1318  DtReal heading,
1319  const DtString& uniqueName,
1320  const DtString& label = DtString::nullString(),
1321  const DtSimulationAddress& addr = DtSimSendToAll,
1322  DtAggregateState initialAggregateState = DtDisaggregated,
1323  const DtUUID& startingUUID = DtUUID::nullUUID(),
1324  bool createSubordinates = false);
1325 
1327  virtual void createAggregate(
1328  const DtEntityType& type,
1329  const DtVector& geocentricPosition,
1330  DtForceType force,
1331  DtReal heading,
1332  DtList* entityNames = 0,
1333  const DtSimulationAddress& addr = DtSimSendToAll,
1334  DtAggregateState initialAggregateState = DtDisaggregated,
1335  unsigned int requestId = 0,
1336  const DtUUID& startingUUID = DtUUID::nullUUID()) const;
1337 
1341  virtual void createAggregate(
1342  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
1343  const DtEntityType& type,
1344  const DtVector& geocentricPosition,
1345  DtForceType force,
1346  DtReal heading,
1347  DtList* entityNames = 0,
1348  const DtSimulationAddress& addr = DtSimSendToAll,
1349  DtAggregateState initialAggregateState = DtDisaggregated,
1350  const DtUUID& startingUUID = DtUUID::nullUUID());
1351 
1354  virtual void addToOrganization(
1355  const DtUUID& objectId,
1356  const DtUUID& newSuperiorId,
1357  const DtSimulationAddress& addr = DtSimSendToAll);
1358 
1362  virtual void addToForceLevelOrganization(
1363  const DtUUID& uuid,
1364  const DtSimulationAddress& addr = DtSimSendToAll);
1365 
1368  virtual void removeFromOrganization(
1369  const DtUUID& uuid,
1370  const DtSimulationAddress& addr = DtSimSendToAll);
1371 
1375  virtual void setLabel(
1376  const DtUUID& uuid, const DtString& label,
1377  const DtSimulationAddress& addr = DtSimSendToAll) const;
1378 
1383  virtual void setOverlayParent(
1384  const DtUUID& uuid, const DtString& label,
1385  const DtSimulationAddress& addr = DtSimSendToAll) const;
1386 
1390  virtual void setAltitude(
1391  const DtUUID& uuid, double altitude, bool aboveGroundLevel = false,
1392  const DtSimulationAddress& addr = DtSimSendToAll) const;
1393 
1397  virtual void setLocation(
1398  const DtUUID& uuid, DtVector coord,
1399  const DtSimulationAddress& addr = DtSimSendToAll) const;
1400 
1402  virtual void setAppearance(
1403  const DtUUID& uuid, int appearance,
1404  const DtSimulationAddress& addr = DtSimSendToAll) const;
1405 
1407  virtual void setCapabilities(
1408  const DtUUID& uuid, int capabilities,
1409  const DtSimulationAddress& addr = DtSimSendToAll) const;
1410 
1414  virtual void setHeading(
1415  const DtUUID& uuid, double degrees,
1416  const DtSimulationAddress& addr = DtSimSendToAll) const;
1417 
1421  virtual void setForce(
1422  const DtUUID& uuid, DtForceType force,
1423  const DtSimulationAddress& addr = DtSimSendToAll) const;
1424 
1430  virtual void requestSpotReports(const DtUUID& uuid, int onOff,
1431  const DtSimulationAddress& addr = DtSimSendToAll) const;
1432 
1436  virtual void requestSendTDLMessages(const DtUUID& uuid, int onOff,
1437  const DtSimulationAddress& addr = DtSimSendToAll) const;
1438 
1444  virtual void requestEngagementReports(const DtUUID& uuid, bool onOff,
1445  const DtSimulationAddress& addr = DtSimSendToAll) const;
1446 
1450  virtual void setResource(const DtUUID& uuid,
1451  const char* resourceType, double value,
1452  const DtSimulationAddress& addr = DtSimSendToAll) const;
1453 
1459  virtual void setRulesOfEngagement(
1460  const DtUUID& uuid, const char* rulesType,
1461  const DtSimulationAddress& addr = DtSimSendToAll) const;
1462 
1467  virtual void setSectorOfResponsibility(
1468  const DtUUID& uuid, double center, double size,
1469  const DtSimulationAddress& addr = DtSimSendToAll) const;
1470 
1474  virtual void setSpeed(
1475  const DtUUID& uuid, double speed,
1476  const DtSimulationAddress& addr = DtSimSendToAll) const;
1477 
1481  virtual void setCurrentSpeed(
1482  const DtUUID& uuid, double speed,
1483  const DtSimulationAddress& addr = DtSimSendToAll) const;
1484 
1488  virtual void setTarget(
1489  const DtUUID& uuid, const DtUUID& target,
1490  const DtSimulationAddress& addr = DtSimSendToAll) const;
1491 
1495  virtual void setSuperior(
1496  const DtUUID& uuid, const DtUUID& superior,
1497  const DtSimulationAddress& addr = DtSimSendToAll) const;
1498 
1500  virtual void setTaskedBySuperior(const DtUUID& uuid,
1501  const DtSimulationAddress& addr = DtSimSendToAll) const;
1502 
1506  virtual void setConcealed(const DtUUID& uuid,
1507  bool yes, const DtSimulationAddress& addr = DtSimSendToAll) const;
1508 
1510  virtual void setEmitter(const DtUUID& uuid,
1511  int emitterId, bool on,
1512  const DtSimulationAddress& addr = DtSimSendToAll) const;
1513 
1515  virtual void setEmergencyBeacon(const DtUUID& uuid,
1516  bool on,
1517  const DtSimulationAddress& addr = DtSimSendToAll) const;
1518 
1520  virtual void setIff(const DtUUID& uuid,
1521  bool mode1on, int mode1code,
1522  bool mode2on, int mode2code,
1523  bool mode3on, int mode3code,
1524  bool mode4on, int mode4code,
1525  DtIffAtcNavaidsAltParm4 altParm4,
1526  bool modeCon, bool useAltModeC,
1527  bool modeSon, bool emergency,
1528  bool flash, bool sti, bool modeSTcasI,
1529  int pin, bool mode5LevelSelection,
1530  unsigned int messageFormatsPresent, unsigned int nationalOrigin,
1531  unsigned int navigationSource, unsigned int figureOfMerit,
1532  const DtSimulationAddress& addr = DtSimSendToAll) const;
1533 
1535  virtual void restore(const DtUUID& uuid,
1536  const DtSimulationAddress& addr = DtSimSendToAll) const;
1537 
1541  virtual void setDestroyed(const DtUUID& uuid,
1542  const DtSimulationAddress& addr = DtSimSendToAll) const;
1543 
1547  virtual void setLifeformWeaponState(
1548  const DtUUID& uuid, DtWeaponState weapon,
1549  const DtSimulationAddress& addr) const;
1550 
1552  void setSystemEnabled(const DtUUID& name, const DtString& systemName,
1553  bool val,
1554  const DtSimulationAddress& addr = DtSimSendToAll) const;
1555 
1559  virtual void setLifeformPosture(
1560  const DtUUID& uuid, DtLifeformState posture,
1561  const DtSimulationAddress& addr) const;
1562 
1565  virtual void setAggregateFormation(
1566  const DtUUID& leader, const DtString& formationName,
1567  const DtSimulationAddress& addr = DtSimSendToAll) const;
1568 
1572  virtual void reorganizeAggregate(const DtUUID& leader,
1573  const DtSimulationAddress& addr = DtSimSendToAll) const;
1574 
1577  virtual void sendSetDataMsg(
1578  const DtUUID& recipient, DtSetDataRequest* msg,
1579  const DtSimulationAddress& addr) const;
1580 
1582 
1583  //-----------------------------------------------------
1584 
1588 
1593  virtual void sendVrfObjectCreateMsg(
1594  const DtSimulationAddress& addr,
1595  unsigned int requestId,
1596  const DtString& name,
1597  const DtObjectType& type,
1598  const DtList& vertices,
1599  const DtString& label,
1600  const DtAppearance& appearance,
1601  DtForceType force,
1602  bool projection,
1603  bool closedFigure,
1604  DtReal heading,
1605  bool createSubObjects,
1606  bool clampToGroundFlag = true,
1607  const DtString& initialFormation = DtString::nullString(),
1608  DtAggregateState initialAggregateState = DtDisaggregated,
1609  const DtString& userData = DtString::nullString(),
1610  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
1611  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
1612  std::list<DtAdminContent*>* initialAdminContent = 0,
1613  std::list<DtSimInterfaceContent*>* initialInterfaceContent = 0,
1614  const DtString& overlayParent = "",
1615  const DtUUID& uuidForCreation = DtUUID::nullUUID()) const;
1616 
1623  virtual void sendVrfObjectModifyMsg(
1624  const DtSimulationAddress& addr,
1625  const DtUUID& uuid,
1626  DtString* name = 0,
1627  DtList* vertices = 0,
1628  DtForceType* force = 0,
1629  DtReal* heading = 0,
1630  DtString* label = 0,
1631  DtAppearance* appearance = 0,
1632  DtString* overlayParent = 0,
1633  DtString* userData = 0) const;
1634 
1636 
1637  //------------------------------------------------------
1638 
1643 
1647  virtual void sendTaskMsg(
1648  const DtUUID& recipient, DtSimTask* task,
1649  const DtSimulationAddress& addr = DtSimSendToAll) const;
1650 
1653  virtual void moveAlongRoute(
1654  const DtUUID& entityName, const DtUUID& routeName,
1655  const DtSimulationAddress& addr = DtSimSendToAll) const;
1656 
1659  virtual void moveToWaypoint(
1660  const DtUUID& entityName, const DtUUID& waypoint,
1661  const DtSimulationAddress& addr = DtSimSendToAll) const;
1662 
1666  virtual void moveToLocation(
1667  const DtUUID& entityName, const DtVector& destinationLocation,
1668  const DtSimulationAddress& addr = DtSimSendToAll) const;
1669 
1672  virtual void patrolBetweenWaypoints(
1673  const DtUUID& uuid,
1674  const DtUUID& waypoint1, const DtUUID& waypoint2,
1675  const DtSimulationAddress& addr = DtSimSendToAll) const;
1676 
1679  virtual void patrolAlongRoute(
1680  const DtUUID& uuid, const DtUUID& route,
1681  const DtSimulationAddress& addr = DtSimSendToAll) const;
1682 
1688  virtual void followEntity(
1689  const DtUUID& uuid,
1690  const DtUUID& leader, const DtVector& offset,
1691  const DtSimulationAddress& addr = DtSimSendToAll) const;
1692 
1695  virtual void wait(
1696  const DtUUID& uuid,
1697  const DtSimulationAddress& addr = DtSimSendToAll) const;
1698 
1701  virtual void waitDuration(
1702  const DtUUID& uuid, DtTime duration,
1703  const DtSimulationAddress& addr = DtSimSendToAll) const;
1704 
1707  virtual void waitElapsed(
1708  const DtUUID& uuid, DtTime elapsed,
1709  const DtSimulationAddress& addr = DtSimSendToAll) const;
1710 
1712  virtual void skipTask(const DtUUID& uuid,
1713  const DtSimulationAddress& addr = DtSimSendToAll) const;
1714 
1716 
1717  //--------------------------------------------------------------
1718 
1722 
1725  virtual void restartPlan(const DtUUID& uuid,
1726  const DtSimulationAddress& addr = DtSimSendToAll) const;
1727 
1735  virtual void assignPlanByName(
1736  const DtUUID& uuid, const DtPlan& plan,
1737  const DtSimulationAddress& addr = DtSimSendToAll,
1738  int *retiStatus = NULL, DtString* retsStmt = NULL) const;
1739 
1741  virtual void assignMultiplePlanByName(
1742  const std::vector<DtUUID>& entities, const DtPlan& plan,
1743  const DtSimulationAddress& addr = DtSimSendToAll,
1744  int *retiStatus = NULL, DtString* retsStmt = NULL) const;
1745 
1750  virtual void requestPlan(
1751  const DtUUID& uuid,
1752  bool addStmtCallback = true,
1753  const DtSimulationAddress& addr = DtSimSendToAll) const;
1754 
1759  virtual void subscribePlan(const DtUUID& uuid,
1760  DtPlanCallbackFcn fn, void* usr,
1761  const DtSimulationAddress& addr = DtSimSendToAll);
1762 
1766  virtual void receivedPlan(const DtUUID& uuid, bool isGlobal,
1767  const std::vector<DtSimStatement*>& statements);
1768 
1774  virtual void requestMultiplePlan(const std::vector<DtUUID>& entities,
1775  DtMultiplePlanRequestCallbackFcn fcn, void *usr,
1776  const DtSimulationAddress& addr = DtSimSendToAll);
1777 
1778  virtual void requestMultiplePlan(const std::vector<DtUUID>& entities,
1779  const DtSimulationAddress& addr = DtSimSendToAll);
1780 
1784  virtual void processReceivedMultiPlan(DtIfMultiplePlanResponse* msg);
1785 
1788  virtual void unsubscribePlan(const DtUUID& uuid,
1789  DtPlanCallbackFcn fn, void* usr);
1790 
1793  virtual void unsubscribeAllPlans();
1794 
1799  virtual void addPlanStatementCallback(const DtUUID& uuid,
1800  DtPlanStatementCallbackFcn callback, void* usrData);
1801 
1804  virtual void removePlanStatementCallback(const DtUUID& uuid,
1805  DtPlanStatementCallbackFcn callback, void* usrData);
1806 
1809  virtual void removeAllPlanStatementCallbacks();
1810 
1816  virtual void receivedPlanStmt(const DtUUID& uuid, bool isGlobal,
1817  DtPlanStatus planStatus);
1818 
1823  virtual void addPlanCompleteCallback(const DtUUID& uuid,
1824  DtPlanCompleteCallbackFcn callback, void* usrData);
1825 
1828  virtual void removePlanCompleteCallback(const DtUUID& uuid,
1829  DtPlanCompleteCallbackFcn callback, void* usrData);
1830 
1833  virtual void removeAllPlanCompleteCallbacks();
1834 
1837  virtual void abandonPlan(const DtUUID& uuid,
1838  const DtSimulationAddress& addr = DtSimSendToAll) const;
1839 
1841 
1845 
1847  virtual void requestGlobalPlansList(const DtSimulationAddress& addr);
1848 
1856  virtual void assignGlobalPlan(
1857  const DtString& name, const DtPlan& plan,
1858  const DtSimulationAddress& addr = DtSimSendToAll,
1859  int *retiStatus = NULL, DtString* retsStmt = NULL) const;
1860 
1862  virtual void deleteGlobalPlan(const DtUUID& name,
1863  const DtSimulationAddress& addr = DtSimSendToAll) const;
1864 
1866  virtual void launchGlobalPlan(const DtUUID&, const DtSimulationAddress& addr) const;
1867 
1869 
1870  //---------------------------------------------------------------
1871 
1874 
1879  virtual DtVrfObjectMessageExecutive* objectMessageExecutive();
1880 
1886  virtual void sendMessageToObject(DtVrfObjectMessage* objectMessage,
1887  const DtSimulationAddress& addr = DtSimSendToAll) const;
1888 
1894  virtual DtRadioMessageListener* radioMessageListener();
1895 
1897 
1898  //--------------------------------------------------------------
1899 
1904 
1911  virtual void embarkObject(const DtSimulationAddress& addr, const DtUUID& entity, const DtUUID& ontoEntity,
1912  bool loadOverride = false, const DtVector& loadOverridePosition = DtVector::zero());
1913 
1914  virtual void disembarkObject(const DtSimulationAddress& addr, const DtUUID& entity);
1915  virtual void disembarkAllObjects(const DtSimulationAddress& addr, const DtUUID& entity);
1916 
1919  virtual void requestTasksAndSetsFor(const DtSimulationAddress& addr,
1920  const DtUUID& entityName);
1921 
1923  virtual void requestTasksAndSetsFor(const std::vector<DtUUID>& names);
1924 
1927  virtual void requestDIGuyAppearancesAndAnimations(const DtSimulationAddress& addr,
1928  const DtUUID& entityName);
1929 
1931  virtual void requestDIGuyAppearancesAndAnimations(const std::vector<DtUUID>& names);
1932 
1934  virtual void requestIndirectArtilleryInformation(const DtUUID&);
1935 
1940  virtual void requestResourceNames(const std::vector<DtUUID>& list,
1941  DtServerRequestResponseCallbackFcn fcn = 0, void* usr = 0);
1942 
1950  virtual void requestResources(const DtUUID& uuid = DtUUID::nullUUID(),
1951  const std::list<DtString>* list = 0,
1952  DtServerRequestResponseCallbackFcn fcn = 0, void* usr = 0);
1953 
1957  virtual void processResourcesProcessedCb(const DtIfServerRequestResponse& rsp);
1958 
1959 
1961 
1962  //---------------------------------------------------------------
1963 
1967 
1970  virtual void addObjectConsoleMessageCallback(
1971  DtObjectConsoleMessageCallbackFcn fcn, void* usr = 0);
1972  virtual void removeObjectConsoleMessageCallback(
1973  DtObjectConsoleMessageCallbackFcn fcn, void* usr = 0);
1974 
1977  virtual void setObjectNotifyLevel(const DtUUID& objectName,
1978  DtNotifyLevelType notifyLevel, const DtSimulationAddress& addr = DtSimSendToAll);
1979 
1983  virtual void logObjectConsoleToFile(const DtUUID& objectName,
1984  const DtFilename filename);
1985 
1988  virtual void stopLoggingObjectConsoleToFile(const DtUUID& objectName);
1989 
1992  virtual void addBackendConsoleMessageCallback(
1993  DtBackendConsoleMessageCallbackFcn fcn, void* usr = 0);
1994  virtual void removeBackendConsoleMessageCallback(
1995  DtBackendConsoleMessageCallbackFcn fcn, void* usr = 0);
1996 
1999  virtual void processCommentInteraction(const makVrfEvents::DtCommentEvent* inter);
2000 
2002 
2003 //-----------------------------------------------------------
2007 
2010  virtual void requestJoystickInformation(const DtUUID&, DtJoystickControlResponseFcn, void*,
2011  const DtSimulationAddress& addr = DtSimSendToAll);
2012 
2015  virtual void takeControlOf(const DtUUID&, const std::set<DtString>& functionGroups,
2016  const DtSimulationAddress& addr = DtSimSendToAll);
2017 
2020  virtual void releaseControlOf(const DtUUID&, const std::set<DtString>& functionGroups =
2021  std::set<DtString>(), const DtSimulationAddress& addr = DtSimSendToAll);
2022 
2025  virtual void sendJoystickControl(const DtUUID&, const DtString& functionGroup,
2026  const DtString& function, double value, bool repeat = false, const DtSimulationAddress& addr = DtSimSendToAll);
2027 
2029 
2030  //-----------------------------------------------------------
2036  virtual DtSimulationStatus simulationStatus() const;
2037 
2039  virtual void addSimulationStatusChangedCallback(DtSimulationStatusChangedCallbackFcn, void*);
2040  virtual void removeSimulationStatusChangedCallback(DtSimulationStatusChangedCallbackFcn, void*);
2041 
2043 
2044  //-----------------------------------------------------------
2045 
2050  virtual DtDefaultVrfObjectMessageFactory* vrfObjectMsgFactory();
2051  virtual DtDefaultCondExprFactory* condExprFactory();
2052  virtual DtDefaultStatementFactory* stmtFactory();
2053  virtual DtDefaultSimReportFactory* reportFactory();
2054  virtual DtDefaultSimTaskFactory* taskFactory();
2055  virtual DtDefaultSetDataRequestFactory* setDataFactory();
2056  virtual DtDefaultSimCommandFactory* simCommandFactory();
2057  virtual DtDefaultAdminContentFactory* adminContentFactory();
2059 
2060  virtual void createOrSetMessageInterface(DtVrfMessageInterface* iface);
2061  virtual void createOrSetVrfTDLMessageInterface(DtVrfTDLMessageInterface* iface);
2062 
2069  virtual void tick();
2070 
2071 public:
2072 
2075 
2078  static void savedScenarioCb(DtSimMessage* msg, void* usr);
2079 
2082  static void exportScenarioCb(DtSimMessage* msg, void* usr);
2083 
2086  static void loadedScenarioCb(DtSimMessage* msg, void* usr);
2087 
2090  static void backendReceivedScenarioCb(DtSimMessage* msg, void* usr);
2091 
2094  static void receiveFileCb(const DtFilename& filename, void* usr);
2095 
2097  static void receivedMultiPlanCb(DtSimMessage* msg, void* usr);
2098 
2100  static void objectCreatedCb(DtSimMessage* msg, void* usr);
2101 
2103  static void receivedPlanCb(DtSimMessage* msg, void* usr);
2104 
2106  static void receivedPlanStmtCb(DtSimMessage* msg, void* usr);
2107 
2110  static void overlayObjectCreatedCallback(const DtString& name, const DtEntityIdentifier& id,
2111  const DtUUID& uuid, void* usr);
2112 
2115  static void globalEnvironmentCreatedCb(const DtString& name, const DtEntityIdentifier& id, const DtUUID& uuid, void* usr);
2116  virtual void processGlobalEnvironmentCreated(const DtString& name, const DtEntityIdentifier& id, const DtUUID& uuid);
2117 
2120  static void indirectArtilleryObjectCreatedCallback(const DtString& name, const DtEntityIdentifier& id,
2121  const DtUUID& uuid, void* usr);
2122 
2124  static void resourcesProcessedCb(DtSimMessage* msg, void* usr);
2125 
2128  static void spatialSubdivisionConfigurationCb(DtSimMessage* msg, void* usr);
2129 
2132  virtual void commentInteractionCallback(const makVrfEvents::DtEvent&);
2133 
2135 
2137  boost::signals2::signal<void ()> signal_initialized;
2138 
2139 protected:
2140  virtual void registerEventManagerCallbacks();
2141  virtual void unregisterEventManagerCallbacks();
2142 
2144  static void joystickControlResponse(DtSimMessage* msg, void* usr);
2145  virtual void processJoystickControlResponse(DtSimMessage* msg);
2146 
2150  virtual void onInit();
2151  virtual void resetStateData();
2152  virtual void emptyLists();
2153 
2155  virtual void sendAggregateAsMsg(
2156  const DtSimulationAddress& addr,
2157  unsigned int requestId,
2158  const DtObjectType& objectType,
2159  DtForceType force,
2160  const DtVector& position,
2161  DtReal heading,
2162  DtList* entityNames,
2163  DtAggregateState initialAggregateState,
2164  const DtUUID& startingUUID = DtUUID::nullUUID()) const;
2165 
2167  virtual DtVrfConfigurationFileComposer* createComposer();
2168 
2171  virtual void sendQuerySpatialSubdivisionConfigurationRequest(
2172  const DtSimulationAddress& backendAddress,
2173  DtSpatialSubdivisionType spatialSubdivisionType ,
2174  DtServerRequestResponseCallbackFcn fcn, void* usr);
2175 
2182  virtual bool arbitrarySimAddress(const DtEntityType&, DtSimulationAddress& address) const;
2183 
2191  virtual bool addStatementsAndSendPlan(const DtPlan& plan, DtIfPlan& planMsg,
2192  const DtSimulationAddress& addr = DtSimSendToAll,
2193  int *retiStatus = 0, DtString* retsStmt = 0) const;
2194 
2197  static void deliverRadioMessageCallback(DtSimMessage* msg, void* usr);
2198  static void vrfObjectMessageCallback(const DtVrfObjectMessage* objMsg, void* usr);
2201  virtual void processVrfObjectMessage(const DtVrfObjectMessage* objectMsg);
2202 
2204  static void backendStatusUpdate(const DtSimulationAddress&, void*);
2205  virtual void processBackendStatusUpdate(const DtSimulationAddress&);
2206 
2207  virtual void processLoadScenarioEvent(const makVrfEvents::DtEvent&);
2208  virtual void processCloseScenarioEvent(const makVrfEvents::DtEvent&);
2209 
2216  virtual void initializeGlobalEnvironment(
2217  const DtSimulationAddress& environmentSimBackend = DtSimSendToAll);
2218 
2221  static void globalEnvironmentCreatedCallback(const makVrf::DtExternalCurrentFrameState*, void*);
2222  virtual void processGlobalEnvironmentCreated(const makVrf::DtExternalCurrentFrameState*);
2223 
2224 protected:
2236  DtList myBeList;
2237  std::map<DtString, bool> myBackendReceivedScenario;
2238 
2247 
2248  typedef std::list<PlanCbInfo> DtPlanCallbackListType;
2250  typedef std::list<StmtCbInfo> DtStatementCallbackListType;
2252  typedef std::list<PlanCompleteCbInfo> DtPlanCompleteCallbaclListType;
2254 
2255  DtHashlist myObjectCbs;
2256 
2257  typedef std::list<std::pair<DtObjectConsoleMessageCallbackFcn, void*> >
2260 
2261  typedef std::list<std::pair<DtBackendConsoleMessageCallbackFcn, void*> >
2264 
2267  DtFilename mySaveName;
2269  DtFilename myOverlayFilename;
2273  DtFilename myOpdName;
2286 
2289 
2292 
2295 
2305 
2310 
2313 
2316  DtFilename myTempDirectory;
2317 
2321  DtInetAddr myInetAddr;
2322 
2327  mutable unsigned int myRequestIdCounter;
2328 
2331 
2334 
2337 
2340 
2342  DtFilename myExportFile;
2343 
2346 
2350 
2352 
2354  typedef std::map<DtString, std::pair<DtJoystickControlResponseFcn, void*> > JoystickResponseCallbackInfo;
2356 
2359 
2363  std::set<DtSimulationAddress> myBackendsWithObjects;
2364 
2366  std::set<DtSimulationAddress> myBackendsLoaded;
2367  std::vector<DtString> myLoadingSimulationModelSets;
2369 
2372 
2373  boost::signals2::connection myPostAdvanceFrameConnection;
2374 
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:2246
UUID is a unique ID wrapper class.
Definition: rwUUID.h:226
bool(* DtLoadBalancingFcn)(DtAddressMap *map, const DtList *backends, bool &remapped, void *usr)
Return true from this function to signal success of load balancing, however, set remapped to true if ...
Definition: scenario.h:582
DtDefaultAdminContentFactory myAdminContentFact
Definition: vrfRemoteController.h:2304
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
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:2345
bool myNeedsGlobalEnvironment
Set to true if needs to create global environment on first load of simulation.
Definition: vrfRemoteController.h:2288
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:2285
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:2299
unsigned int myRequestIdCounter
Incremented by generateRequestId() to assign new request id&#39;s. This value should only be changed by g...
Definition: vrfRemoteController.h:2327
bool myPreserveMappings
false if a DtPreserveMappingsFcn returned false when saving a scenario
Definition: vrfRemoteController.h:2281
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:2354
DtHashlist myObjectCbs
Definition: vrfRemoteController.h:2255
DtFilename myTempDirectory
Location for temporary files generated by the configuration composer and file transporter.
Definition: vrfRemoteController.h:2316
Definition: scenario.h:52
DtList myReceivedFiles
Definition: vrfRemoteController.h:2230
DtFilename myCreateMenuFilename
Definition: vrfRemoteController.h:2272
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:2244
DtCompressedFileTransporter * myTransporter
Definition: vrfRemoteController.h:2229
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:2336
char * myUserData
Definition: vrfRemoteController.h:2405
DtRwKeyValueList myScenarioData
Extra data used to be saved with the scenario.
Definition: vrfRemoteController.h:2312
voidpf void uLong size
Definition: ioapi.h:39
DtBackendSelectorManager * myBackendSelectorManager
Definition: vrfRemoteController.h:2375
bool myAwaitingExportComplete
Set to know we&#39;ve received the export complete message but not the file yet.
Definition: vrfRemoteController.h:2349
DtUUID planName
Definition: vrfRemoteController.h:139
Definition: defaultStatementFactory.h:18
DtDefaultSimReportFactory myReportFact
Definition: vrfRemoteController.h:2300
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:2258
bool operator==(const PlanCompleteCbInfo &orig) const
Definition: vrfRemoteController.h:173
std::list< PlanCbInfo > DtPlanCallbackListType
Definition: vrfRemoteController.h:2248
std::map< DtString, bool > myBackendReceivedScenario
Definition: vrfRemoteController.h:2237
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:2355
DtTime myMaxWaitLoadTime
Definition: vrfRemoteController.h:2234
int myUserDataSize
Definition: vrfRemoteController.h:2406
DtBackendSelectorManager * backendSelectorManager() const
Constructor.
Definition: vrfRemoteController.h:268
DtFilename myExportFile
When received, the file to save the export file to.
Definition: vrfRemoteController.h:2342
DtDefaultSimTaskFactory myTaskFact
Definition: vrfRemoteController.h:2301
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:2245
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:2225
Definition: radarCoverageAltitudeSettings.h:35
std::list< StmtCbInfo > DtStatementCallbackListType
Definition: vrfRemoteController.h:2250
Definition: objectType.h:27
class DtAddressMap:
Definition: addressMap.h:22
DtVrfTDLMessageInterface * myVrfTDLMsgIf
Definition: vrfRemoteController.h:2227
DtVrfMessageInterface * myMsgIf
Definition: vrfRemoteController.h:2226
DtList myScenSavedOldCbs
Definition: vrfRemoteController.h:2241
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:2236
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:23
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:2321
DtTime myLastCommandTime
Definition: vrfRemoteController.h:2233
DtDefaultVrfObjectMessageFactory myVrfObjectMsgFact
These are needed for message callbacks to work.
Definition: vrfRemoteController.h:2297
Definition: event.h:13
DtList myBeLoadedCbs
Definition: vrfRemoteController.h:2240
DtList myScenSavedCbs
list of any deprecated old-style save callbacks that have been registered
Definition: vrfRemoteController.h:2242
boost::signals2::connection myPostAdvanceFrameConnection
Definition: vrfRemoteController.h:2373
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:51
Factory which registers all default VR-Forces Sim Commands.
Definition: defaultSimCommandFactory.h:15
Definition: vrfRemoteController.h:207
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:2309
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:2271
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:2239
void(* DtCheckpointSavedCallbackFcn)(DtSaveResult result, double, void *usr)
Definition: vrfRemoteController.h:100
DtFilename myOpdName
Definition: vrfRemoteController.h:2273
DtStatementCallbackListType myStmtCbs
Definition: vrfRemoteController.h:2251
Definition: compressedFileTransporter.h:24
DtPlanCompleteCallbaclListType myPlanCompleteCbs
Definition: vrfRemoteController.h:2253
std::set< DtSimulationAddress > myBackendsLoaded
Used for loading a scenario if there are any backends opened.
Definition: vrfRemoteController.h:2366
std::set< DtSimulationAddress > myBackendsWithObjects
Definition: vrfRemoteController.h:2363
DtU32 myCurrentRequestId
Definition: vrfRemoteController.h:2232
std::list< std::pair< DtBackendConsoleMessageCallbackFcn, void * > > DtBackendConsoleMessageCallbackListType
Definition: vrfRemoteController.h:2262
bool mySaveToZipFile
Whether or not the pending save is saved to a zip file.
Definition: vrfRemoteController.h:2358
bool myUseDayNightModel
Definition: vrfRemoteController.h:2351
DtFilename mySelectionGroupsFilename
Definition: vrfRemoteController.h:2270
DtCallbackList< DtSimulationStatus >::DtCallbackFunctionType DtSimulationStatusChangedCallbackFcn
Callback functions for simulation status changed callbacks. Function signature for callback: ...
Definition: vrfBackendListener.h:50
DtTime myMaxWaitSaveTime
Definition: vrfRemoteController.h:2235
~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:2362
Definition: stateData.h:260
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:2252
DtVrfConfigurationFileComposer * myComposer
Definition: vrfRemoteController.h:2277
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:2279
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:2303
Small container class that holds the status of a running DtPlan.
Definition: plan.h:45
bool myOwnsMessageInterface
Definition: vrfRemoteController.h:2265
class DtIfMultiplePlanResponse:
Definition: ifMultiplePlanResponse.h:32
DtOverlayCreatedCallbackFcn myUserCallback
Definition: vrfRemoteController.h:2407
DtDefaultCondExprFactory myCondExprFact
Definition: vrfRemoteController.h:2298
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:44
DtRemoteEnvironmentController * remoteEnvironmentController()
Returns myRemoteEnvironmentController.
Definition: vrfRemoteController.h:259
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:2368
DtList myReceivedSaves
Definition: vrfRemoteController.h:2231
bool myOwnsVrfTDLMessageInterface
Definition: vrfRemoteController.h:2266
bool myNeedsGlobalDynamicTerrain
Set to true if needs to create the object to manage global dynamic terrain.
Definition: vrfRemoteController.h:2294
Definition: defaultCondExprFactory.h:18
DtDefaultSetDataRequestFactory mySetDataFact
Definition: vrfRemoteController.h:2302
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:2267
void(* DtOverlayCreatedCallbackFcn)(const DtString &name, const DtEntityIdentifier &id, const DtUUID &uuid, DtVrfOverlayObjectModify *usr)
Definition: vrfRemoteController.h:106
DtPlanCallbackListType myPlanCbs
Definition: vrfRemoteController.h:2249
DtVrfObjectMessageExecutive myObjectMessageExecutive
Used to processes VrfObjectMessages addressed to the Front End.
Definition: vrfRemoteController.h:2330
std::vector< DtString > myLoadingSimulationModelSets
Definition: vrfRemoteController.h:2367
DtFilename myOverlayFilename
Definition: vrfRemoteController.h:2269
DtChangeWeatherCommand * myInitialEnvironment
Set to non-null if needing to also set the global environment.
Definition: vrfRemoteController.h:2291
DtRemoteEnvironmentController * myRemoteEnvironmentController
Used to monitor and change the weather state.
Definition: vrfRemoteController.h:2371
double mySimTimeForCheckpointSave
Definition: vrfRemoteController.h:2268
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
DtRemoteEnvironmentController; remotely controls and reflects the weather state of VR-Forces...
Definition: remoteEnvironmentController.h:49
double myRollbackToSimulationTime
If rolling back, the rollback time.
Definition: vrfRemoteController.h:2361
DtObjectConsoleMessageCallbackListType myObjectConsoleMessageCallbackList
Definition: vrfRemoteController.h:2259
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:2137
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:616
DtCommunicationManager * communicationManager()
Constructor.
Definition: vrfRemoteController.h:253
Definition: defaultSimTaskFactory.h:15
DtList myScenAboutToBeSavedCbs
list of any preferred new-style save callbacks that have been registered
Definition: vrfRemoteController.h:2243
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:2275
void(* DtJoystickControlResponseFcn)(DtIfJoystickControlsResponse *map, void *usr)
Definition: vrfRemoteController.h:91
DtVrfRemoteController * myController
Definition: vrfRemoteController.h:2428
DtUUID myAttachTo
Definition: vrfRemoteController.h:2403
DtBackendConsoleMessageCallbackListType myBackendConsoleMessageCallbackList
Definition: vrfRemoteController.h:2263
DtRadioMessageListener * myRadioMessageListener
Used to spy on radio messages sent between VRF Entities.
Definition: vrfRemoteController.h:2333
int myScenarioExportRequestId
Pending export request id.
Definition: vrfRemoteController.h:2339
DtFilename myScenarioExtrasFilename
Definition: vrfRemoteController.h:2274
bool operator==(const PlanCbInfo &orig) const
Definition: vrfRemoteController.h:133
Definition: vrfMessageInterface.h:40
DtVrfBackendListener * myListener
Definition: vrfRemoteController.h:2228
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:2276
void(* DtBackendConsoleMessageCallbackFcn)(const DtSimulationAddress &id, int notifyLevel, const DtString &message, void *usr)
Definition: vrfRemoteController.h:117

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)