VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 "vrfmsgs/ifSaveComplete.h"
20 #include "vrfutil/scenario.h"
21 #include "vrfutil/rwUUID.h"
22 #include "vrftasks/simTask.h"
23 #include "vrfplan/plan.h"
38 
40 #include <vl/commentInteraction.h>
41 #include <vl/exerciseConn.h>
42 #include <vl/hostStructs.h>
43 #include <vlpi/disEnums.h>
44 #include <vlpi/appearance.h>
45 #include <vlutil/vlHashlist.h>
46 
48 #include <list>
49 
50 class DtAdminContent;
51 class DtBackendMap;
52 class DtAddressMap;
56 class DtIfLoadScenario;
57 class DtIfPlan;
63 class DtSettingsObject;
68 
69 typedef void (*DtScenarioCallbackFcn)(void* usr);
71 
73 typedef bool (*DtBackendRemappingFcn)(DtBackendMap* map, void* usr);
76 typedef bool (*DtPreserveMappingsFcn)(void* usr);
77 
79 
80 typedef void (*DtBackendSaveCallbackFcn)
81  (const DtSimulationAddress& addr, DtSaveResult result, void * usr);
82 
83 typedef void (*DtScenarioSavedCallbackFcn)
84  (DtSaveResult result, const DtString& sError, void* usr);
85 
86 typedef void (*DtCheckpointSavedCallbackFcn)
87  (DtSaveResult result, double, void* usr);
88 
89 typedef void (*DtVrfObjectCreatedCallbackFcn)
90  (const DtString& name, const DtEntityIdentifier& id, const DtUUID& uuid, void* usr);
91 
92 typedef void (*DtOverlayCreatedCallbackFcn)
93  (const DtString& name, const DtEntityIdentifier& id, const DtUUID& uuid, DtVrfOverlayObjectModify* usr);
94 
96  (const DtString& name, const DtEntityIdentifier& id,
97  const DtUUID& uuid, void* usr);
98 
100  (const DtEntityIdentifier& id, int notifyLevel, const DtString& message,
101  void* usr);
102 
104  (const DtSimulationAddress& id, int notifyLevel, const DtString& message,
105  void* usr);
106 
111  (const DtIfServerRequestResponse& response, void* usr);
112 
114 {
115 public:
116  PlanCbInfo(const DtUUID& n, bool global, DtPlanCallbackFcn f, void* usr) :
117  planName(n), isGlobal(global), fcn(f), data(usr) {}
119  bool operator==(const PlanCbInfo& orig) const
120  {
121  return (planName == orig.planName && fcn == orig.fcn && data == orig.data
122  && isGlobal == orig.isGlobal);
123  }
124 
126  bool isGlobal;
128  void* data;
129 };
130 
132 {
133 public:
134  StmtCbInfo(const DtUUID& n, bool global,
135  DtPlanStatementCallbackFcn f, void* usr) :
136  planName(n), isGlobal(global) , fcn(f), data(usr) {}
138  bool operator==(const StmtCbInfo& orig) const
139  {
140  return (planName == orig.planName && fcn == orig.fcn && data == orig.data &&
141  isGlobal == orig.isGlobal);
142  }
143 
146  bool isGlobal;
147  void* data;
148 };
149 
151 {
152 public:
153  PlanCompleteCbInfo(const DtUUID& n, bool global,
154  DtPlanCompleteCallbackFcn f, void* usr) :
155  planName(n), isGlobal(global), fcn(f), data(usr) {}
157  bool operator==(const PlanCompleteCbInfo& orig) const
158  {
159  return (planName == orig.planName && fcn == orig.fcn && data == orig.data && isGlobal == orig.isGlobal);
160  }
161 
164  bool isGlobal;
165  void* data;
166 };
167 
183 {
184 public:
186  AttachNone=0,
188  AttachEven
189  };
190 
191 public:
192 
198  DtVrfRemoteController(int receivePort = 9000);
199 
219  virtual void init(DtExerciseConn* exConn,
221  DtReflectedEntityList* reel = NULL,
222  DtReflectedAggregateList* ral = NULL,
223  const DtString& uuidMarkingForNonVrForces = "entity-identifier");
224 
225  virtual void init(DtVrfMessageInterface* msgIf,
227  DtReflectedEntityList* reel = NULL,
228  DtReflectedAggregateList* ral = NULL,
229  const DtString& uuidMarkingForNonVrForces = "entity-identifier");
230 
234 
235  virtual void reinitialize(
237  DtReflectedEntityList* reel = NULL,
238  DtReflectedAggregateList* ral = NULL);
239 
241 
242  virtual ~DtVrfRemoteController();
243 
245  virtual DtVrfMessageInterface* vrfMessageInterface() const;
246 
248  virtual DtUUIDNetworkManager* uuidNetworkManager() const;
249 
251  virtual const DtSimulationAddress& simulationAddress() const;
252  virtual int sessionId() const;
253 
256  virtual double simTime(const DtSimulationAddress* a = NULL) const;
257 
259  virtual const DtList& backends() const;
260 
263  virtual const DtList& pendingBackends() const;
264 
266  virtual DtVrfBackendListener* backendListener() const;
267 
269  virtual void addBackendDiscoveryCallback(
270  DtBackendCallbackFcn fcn, void* usr);
271  virtual void removeBackendDiscoveryCallback(
272  DtBackendCallbackFcn fcn, void* usr);
273 
275  virtual void addBackendRemovalCallback(
276  DtBackendCallbackFcn fcn, void* usr);
277  virtual void removeBackendRemovalCallback(
278  DtBackendCallbackFcn fcn, void* usr);
279 
283  virtual int backendsControlState() const;
284 
286  virtual int numberBackendsLoaded() const;
287 
290  virtual bool allBackendsReady() const;
291 
293  virtual bool backendLoaded(const DtSimulationAddress& addr) const;
294 
297  virtual void modifyBackEndSetting(const DtSettingsObject* setting,
298  const DtSimulationAddress& addr = DtSimSendToAll);
299 
310  virtual void requestBackEndSetting(std::string name,
312  const DtSimulationAddress& addr = DtSimSendToAll);
313 
316  virtual void setSpotReportsGloballyEnabled(bool enabled);
317 
320  virtual void setEngagementReportsGloballyEnabled(bool enabled);
321 
324  virtual void setPeriodicSnapshotSettings(bool enabled, double period, int numberOfSnapshotsToKeep);
325 
328  virtual void setDRThresholds(double translation, double rotation);
329 
331  virtual void setCommModelSettings(bool useExternalComms);
332 
334  virtual void setRoadDrivingSettings(bool driveOnLeft);
335 
338  virtual void setAutomaticAggregationDisaggregationEnabled(bool enabled);
339 
344  virtual void setPublishAggregateFormationRoutes(bool yesNo);
345 
346  //-------------------------------------------------------
348  //-------------------------------------------------------
349 
372  virtual bool loadScenario(const DtFilename& filename,
373  DtBackendRemappingFcn fcn = 0, void* usrRemapping = 0,
374  DtLoadBalancingFcn = 0, void* usrBalancing = 0,
375  const std::vector<DtString>& simulationModelSetFiles = std::vector<DtString>(),
376  ComponentAttachmentRule compAttachRule = DtVrfRemoteController::AttachNone,
377  DtString* errorString = 0);
378 
387  virtual bool loadScenario(const DtScenario& scenario,
388  DtBackendRemappingFcn fcn = 0, void* usrRemapping = 0,
389  DtLoadBalancingFcn = 0, void* usrBalancing = 0,
390  const std::vector<DtString>& simulationModelSetFiles = std::vector<DtString>(),
391  DtString* errorString = 0);
392 
395  virtual bool importScenario(const DtScenario&, const DtSimulationAddress& addr, DtString* errorString = 0);
396  virtual bool importScenario(const DtFilename&, const DtSimulationAddress& addr, DtString* errorString = 0);
397 
402  virtual bool saveSimulationObjectGroup(const DtFilename& smsDirectory, const DtString& groupName,
403  const DtString& groupDescription, int creationFlags, const DtSimulationAddress& addr,
404  const std::map<DtString, DtString>& additionalInformation = std::map<DtString, DtString>(),
405  DtString* saveError = 0);
406 
408  virtual void rollbackToSnapshot(double simTime);
409 
414  virtual bool importScenarioDescriptionFile(const DtFilename& file, DtSimulationAddress, const DtString& format,
415  const std::map<std::string, std::string>& importData);
416 
419  virtual bool exportScenarioDescriptionFile(const DtFilename& file, DtSimulationAddress, const DtString& format,
420  const std::map<std::string, std::string>& importData);
421 
425  virtual DtString guiTerrainDatabaseFilename() const;
426  virtual void setGuiTerrainDatabaseFilename(DtString db);
427 
429  virtual const DtRwKeyValueList& scenarioData() const;
430  virtual void setScenarioData(const DtRwKeyValueList&);
431 
436  virtual bool newScenario(
437  const DtFilename& dbname,
438  const DtFilename& guidbname,
439  const DtFilename& opdname = DtFilename::nullFilename(),
440  const DtFilename& physicalWorldName = DtFilename::nullFilename(),
441  const DtScenario* baseScenario = 0,
442  time_t startTimeOfDay = 12 * 3600,
443  DtString* errorString = 0);
444 
446  virtual bool newScenario(
447  const DtFilename& dbname,
448  const DtFilename& guidbname,
449  const std::vector<DtString>& simulationModelSetFiles,
450  const DtScenario* baseScenario = 0,
451  time_t startTimeOfDay = 12 * 3600,
452  DtString* errorString = 0);
453 
459  virtual bool sendLoadScenarioMessage(
460  const DtScenario& scenario,
461  const DtSimulationAddress& addr = DtSimSendToAll,
462  bool import = false) const;
463 
466  virtual DtIfLoadScenario* createLoadScenarioMessage() const;
467 
470  virtual void addBackendLoadedCallback(DtBackendCallbackFcn fcn, void* usr);
471  virtual void removeBackendLoadedCallback(DtBackendCallbackFcn fcn, void* usr);
472 
475  virtual void addScenarioLoadedCallback(DtScenarioCallbackFcn fcn, void* usr);
476  virtual void removeScenarioLoadedCallback(DtScenarioCallbackFcn fcn, void* usr);
477 
479  virtual bool isSavingScenario() const;
480 
496  virtual bool saveScenario(const DtFilename& saveName,
497  DtPreserveMappingsFcn fcn = 0, void* userData = 0, DtString* error = 0,
498  double simTime = -1);
499 
505  virtual bool saveScenarioCheckpoint(const DtFilename& filename, double simTime);
506 
509  virtual void takeSnapshot(DtSimulationAddress addr = DtSimSendToAll);
510 
513  virtual void takeBaseSnapshot();
514 
518  virtual void sendSaveScenarioMessage(const DtSimulationAddress& addr = DtSimSendToAll, double simTime = -1,
519  const DtFilename& saveScenarioFilename = "") const;
520 
523  virtual void addBackendSavedCallback(DtBackendSaveCallbackFcn fcn, void* usr);
524  virtual void removeBackendSavedCallback(DtBackendSaveCallbackFcn fcn, void* usr);
525 
530  virtual void addScenarioSavedCallback(
531  DtScenarioCallbackFcn fcn, void* usr);
532  virtual void removeScenarioSavedCallback(
533  DtScenarioCallbackFcn fcn, void* usr);
534 
537  virtual void addScenarioExportedCallback(
538  DtScenarioSavedCallbackFcn fcn, void* usr);
539  virtual void removeScenarioExportedCallback(
540  DtScenarioSavedCallbackFcn fcn, void* usr);
541 
544  virtual void addCheckpointSavedCallback(
545  DtCheckpointSavedCallbackFcn fcn, void* usr);
546  virtual void removeCheckpointSavedCallback(
547  DtCheckpointSavedCallbackFcn fcn, void* usr);
548 
552  virtual void addScenarioSavedCallback(
553  DtScenarioSavedCallbackFcn fcn, void* usr);
554  virtual void removeScenarioSavedCallback(
555  DtScenarioSavedCallbackFcn fcn, void* usr);
556 
562  virtual void closeScenario(const DtSimulationAddress& addr = DtSimSendToAll,
563  const DtFilename& databaseToOpen = "", bool forceCloseAll = false);
564 
569  virtual void run(bool useStartStopInteraction = false, const DtSimulationAddress& addr = DtSimSendToAll) const;
570  virtual void pause(bool useStartStopInteraction = false, const DtSimulationAddress& addr = DtSimSendToAll) const;
571 
572  virtual void rewind() const;
573  virtual void exit() const;
574  virtual void step() const;
575  virtual void setTimeMultiplier(double multiplier) const;
577 
586  virtual void setOpdSaveName(const DtFilename& f);
587  virtual const DtFilename& opdSaveName() const;
589 
594  virtual void setMaxWaitSaveTime(DtTime t);
595  virtual DtTime maxWaitSaveTime() const;
597 
602  virtual void setMaxWaitLoadTime(DtTime t);
603  virtual DtTime maxWaitLoadTime() const;
605 
610  virtual void setOverlayFilename(const DtFilename& overlay);
611  virtual const DtFilename& overlayFilename() const;
613 
618  virtual void setHostilityFilename(const DtFilename& hostilty);
619  virtual const DtFilename& hostilityFilename() const;
621 
622  virtual void setScenarioExtrasFilename(const DtFilename& extras);
623  virtual const DtFilename& scenarioExtrasFilename() const;
624 
629  virtual void setSelectionGroupsFilename(const DtFilename& sel);
630  virtual const DtFilename& selectionGroupsFilename() const;
632 
637  virtual void setSymbolMapFilename(const DtFilename& overlay);
638  virtual const DtFilename& symbolMapFilename() const;
640 
645  virtual void setCreateMenuFilename(const DtFilename& overlay);
646  virtual const DtFilename& createMenuFilename() const;
648 
650  virtual void saveParameterDb(const DtFilename& filename);
651 
652  //-------------------------------------------------------
654  //-------------------------------------------------------
655 
657  virtual void deleteObject(const DtUUID& uuid,
658  const DtSimulationAddress& addr = DtSimSendToAll) const;
659 
660  //-------------------------------------------------------
662  //-------------------------------------------------------
663 
665 
670  virtual void createWaypoint(
671  const DtVector& geocentricPosition,
672  const DtString& uniqueName = DtString::nullString(),
673  const DtString& label = DtString::nullString(),
674  const DtSimulationAddress& addr = DtSimSendToAll) const;
675 
679  virtual void createWaypoint(
680  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
681  const DtVector& geocentricPosition,
682  const DtString& uniqueName = DtString::nullString(),
683  const DtString& label = DtString::nullString(),
684  const DtSimulationAddress& addr = DtSimSendToAll);
685 
687  virtual void modifyWaypoint(
688  const DtUUID& uuid,
689  DtString* uniqueName = 0,
690  DtString* label = 0,
691  DtVector* geocentricPosition = 0,
692  const DtSimulationAddress& addr = DtSimSendToAll) const;
693 
695 
700  virtual void createRoute(
701  const DtList& vertices,
702  const DtString& uniqueName = DtString::nullString(),
703  const DtString& label = DtString::nullString(),
704  const DtSimulationAddress& addr = DtSimSendToAll) const;
705 
709  virtual void createRoute(
710  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
711  const DtList& vertices,
712  const DtString& uniqueName = DtString::nullString(),
713  const DtString& label = DtString::nullString(),
714  const DtSimulationAddress& addr = DtSimSendToAll) ;
715 
717  virtual void modifyRoute(
718  const DtUUID& uuid,
719  DtString* uniqueName = 0,
720  DtString* label = 0,
721  DtList* vertices = 0,
722  const DtSimulationAddress& addr = DtSimSendToAll) const;
723 
725 
730  virtual void createPhaseLine(
731  const DtVector& dbPoint1,
732  const DtVector& dbPoint2,
733  const DtString& uniqueName = DtString::nullString(),
734  const DtString& label = DtString::nullString(),
735  const DtSimulationAddress& addr = DtSimSendToAll) const;
736 
740  virtual void createPhaseLine(
741  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
742  const DtVector& dbPoint1,
743  const DtVector& dbPoint2,
744  const DtString& uniqueName = DtString::nullString(),
745  const DtString& label = DtString::nullString(),
746  const DtSimulationAddress& addr = DtSimSendToAll) ;
747 
749  virtual void modifyPhaseLine(
750  const DtUUID& uuid,
751  DtString* uniqueName = 0,
752  DtString* label = 0,
753  DtVector* newDbPoint1 = 0,
754  DtVector* newDbPoint2 = 0,
755  const DtSimulationAddress& addr = DtSimSendToAll) const;
756 
758 
764  virtual void createControlArea(
765  const DtList& vertices,
766  const DtString& uniqueName = DtString::nullString(),
767  const DtString& label = DtString::nullString(),
768  const DtSimulationAddress& addr = DtSimSendToAll) const;
769 
773  virtual void createControlArea(
774  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
775  const DtList& vertices,
776  const DtString& uniqueName = DtString::nullString(),
777  const DtString& label = DtString::nullString(),
778  const DtSimulationAddress& addr = DtSimSendToAll) ;
779 
781  virtual void modifyControlArea(
782  const DtUUID& uuid,
783  DtString* uniqueName = 0,
784  DtString* label = 0,
785  DtList* newVertices = 0,
786  const DtSimulationAddress& addr = DtSimSendToAll) const;
787 
789 
795  virtual void createObstacle(
796  const DtList& vertices,
797  const DtString& uniqueName = DtString::nullString(),
798  const DtString& label = DtString::nullString(),
799  const DtSimulationAddress& addr = DtSimSendToAll) const;
800 
804  virtual void createObstacle(
805  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
806  const DtList& vertices,
807  const DtString& uniqueName = DtString::nullString(),
808  const DtString& label = DtString::nullString(),
809  const DtSimulationAddress& addr = DtSimSendToAll) ;
810 
812  virtual void modifyObstacle(
813  const DtUUID& uuid,
814  DtString* uniqueName = 0,
815  DtString* label = 0,
816  DtList* newVertices = 0,
817  const DtSimulationAddress& addr = DtSimSendToAll) const;
818 
820 
827  virtual void createDisaggregationArea(
828  const DtList& vertices,
829  const DtString& uniqueName = DtString::nullString(),
830  const DtString& label = DtString::nullString(),
831  const DtSimulationAddress& addr = DtSimSendToAll) const;
832 
837  virtual void createDisaggregationArea(
838  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
839  const DtList& vertices,
840  const DtString& uniqueName = DtString::nullString(),
841  const DtString& label = DtString::nullString(),
842  const DtSimulationAddress& addr = DtSimSendToAll) ;
843 
845  virtual void modifyDisaggregationArea(
846  const DtUUID& uuid,
847  DtString* uniqueName = 0,
848  DtString* label = 0,
849  DtList* newVertices = 0,
850  const DtSimulationAddress& addr = DtSimSendToAll) const;
851 
865  virtual void createOverlayObject(
866  const DtEntityType& type,
867  const DtList& vertices,
868  const DtForceType& force,
869  const DtString& name,
870  const DtString& label,
871  int color,
872  const DtString& parentName,
873  bool projection,
874  bool closedFigure,
875  const DtAppearance& appearance = DtAppearance::nullAppearance(),
876  const DtString& attachTo = DtString(),
877  char* userData = 0,
878  int dataSize = 0,
879  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
880  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
882  const DtSimulationAddress& addr = DtSimSendToAll,
883  unsigned int rId = 0,
884  std::list<DtAdminContent*>* initialAdminContent = 0,
885  std::list<DtSimInterfaceContent*>* initialInterfaceContent = 0);
886 
887  virtual void createIndirectArtillery(
888  const DtVrfIndirectArtilleryObjectModify * params,
889  const DtSimulationAddress& addr);
890  //-------------------------------------------------------
892  //-------------------------------------------------------
893 
895  virtual void createObject(
896  const DtEntityType& type,
897  DtForceType force,
898  DtList* vertices,
899  const DtString& name,
900  const DtSimulationAddress& addr);
901 
903  virtual void createEntity(
904  const DtEntityType& type,
905  const DtVector& geocentricPosition,
906  DtForceType force,
907  DtReal heading,
908  const DtString& uniqueName = DtString::nullString(),
909  const DtString& label = DtString::nullString(),
910  const DtSimulationAddress& addr = DtSimSendToAll,
911  bool groundClamp = true) const;
912 
916  virtual void createEntity(
917  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
918  const DtEntityType& type,
919  const DtVector& geocentricPosition,
920  DtForceType force,
921  DtReal heading,
922  const DtString& uniqueName = DtString::nullString(),
923  const DtString& label = DtString::nullString(),
924  const DtSimulationAddress& addr = DtSimSendToAll,
925  bool groundClamp = true);
926 
927  virtual void createAggregate(
928  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
929  const DtEntityType& type,
930  const DtVector& geocentricPosition,
931  DtForceType force,
932  DtReal heading,
933  const DtString& uniqueName,
934  const DtString& label = DtString::nullString(),
935  const DtSimulationAddress& addr = DtSimSendToAll,
936  DtAggregateState initialAggregateState = DtDisaggregated);
937 
939  virtual void createAggregate(
940  const DtEntityType& type,
941  const DtVector& geocentricPosition,
942  DtForceType force,
943  DtReal heading,
944  DtList* entityNames = 0,
945  const DtSimulationAddress& addr = DtSimSendToAll,
946  DtAggregateState initialAggregateState = DtDisaggregated,
947  unsigned int requestId = 0) const;
948 
952  virtual void createAggregate(
953  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
954  const DtEntityType& type,
955  const DtVector& geocentricPosition,
956  DtForceType force,
957  DtReal heading,
958  DtList* entityNames = 0,
959  const DtSimulationAddress& addr = DtSimSendToAll,
960  DtAggregateState initialAggregateState = DtDisaggregated) ;
961 
964  virtual void addToOrganization(
965  const DtUUID& objectId,
966  const DtUUID& newSuperiorId,
967  const DtSimulationAddress& addr = DtSimSendToAll);
968 
972  virtual void addToForceLevelOrganization(
973  const DtUUID& uuid,
974  const DtSimulationAddress& addr = DtSimSendToAll);
975 
978  virtual void removeFromOrganization(
979  const DtUUID& uuid,
980  const DtSimulationAddress& addr = DtSimSendToAll);
981 
987 
989  virtual void setLabel(
990  const DtUUID& uuid, const DtString& label,
991  const DtSimulationAddress& addr = DtSimSendToAll) const;
992 
994  virtual void setOverlayParent(
995  const DtUUID& uuid, const DtString& label,
996  const DtSimulationAddress& addr = DtSimSendToAll) const;
997 
999  virtual void setAltitude(
1000  const DtUUID& uuid, double altitude, bool aboveGroundLevel = false,
1001  const DtSimulationAddress& addr = DtSimSendToAll) const;
1002 
1004  virtual void setLocation(
1005  const DtUUID& uuid, DtVector coord,
1006  const DtSimulationAddress& addr = DtSimSendToAll) const;
1007 
1009  virtual void setAppearance(
1010  const DtUUID& uuid, int appearance,
1011  const DtSimulationAddress& addr = DtSimSendToAll) const;
1012 
1014  virtual void setCapabilities(
1015  const DtUUID& uuid, int capabilities,
1016  const DtSimulationAddress& addr = DtSimSendToAll) const;
1017 
1019  virtual void setHeading(
1020  const DtUUID& uuid, double degrees,
1021  const DtSimulationAddress& addr = DtSimSendToAll) const;
1022 
1024  virtual void setForce(
1025  const DtUUID& uuid, DtForceType force,
1026  const DtSimulationAddress& addr = DtSimSendToAll) const;
1027 
1031  virtual void requestSpotReports(const DtUUID& uuid, bool onOff,
1032  const DtSimulationAddress& addr = DtSimSendToAll) const;
1033 
1037  virtual void requestEngagementReports(const DtUUID& uuid, bool onOff,
1038  const DtSimulationAddress& addr = DtSimSendToAll) const;
1039 
1041  virtual void setResource(const DtUUID& uuid,
1042  const char* resourceType, double value,
1043  const DtSimulationAddress& addr = DtSimSendToAll) const;
1044 
1048  virtual void setRulesOfEngagement(
1049  const DtUUID& uuid, const char* rulesType,
1050  const DtSimulationAddress& addr = DtSimSendToAll) const;
1051 
1053  virtual void setSectorOfResponsibility(
1054  const DtUUID& uuid, double center, double size,
1055  const DtSimulationAddress& addr = DtSimSendToAll) const;
1056 
1058  virtual void setSpeed(
1059  const DtUUID& uuid, double speed,
1060  const DtSimulationAddress& addr = DtSimSendToAll) const;
1061 
1063  virtual void setCurrentSpeed(
1064  const DtUUID& uuid, double speed,
1065  const DtSimulationAddress& addr = DtSimSendToAll) const;
1066 
1068  virtual void setTarget(
1069  const DtUUID& uuid, const DtUUID& target,
1070  const DtSimulationAddress& addr = DtSimSendToAll) const;
1071 
1074  virtual void setSuperior(
1075  const DtUUID& uuid, const DtUUID& superior,
1076  const DtSimulationAddress& addr = DtSimSendToAll) const;
1077 
1079  virtual void setTaskedBySuperior(const DtUUID& uuid,
1080  const DtSimulationAddress& addr = DtSimSendToAll) const;
1081 
1083  virtual void setConcealed(const DtUUID& uuid,
1084  bool yes, const DtSimulationAddress& addr = DtSimSendToAll) const;
1085 
1087  virtual void setEmitter(const DtUUID& uuid,
1088  int emitterId, bool on,
1089  const DtSimulationAddress& addr = DtSimSendToAll) const;
1090 
1092  virtual void setIff(const DtUUID& uuid,
1093  bool mode1on, int mode1code,
1094  bool mode2on, int mode2code,
1095  bool mode3on, int mode3code,
1096  bool mode4on, int mode4code,
1097  DtIffAtcNavaidsAltParm4 altParm4,
1098  bool modeCon, bool useAltModeC,
1099  bool modeSon, bool emergency,
1100  bool flash, bool sti, bool modeSTcasI,
1101  int pin, bool mode5LevelSelection,
1102  unsigned int messageFormatsPresent, unsigned int nationalOrigin,
1103  unsigned int navigationSource, unsigned int figureOfMerit,
1104  const DtSimulationAddress& addr = DtSimSendToAll) const;
1105 
1107  virtual void restore(const DtUUID& uuid,
1108  const DtSimulationAddress& addr = DtSimSendToAll) const;
1109 
1112  virtual void setDestroyed(const DtUUID& uuid,
1113  const DtSimulationAddress& addr = DtSimSendToAll) const;
1114 
1118  virtual void setLifeformWeaponState(
1119  const DtUUID& uuid, DtWeaponState weapon,
1120  const DtSimulationAddress& addr) const;
1121 
1125  virtual void setLifeformPosture(
1126  const DtUUID& uuid, DtLifeformState posture,
1127  const DtSimulationAddress& addr) const;
1128 
1131  virtual void setAggregateFormation(
1132  const DtUUID& leader, const DtString& formationName,
1133  const DtSimulationAddress& addr = DtSimSendToAll) const;
1134 
1138  virtual void reorganizeAggregate(const DtUUID& leader,
1139  const DtSimulationAddress& addr = DtSimSendToAll) const;
1140 
1144  virtual void disaggregateEntity(const DtUUID& entity,
1145  const DtSimulationAddress& addr = DtSimSendToAll) const;
1146 
1150  virtual void aggregateEntity(const DtUUID& entity,
1151  const DtSimulationAddress& addr = DtSimSendToAll) const;
1152 
1155  virtual void sendSetDataMsg(
1156  const DtUUID& recipient, DtSetDataRequest* msg,
1157  const DtSimulationAddress& addr) const;
1158 
1160 
1161 
1162  //-------------------------------------------------------
1164  //-------------------------------------------------------
1165 
1169  virtual void sendVrfObjectCreateMsg(
1170  const DtSimulationAddress& addr,
1171  unsigned int requestId,
1172  const DtString& name,
1173  const DtObjectType& type,
1174  const DtList& vertices,
1175  const DtString& label,
1176  const DtAppearance& appearance,
1177  DtForceType force,
1178  bool projection,
1179  bool closedFigure,
1180  DtReal heading,
1181  bool createSubObjects,
1182  bool clampToGroundFlag = true,
1183  const DtString& initialFormation = DtString::nullString(),
1184  DtAggregateState initialAggregateState = DtDisaggregated,
1185  const DtString& userData = DtString::nullString(),
1186  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
1187  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
1188  std::list<DtAdminContent*>* initialAdminContent = 0,
1189  std::list<DtSimInterfaceContent*>* initialInterfaceContent = 0,
1190  const DtString& overlayParent = "") const;
1191 
1198  virtual void sendVrfObjectModifyMsg(
1199  const DtSimulationAddress& addr,
1200  const DtUUID& uuid,
1201  DtString* name = 0,
1202  DtList* vertices = 0,
1203  DtForceType* force = 0,
1204  DtReal* heading = 0,
1205  DtString* label = 0,
1206  DtAppearance* appearance = 0,
1207  DtString* overlayParent = 0,
1208  DtString* userData = 0) const;
1209 
1211  virtual void setPhysicalLineWidth(const DtSimulationAddress& addr,
1212  const DtUUID& entityId, double w);
1213 
1215  virtual void setPhysicalLineHeight(const DtSimulationAddress& addr,
1216  const DtUUID& entityId, double h);
1217 
1219  virtual void setCeiling(const DtSimulationAddress& addr,
1220  const DtUUID& entityId, double c);
1221 
1225  virtual void sendVrfOverlayObjectModifyMsg(
1226  const DtSimulationAddress& addr,
1227  const DtUUID& uuid,
1228  int color,
1229  const DtString& parentName,
1230  const DtUUID& attachTo,
1231  bool keepExistingAttachment = true,
1232  char* userData = 0,
1233  int len = 0) const;
1234 
1235  virtual void sendVrfIndirectArtilleryObjectModifyMsg(
1236  const DtSimulationAddress& addr,
1237  const DtUUID& uuid,
1238  const DtVrfIndirectArtilleryObjectModify * mod) const;
1239 
1240  //-------------------------------------------------------
1242  //-------------------------------------------------------
1243 
1246  virtual void moveAlongRoute(
1247  const DtUUID& entityName, const DtUUID& routeName,
1248  const DtSimulationAddress& addr = DtSimSendToAll) const;
1249 
1252  virtual void moveToWaypoint(
1253  const DtUUID& entityName, const DtUUID& waypoint,
1254  const DtSimulationAddress& addr = DtSimSendToAll) const;
1255 
1259  virtual void moveToLocation(
1260  const DtUUID& entityName, const DtVector& destinationLocation,
1261  const DtSimulationAddress& addr = DtSimSendToAll) const;
1262 
1265  virtual void patrolBetweenWaypoints(
1266  const DtUUID& uuid,
1267  const DtUUID& waypoint1, const DtUUID& waypoint2,
1268  const DtSimulationAddress& addr = DtSimSendToAll) const;
1269 
1272  virtual void patrolAlongRoute(
1273  const DtUUID& uuid, const DtUUID& route,
1274  const DtSimulationAddress& addr = DtSimSendToAll) const;
1275 
1281  virtual void followEntity(
1282  const DtUUID& uuid,
1283  const DtUUID& leader, const DtVector& offset,
1284  const DtSimulationAddress& addr = DtSimSendToAll) const;
1285 
1288  virtual void wait(
1289  const DtUUID& uuid,
1290  const DtSimulationAddress& addr = DtSimSendToAll) const;
1291 
1294  virtual void waitDuration(
1295  const DtUUID& uuid, DtTime duration,
1296  const DtSimulationAddress& addr = DtSimSendToAll) const;
1297 
1300  virtual void waitElapsed(
1301  const DtUUID& uuid, DtTime elapsed,
1302  const DtSimulationAddress& addr = DtSimSendToAll) const;
1303 
1307  virtual void sendTaskMsg(
1308  const DtUUID& recipient, DtSimTask* task,
1309  const DtSimulationAddress& addr = DtSimSendToAll) const;
1310 
1313  virtual void abandonPlan(const DtUUID& uuid,
1314  const DtSimulationAddress& addr = DtSimSendToAll) const;
1315 
1317  virtual void skipTask(const DtUUID& uuid,
1318  const DtSimulationAddress& addr = DtSimSendToAll) const;
1319 
1322  virtual void restartPlan(const DtUUID& uuid,
1323  const DtSimulationAddress& addr = DtSimSendToAll) const;
1324 
1332  virtual void assignPlanByName(
1333  const DtUUID& uuid, const DtPlan& plan,
1334  const DtSimulationAddress& addr = DtSimSendToAll,
1335  int *retiStatus = NULL, DtString* retsStmt = NULL) const;
1336 
1338  virtual void assignMultiplePlanByName(
1339  const std::vector<DtUUID>& entities, const DtPlan& plan,
1340  const DtSimulationAddress& addr = DtSimSendToAll,
1341  int *retiStatus = NULL, DtString* retsStmt = NULL) const;
1342 
1347  virtual void requestPlan(
1348  const DtUUID& uuid,
1349  bool addStmtCallback = true,
1350  const DtSimulationAddress& addr = DtSimSendToAll) const;
1351 
1356  virtual void subscribePlan(const DtUUID& uuid,
1357  DtPlanCallbackFcn fn, void* usr,
1358  const DtSimulationAddress& addr = DtSimSendToAll);
1359 
1365  virtual void requestMultiplePlan(const std::vector<DtUUID>& entities,
1366  DtMultiplePlanRequestCallbackFcn fcn, void *usr,
1367  const DtSimulationAddress& addr = DtSimSendToAll);
1368 
1369  virtual void requestMultiplePlan(const std::vector<DtUUID>& entities,
1370  const DtSimulationAddress& addr = DtSimSendToAll);
1371 
1374  virtual void unsubscribePlan(const DtUUID& uuid,
1375  DtPlanCallbackFcn fn, void* usr);
1376 
1379  virtual void unsubscribeAllPlans();
1380 
1385  virtual void addPlanStatementCallback(const DtUUID& uuid,
1386  DtPlanStatementCallbackFcn callback, void* usrData);
1387 
1390  virtual void removePlanStatementCallback(const DtUUID& uuid,
1391  DtPlanStatementCallbackFcn callback, void* usrData);
1392 
1395  virtual void removeAllPlanStatementCallbacks();
1396 
1401  virtual void addPlanCompleteCallback(const DtUUID& uuid,
1402  DtPlanCompleteCallbackFcn callback, void* usrData);
1403 
1406  virtual void removePlanCompleteCallback(const DtUUID& uuid,
1407  DtPlanCompleteCallbackFcn callback, void* usrData);
1408 
1411  virtual void removeAllPlanCompleteCallbacks();
1412 
1414 
1416  virtual void requestGlobalPlansList(const DtSimulationAddress& addr);
1417 
1425  virtual void assignGlobalPlan(
1426  const DtString& name, const DtPlan& plan,
1427  const DtSimulationAddress& addr = DtSimSendToAll,
1428  int *retiStatus = NULL, DtString* retsStmt = NULL) const;
1429 
1431  virtual void deleteGlobalPlan(const DtUUID& name,
1432  const DtSimulationAddress& addr = DtSimSendToAll) const;
1433 
1435  virtual void launchGlobalPlan(const DtUUID&, const DtSimulationAddress& addr) const;
1436 
1442  virtual DtVrfObjectMessageExecutive* objectMessageExecutive();
1443 
1449  virtual void sendMessageToObject(DtVrfObjectMessage* objectMessage,
1450  const DtSimulationAddress& addr = DtSimSendToAll) const;
1451 
1452  //-------------------------------------------------------
1453 
1457  virtual void loadedScenario(
1458  const DtSimulationAddress& addr, unsigned int requestId);
1459 
1463  virtual void processSaveMessages();
1464 
1468  virtual DtTime scenarioSimTimeForSave();
1469 
1473  virtual void setTerrainDatabaseFilename(DtScenario* scen);
1474 
1478  virtual void setParameterDatabaseFilename(DtScenario* scen);
1479 
1483  virtual void setPhysicalWorldFilename(DtScenario* scen);
1484 
1488  virtual void setTimeMultiplier(DtScenario* scen);
1489 
1493  virtual void setAutoReorganize(DtScenario* scen);
1494 
1498  virtual void setRandomNumberSeed(DtScenario* scen);
1499 
1503  virtual void setFrameRateMode(DtScenario* scen);
1504 
1508  virtual void setFrameDeltaTime(DtScenario* scen);
1509 
1513  virtual void setExerciseStartTime(DtScenario* scen);
1514 
1518  virtual void setExerciseStartDateAndTime(DtScenario* scen);
1519 
1526  virtual bool save(DtString& sError);
1527 
1531  virtual void createSimulationObjectGroup(const DtSimulationAddress&, const DtString& simulationObjectGroup,
1532  const DtVector& createPosition, double offsetRotation, int createFlags, DtForceType force);
1533 
1538  virtual void save(const DtSimulationAddress& addr, DtIfSaveComplete* s);
1539 
1543  virtual void exported(const DtSimulationAddress& addr, DtIfExportComplete* s);
1544 
1546  virtual void completeExport();
1547 
1551  virtual void savedScenario(const DtSimulationAddress& addr,
1552  DtSaveResult result, unsigned int requestId, bool isCheckpointSave = false, double checkpointSimTime = -1);
1553 
1556  virtual void doPendingSaveWork();
1557 
1560  virtual void doPendingExportWork();
1561 
1564  virtual void doPendingLoadWork();
1565 
1568  virtual void objectCreated(unsigned int requestId,
1569  const DtString& name, const DtEntityIdentifier& id, const DtUUID& uuid);
1570 
1572  virtual unsigned int generateRequestId() const;
1573 
1576  virtual void receivedPlan(const DtUUID& uuid, bool isGlobal,
1577  const std::vector<DtSimStatement*>& statements);
1578 
1584  virtual void receivedPlanStmt(const DtUUID& uuid, bool isGlobal,
1585  DtPlanStatus planStatus);
1586 
1593  virtual void embarkObject(const DtSimulationAddress& addr, const DtUUID& entity, const DtUUID& ontoEntity,
1594  bool loadOverride = false, const DtVector& loadOverridePosition = DtVector::zero());
1595 
1596  virtual void disembarkObject(const DtSimulationAddress& addr, const DtUUID& entity);
1597  virtual void disembarkAllObjects(const DtSimulationAddress& addr, const DtUUID& entity);
1598 
1601  virtual void requestTasksAndSetsFor(const DtSimulationAddress& addr,
1602  const DtUUID& entityName);
1603 
1605  virtual void requestTasksAndSetsFor(const std::vector<DtUUID>& names);
1606 
1609  virtual void requestDIGuyAppearancesAndAnimations(const DtSimulationAddress& addr,
1610  const DtUUID& entityName);
1611 
1613  virtual void requestDIGuyAppearancesAndAnimations(const std::vector<DtUUID>& names);
1614 
1615  //-------------------------------------------------------
1617  //-------------------------------------------------------
1618 
1622  virtual DtDefaultVrfObjectMessageFactory* vrfObjectMsgFactory();
1623  virtual DtDefaultCondExprFactory* condExprFactory();
1624  virtual DtDefaultStatementFactory* stmtFactory();
1625  virtual DtDefaultSimReportFactory* reportFactory();
1626  virtual DtDefaultSimTaskFactory* taskFactory();
1627  virtual DtDefaultSetDataRequestFactory* setDataFactory();
1628  virtual DtDefaultSimCommandFactory* simCommandFactory();
1629  virtual DtDefaultAdminContentFactory* adminContentFactory();
1630 
1631  //-------------------------------------------------------
1633  //-------------------------------------------------------
1634 
1636  virtual void setRotationThreshold(DtReal thresh);
1637 
1639  virtual void setTranslationThreshold(DtReal thresh);
1640 
1645  virtual void setAggDimensionThreshold(DtReal thresh);
1646 
1648  virtual void setHostInetAddr(DtInetAddr);
1649  virtual DtInetAddr hostInetAddr() const;
1650 
1653  virtual void querySpatialSubdivisionConfiguration(
1654  const DtSimulationAddress& backendAddress,
1655  DtSpatialSubdivisionType spatialSubdivisionType,
1656  DtServerRequestResponseCallbackFcn fcn = 0, void* usr = 0);
1657 
1659  virtual void setSpatialSubdivsionConfiguration(
1660  const DtSimulationAddress& backendAddress,
1661  DtSpatialSubdivisionType spatialSubdivisionType,
1662  const int spatialSubdivisionXResolution,
1663  const int spatialSubdivisionYResolution,
1664  const int spatialSubdivisionZResolution);
1665 
1667  virtual void requestIndirectArtilleryInformation(const DtUUID&);
1668 
1676  virtual void requestResources(const DtUUID& uuid = DtString::nullString(),
1677  const std::list<DtString>* list = 0,
1678  DtServerRequestResponseCallbackFcn fcn = 0, void* usr = 0);
1679 
1680  //-------------------------------------------------------
1682  //-------------------------------------------------------
1686  virtual void addObjectConsoleMessageCallback(
1687  DtObjectConsoleMessageCallbackFcn fcn, void* usr = 0);
1688 
1689  virtual void removeObjectConsoleMessageCallback(
1690  DtObjectConsoleMessageCallbackFcn fcn, void* usr = 0);
1692 
1695  virtual void setObjectNotifyLevel(const DtUUID& objectName,
1696  DtNotifyLevelType notifyLevel, const DtSimulationAddress& addr = DtSimSendToAll);
1697 
1701  virtual void logObjectConsoleToFile(const DtUUID& objectName,
1702  const DtFilename filename);
1703 
1706  virtual void stopLoggingObjectConsoleToFile(const DtUUID& objectName);
1707 
1708  //-------------------------------------------------------
1710  //-------------------------------------------------------
1714  virtual void addBackendConsoleMessageCallback(
1715  DtBackendConsoleMessageCallbackFcn fcn, void* usr = 0);
1716 
1717  virtual void removeBackendConsoleMessageCallback(
1718  DtBackendConsoleMessageCallbackFcn fcn, void* usr = 0);
1720 
1725  virtual void requestResourceNames(const std::vector<DtUUID>& list,
1726  DtServerRequestResponseCallbackFcn fcn = 0, void* usr = 0);
1727 
1733  virtual DtRadioMessageListener* radioMessageListener();
1734 
1735  //-------------------------------------------------------
1737  //-------------------------------------------------------
1738 
1740  DtRemoteEnvironmentController* remoteEnvironmentController();
1741 
1747  virtual void initializeGlobalEnvironment(
1748  const DtSimulationAddress& environmentSimBackend = DtSimSendToAll);
1749 
1752  DtRemoteEnvironmentController* createRemoteEnvironmentController();
1753 
1754  //-------------------------------------------------------
1756  //-------------------------------------------------------
1757 
1760  virtual void requestJoystickInformation(const DtUUID&, DtJoystickControlResponseFcn, void*,
1761  const DtSimulationAddress& addr = DtSimSendToAll);
1762 
1765  virtual void takeControlOf(const DtUUID&, const std::set<DtString>& functionGroups,
1766  const DtSimulationAddress& addr = DtSimSendToAll);
1767 
1770  virtual void releaseControlOf(const DtUUID&, const std::set<DtString>& functionGroups =
1771  std::set<DtString>(), const DtSimulationAddress& addr = DtSimSendToAll);
1772 
1775  virtual void sendJoystickControl(const DtUUID&, const DtString& functionGroup,
1776  const DtString& function, double value, bool repeat = false, const DtSimulationAddress& addr = DtSimSendToAll);
1777 
1778 public:
1779 
1782  static void doPendingSaveWorkCb(void* usr);
1783 
1786  static void doPendingExportWorkCb(void* usr);
1787 
1790  static void doPendingLoadWorkCb(void* usr);
1791 
1794  static void savedScenarioCb(DtSimMessage* msg, void* usr);
1795 
1798  static void exportScenarioCb(DtSimMessage* msg, void* usr);
1799 
1802  static void loadedScenarioCb(DtSimMessage* msg, void* usr);
1803 
1806  static void receiveFileCb(const DtFilename& filename, void* usr);
1807 
1809  static void receivedMultiPlanCb(DtSimMessage* msg, void* usr);
1810 
1812  virtual void processReceivedMultiPlan(DtIfMultiplePlanResponse* msg);
1813 
1815  static void objectCreatedCb(DtSimMessage* msg, void* usr);
1816 
1818  static void receivedPlanCb(DtSimMessage* msg, void* usr);
1819 
1821  static void receivedPlanStmtCb(DtSimMessage* msg, void* usr);
1822 
1825  static void overlayObjectCreatedCallback(const DtString& name, const DtEntityIdentifier& id,
1826  const DtUUID& uuid, void* usr);
1827  virtual void processOverlayObjectCreated(const DtString& name, const DtEntityIdentifier& id, const DtUUID& uuid,
1828  DtVrfOverlayObjectModify* modifications);
1829 
1832  static void indirectArtilleryObjectCreatedCallback(const DtString& name, const DtEntityIdentifier& id,
1833  const DtUUID& uuid, void* usr);
1834  virtual void processIndirectArtilleryObjectCreated(const DtString& name, const DtEntityIdentifier& id, const DtUUID& uuid,
1835  DtVrfIndirectArtilleryObjectModify* modifications);
1836 
1838  static void resourcesProcessedCb(DtSimMessage* msg, void* usr);
1839 
1841  virtual void processResourcesProcessedCb(const DtIfServerRequestResponse& rsp);
1842 
1845  static void spatialSubdivisionConfigurationCb(DtSimMessage* msg, void* usr);
1846 
1849  virtual void processSpatialSubdivisionConfigurationCb(
1850  const DtIfServerRequestResponse& rsp);
1851 
1854  static void commentInteractionCallback(DtCommentInteraction *inter, void* usr);
1855 
1858  virtual void processCommentInteraction(DtCommentInteraction* inter);
1859 
1861  virtual DtVrfConfigurationFileComposer* composer();
1862 
1863 protected:
1864 
1866  static void joystickControlResponse(DtSimMessage* msg, void* usr);
1867  virtual void processJoystickControlResponse(DtSimMessage* msg);
1868 
1872  virtual void onInit();
1873  virtual void resetStateData();
1874  virtual void emptyLists();
1875 
1877  virtual void sendAggregateAsMsg(
1878  const DtSimulationAddress& addr,
1879  unsigned int requestId,
1880  const DtObjectType& objectType,
1881  DtForceType force,
1882  const DtVector& position,
1883  DtReal heading,
1884  DtList* entityNames,
1885  DtAggregateState initialAggregateState) const;
1886 
1888  virtual DtVrfConfigurationFileComposer* createComposer();
1889 
1891  virtual DtUUIDNetworkManager* createUUIDNetworkManager() const;
1892 
1895  virtual void sendQuerySpatialSubdivisionConfigurationRequest(
1896  const DtSimulationAddress& backendAddress,
1897  DtSpatialSubdivisionType spatialSubdivisionType ,
1898  DtServerRequestResponseCallbackFcn fcn, void* usr);
1899 
1906  virtual bool arbitrarySimAddress(DtSimulationAddress& address) const;
1907 
1915  virtual bool addStatementsAndSendPlan(const DtPlan& plan, DtIfPlan& planMsg,
1916  const DtSimulationAddress& addr = DtSimSendToAll,
1917  int *retiStatus = 0, DtString* retsStmt = 0) const;
1918 
1921  static void deliverRadioMessageCallback(DtSimMessage* msg, void* usr);
1922  static void vrfObjectMessageCallback(const DtVrfObjectMessage* objMsg, void* usr);
1925  virtual void processVrfObjectMessage(const DtVrfObjectMessage* objectMsg);
1926 
1929  static void globalEnvironmentCreatedCb(const DtString& name, const DtEntityIdentifier& id, const DtUUID& uuid, void* usr);
1930  virtual void processGlobalEnvironmentCreated(const DtString& name, const DtEntityIdentifier& id, const DtUUID& uuid);
1931 
1932 public:
1934 
1938  virtual bool newScenario(
1939  const DtFilename& dbname,
1940  const DtFilename& guidbname,
1941  const DtFilename& opdname,
1942  const DtFilename& physicalWorldName,
1943  const std::vector<DtString>& simulationModelSetFiles,
1944  const DtScenario* baseScenario = 0,
1945  time_t startTimeOfDay = 12 * 3600,
1946  DtString* errorString = 0);
1947 
1948 protected:
1949  DtExerciseConn* myExConn;
1961  DtList myBeList;
1962 
1970 
1971  typedef std::list<PlanCbInfo> DtPlanCallbackListType;
1973  typedef std::list<StmtCbInfo> DtStatementCallbackListType;
1975  typedef std::list<PlanCompleteCbInfo> DtPlanCompleteCallbaclListType;
1977 
1978  DtHashlist myObjectCbs;
1979 
1980  typedef std::list<std::pair<DtObjectConsoleMessageCallbackFcn, void*> >
1983 
1984  typedef std::list<std::pair<DtBackendConsoleMessageCallbackFcn, void*> >
1987 
1989  DtFilename mySaveName;
1991  DtFilename myOverlayFilename;
1995  DtFilename myOpdName;
2009 
2012 
2022 
2027 
2030 
2033  DtFilename myTempDirectory;
2034 
2038  DtInetAddr myInetAddr;
2039 
2044  mutable unsigned int myRequestIdCounter;
2045 
2048 
2051 
2054 
2057 
2060 
2062  DtFilename myExportFile;
2063 
2066 
2070 
2073 
2077 
2079  typedef std::map<DtString, std::pair<DtJoystickControlResponseFcn, void*> > JoystickResponseCallbackInfo;
2081 };
2082 
2091 {
2092 public:
2093  DtVrfOverlayObjectModify(int color, const DtUUID& attachTo,
2094  char* userData,
2095  int iUserDataSize, DtOverlayCreatedCallbackFcn fcn,
2096  DtVrfRemoteController* control);
2097 
2098  virtual ~DtVrfOverlayObjectModify();
2099 
2100  virtual int color() const;
2101  virtual const DtUUID& attachTo() const;
2102  virtual void userData(char** data, int* userDataSize);
2103  virtual DtVrfRemoteController* remoteController();
2104  virtual DtOverlayCreatedCallbackFcn userCallback();
2105 
2106 protected:
2107  int myColor;
2110  char* myUserData;
2113 };
2114 
2118 {
2119 public:
2122 
2124  virtual DtVrfRemoteController* remoteController() const;
2125  virtual void setRemoteController(DtVrfRemoteController*);
2126 
2128  virtual const DtIfIndirectArtilleryData & data() const;
2129  virtual DtIfIndirectArtilleryData & data();
2130  virtual void setData(const DtIfIndirectArtilleryData & data);
2131 
2132 protected:
2135 };

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)