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 (*DtVrfObjectCreatedCallbackFcn)
87  (const DtString& name, const DtEntityIdentifier& id, const DtUUID& uuid, void* usr);
88 
89 typedef void (*DtOverlayCreatedCallbackFcn)
90  (const DtString& name, const DtEntityIdentifier& id, const DtUUID& uuid, DtVrfOverlayObjectModify* usr);
91 
93  (const DtString& name, const DtEntityIdentifier& id,
94  const DtUUID& uuid, void* usr);
95 
97  (const DtEntityIdentifier& id, int notifyLevel, const DtString& message,
98  void* usr);
99 
101  (const DtSimulationAddress& id, int notifyLevel, const DtString& message,
102  void* usr);
103 
108  (const DtIfServerRequestResponse& response, void* usr);
109 
111 {
112 public:
113  PlanCbInfo(const DtUUID& n, bool global, DtPlanCallbackFcn f, void* usr) :
114  planName(n), isGlobal(global), fcn(f), data(usr) {}
116  bool operator==(const PlanCbInfo& orig) const
117  {
118  return (planName == orig.planName && fcn == orig.fcn && data == orig.data
119  && isGlobal == orig.isGlobal);
120  }
121 
123  bool isGlobal;
125  void* data;
126 };
127 
129 {
130 public:
131  StmtCbInfo(const DtUUID& n, bool global,
132  DtPlanStatementCallbackFcn f, void* usr) :
133  planName(n), isGlobal(global) , fcn(f), data(usr) {}
135  bool operator==(const StmtCbInfo& orig) const
136  {
137  return (planName == orig.planName && fcn == orig.fcn && data == orig.data &&
138  isGlobal == orig.isGlobal);
139  }
140 
143  bool isGlobal;
144  void* data;
145 };
146 
148 {
149 public:
150  PlanCompleteCbInfo(const DtUUID& n, bool global,
151  DtPlanCompleteCallbackFcn f, void* usr) :
152  planName(n), isGlobal(global), fcn(f), data(usr) {}
154  bool operator==(const PlanCompleteCbInfo& orig) const
155  {
156  return (planName == orig.planName && fcn == orig.fcn && data == orig.data && isGlobal == orig.isGlobal);
157  }
158 
161  bool isGlobal;
162  void* data;
163 };
164 
180 {
181 public:
183  AttachNone=0,
185  AttachEven
186  };
187 
188 public:
189 
195  DtVrfRemoteController(int receivePort = 9000);
196 
216  virtual void init(DtExerciseConn* exConn,
218  DtReflectedEntityList* reel = NULL,
219  DtReflectedAggregateList* ral = NULL,
220  const DtString& uuidMarkingForNonVrForces = "entity-identifier");
221 
222  virtual void init(DtVrfMessageInterface* msgIf,
224  DtReflectedEntityList* reel = NULL,
225  DtReflectedAggregateList* ral = NULL,
226  const DtString& uuidMarkingForNonVrForces = "entity-identifier");
227 
231 
232  virtual void reinitialize(
234  DtReflectedEntityList* reel = NULL,
235  DtReflectedAggregateList* ral = NULL);
236 
238 
239  virtual ~DtVrfRemoteController();
240 
242  virtual DtVrfMessageInterface* vrfMessageInterface() const;
243 
245  virtual const DtSimulationAddress& simulationAddress() const;
246  virtual int sessionId() const;
247 
250  virtual double simTime(const DtSimulationAddress* a = NULL) const;
251 
253  virtual const DtList& backends() const;
254 
257  virtual const DtList& pendingBackends() const;
258 
260  virtual DtVrfBackendListener* backendListener() const;
261 
263  virtual void addBackendDiscoveryCallback(
264  DtBackendCallbackFcn fcn, void* usr);
265  virtual void removeBackendDiscoveryCallback(
266  DtBackendCallbackFcn fcn, void* usr);
267 
269  virtual void addBackendRemovalCallback(
270  DtBackendCallbackFcn fcn, void* usr);
271  virtual void removeBackendRemovalCallback(
272  DtBackendCallbackFcn fcn, void* usr);
273 
277  virtual int backendsControlState() const;
278 
280  virtual int numberBackendsLoaded() const;
281 
284  virtual bool allBackendsReady() const;
285 
287  virtual bool backendLoaded(const DtSimulationAddress& addr) const;
288 
291  virtual void modifyBackEndSetting(const DtSettingsObject* setting,
292  const DtSimulationAddress& addr = DtSimSendToAll);
293 
304  virtual void requestBackEndSetting(std::string name,
306  const DtSimulationAddress& addr = DtSimSendToAll);
307 
310  virtual void setSpotReportsGloballyEnabled(bool enabled);
311 
314  virtual void setEngagementReportsGloballyEnabled(bool enabled);
315 
318  virtual void setDRThresholds(double translation, double rotation);
319 
321  virtual void setCommModelSettings(bool useExternalComms);
322 
324  virtual void setRoadDrivingSettings(bool driveOnLeft);
325 
328  virtual void setAutomaticAggregationDisaggregationEnabled(bool enabled);
329 
334  virtual void setPublishAggregateFormationRoutes(bool yesNo);
335 
336  //-------------------------------------------------------
338  //-------------------------------------------------------
339 
362  virtual bool loadScenario(const DtFilename& filename,
363  DtBackendRemappingFcn fcn = 0, void* usrRemapping = 0,
364  DtLoadBalancingFcn = 0, void* usrBalancing = 0,
365  const std::vector<DtString>& simulationModelSetFiles = std::vector<DtString>(),
366  ComponentAttachmentRule compAttachRule = DtVrfRemoteController::AttachNone,
367  DtString* errorString = 0);
368 
377  virtual bool loadScenario(const DtScenario& scenario,
378  DtBackendRemappingFcn fcn = 0, void* usrRemapping = 0,
379  DtLoadBalancingFcn = 0, void* usrBalancing = 0,
380  const std::vector<DtString>& simulationModelSetFiles = std::vector<DtString>(),
381  DtString* errorString = 0);
382 
385  virtual bool importScenario(const DtScenario&, const DtSimulationAddress& addr, DtString* errorString = 0);
386  virtual bool importScenario(const DtFilename&, const DtSimulationAddress& addr, DtString* errorString = 0);
387 
392  virtual bool saveSimulationObjectGroup(const DtFilename& smsDirectory, const DtString& groupName,
393  const DtString& groupDescription, int creationFlags, const DtSimulationAddress& addr,
394  const std::map<DtString, DtString>& additionalInformation = std::map<DtString, DtString>(),
395  DtString* saveError = 0);
396 
401  virtual bool importScenarioDescriptionFile(const DtFilename& file, DtSimulationAddress, const DtString& format,
402  const std::map<std::string, std::string>& importData);
403 
406  virtual bool exportScenarioDescriptionFile(const DtFilename& file, DtSimulationAddress, const DtString& format,
407  const std::map<std::string, std::string>& importData);
408 
412  virtual DtString guiTerrainDatabaseFilename() const;
413  virtual void setGuiTerrainDatabaseFilename(DtString db);
414 
416  virtual const DtRwKeyValueList& scenarioData() const;
417  virtual void setScenarioData(const DtRwKeyValueList&);
418 
423  virtual bool newScenario(
424  const DtFilename& dbname,
425  const DtFilename& guidbname,
426  const DtFilename& opdname = DtFilename::nullFilename(),
427  const DtFilename& physicalWorldName = DtFilename::nullFilename(),
428  const DtScenario* baseScenario = 0,
429  time_t startTimeOfDay = 12 * 3600,
430  DtString* errorString = 0);
431 
433  virtual bool newScenario(
434  const DtFilename& dbname,
435  const DtFilename& guidbname,
436  const std::vector<DtString>& simulationModelSetFiles,
437  const DtScenario* baseScenario = 0,
438  time_t startTimeOfDay = 12 * 3600,
439  DtString* errorString = 0);
440 
446  virtual bool sendLoadScenarioMessage(
447  const DtScenario& scenario,
448  const DtSimulationAddress& addr = DtSimSendToAll,
449  bool import = false) const;
450 
453  virtual DtIfLoadScenario* createLoadScenarioMessage() const;
454 
457  virtual void addBackendLoadedCallback(DtBackendCallbackFcn fcn, void* usr);
458  virtual void removeBackendLoadedCallback(DtBackendCallbackFcn fcn, void* usr);
459 
462  virtual void addScenarioLoadedCallback(DtScenarioCallbackFcn fcn, void* usr);
463  virtual void removeScenarioLoadedCallback(DtScenarioCallbackFcn fcn, void* usr);
464 
477  virtual bool saveScenario(const DtFilename& saveName,
478  DtPreserveMappingsFcn fcn = 0, void* userData = 0, DtString* error = 0);
479 
482  virtual void sendSaveScenarioMessage(const DtSimulationAddress& addr = DtSimSendToAll) const;
483 
486  virtual void addBackendSavedCallback(DtBackendSaveCallbackFcn fcn, void* usr);
487  virtual void removeBackendSavedCallback(DtBackendSaveCallbackFcn fcn, void* usr);
488 
493  virtual void addScenarioSavedCallback(
494  DtScenarioCallbackFcn fcn, void* usr);
495  virtual void removeScenarioSavedCallback(
496  DtScenarioCallbackFcn fcn, void* usr);
497 
500  virtual void addScenarioExportedCallback(
501  DtScenarioSavedCallbackFcn fcn, void* usr);
502  virtual void removeScenarioExportedCallback(
503  DtScenarioSavedCallbackFcn fcn, void* usr);
504 
508  virtual void addScenarioSavedCallback(
509  DtScenarioSavedCallbackFcn fcn, void* usr);
510  virtual void removeScenarioSavedCallback(
511  DtScenarioSavedCallbackFcn fcn, void* usr);
512 
514  virtual void closeScenario(const DtSimulationAddress& addr = DtSimSendToAll,
515  const DtFilename& databaseToOpen = "");
516 
521  virtual void run(bool useStartStopInteraction = false, const DtSimulationAddress& addr = DtSimSendToAll) const;
522  virtual void pause(bool useStartStopInteraction = false, const DtSimulationAddress& addr = DtSimSendToAll) const;
523 
524  virtual void rewind() const;
525  virtual void exit() const;
526  virtual void step() const;
527  virtual void setTimeMultiplier(double multiplier) const;
529 
538  virtual void setOpdSaveName(const DtFilename& f);
539  virtual const DtFilename& opdSaveName() const;
541 
546  virtual void setMaxWaitSaveTime(DtTime t);
547  virtual DtTime maxWaitSaveTime() const;
549 
554  virtual void setMaxWaitLoadTime(DtTime t);
555  virtual DtTime maxWaitLoadTime() const;
557 
562  virtual void setOverlayFilename(const DtFilename& overlay);
563  virtual const DtFilename& overlayFilename() const;
565 
570  virtual void setHostilityFilename(const DtFilename& hostilty);
571  virtual const DtFilename& hostilityFilename() const;
573 
574  virtual void setScenarioExtrasFilename(const DtFilename& extras);
575  virtual const DtFilename& scenarioExtrasFilename() const;
576 
581  virtual void setSelectionGroupsFilename(const DtFilename& sel);
582  virtual const DtFilename& selectionGroupsFilename() const;
584 
589  virtual void setSymbolMapFilename(const DtFilename& overlay);
590  virtual const DtFilename& symbolMapFilename() const;
592 
597  virtual void setCreateMenuFilename(const DtFilename& overlay);
598  virtual const DtFilename& createMenuFilename() const;
600 
602  virtual void saveParameterDb(const DtFilename& filename);
603 
604  //-------------------------------------------------------
606  //-------------------------------------------------------
607 
609  virtual void deleteObject(const DtUUID& uuid,
610  const DtSimulationAddress& addr = DtSimSendToAll) const;
611 
612  //-------------------------------------------------------
614  //-------------------------------------------------------
615 
617 
622  virtual void createWaypoint(
623  const DtVector& geocentricPosition,
624  const DtString& uniqueName = DtString::nullString(),
625  const DtString& label = DtString::nullString(),
626  const DtSimulationAddress& addr = DtSimSendToAll) const;
627 
631  virtual void createWaypoint(
632  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
633  const DtVector& geocentricPosition,
634  const DtString& uniqueName = DtString::nullString(),
635  const DtString& label = DtString::nullString(),
636  const DtSimulationAddress& addr = DtSimSendToAll);
637 
639  virtual void modifyWaypoint(
640  const DtUUID& uuid,
641  DtString* uniqueName = 0,
642  DtString* label = 0,
643  DtVector* geocentricPosition = 0,
644  const DtSimulationAddress& addr = DtSimSendToAll) const;
645 
647 
652  virtual void createRoute(
653  const DtList& vertices,
654  const DtString& uniqueName = DtString::nullString(),
655  const DtString& label = DtString::nullString(),
656  const DtSimulationAddress& addr = DtSimSendToAll) const;
657 
661  virtual void createRoute(
662  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
663  const DtList& vertices,
664  const DtString& uniqueName = DtString::nullString(),
665  const DtString& label = DtString::nullString(),
666  const DtSimulationAddress& addr = DtSimSendToAll) ;
667 
669  virtual void modifyRoute(
670  const DtUUID& uuid,
671  DtString* uniqueName = 0,
672  DtString* label = 0,
673  DtList* vertices = 0,
674  const DtSimulationAddress& addr = DtSimSendToAll) const;
675 
677 
682  virtual void createPhaseLine(
683  const DtVector& dbPoint1,
684  const DtVector& dbPoint2,
685  const DtString& uniqueName = DtString::nullString(),
686  const DtString& label = DtString::nullString(),
687  const DtSimulationAddress& addr = DtSimSendToAll) const;
688 
692  virtual void createPhaseLine(
693  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
694  const DtVector& dbPoint1,
695  const DtVector& dbPoint2,
696  const DtString& uniqueName = DtString::nullString(),
697  const DtString& label = DtString::nullString(),
698  const DtSimulationAddress& addr = DtSimSendToAll) ;
699 
701  virtual void modifyPhaseLine(
702  const DtUUID& uuid,
703  DtString* uniqueName = 0,
704  DtString* label = 0,
705  DtVector* newDbPoint1 = 0,
706  DtVector* newDbPoint2 = 0,
707  const DtSimulationAddress& addr = DtSimSendToAll) const;
708 
710 
716  virtual void createControlArea(
717  const DtList& vertices,
718  const DtString& uniqueName = DtString::nullString(),
719  const DtString& label = DtString::nullString(),
720  const DtSimulationAddress& addr = DtSimSendToAll) const;
721 
725  virtual void createControlArea(
726  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
727  const DtList& vertices,
728  const DtString& uniqueName = DtString::nullString(),
729  const DtString& label = DtString::nullString(),
730  const DtSimulationAddress& addr = DtSimSendToAll) ;
731 
733  virtual void modifyControlArea(
734  const DtUUID& uuid,
735  DtString* uniqueName = 0,
736  DtString* label = 0,
737  DtList* newVertices = 0,
738  const DtSimulationAddress& addr = DtSimSendToAll) const;
739 
741 
747  virtual void createObstacle(
748  const DtList& vertices,
749  const DtString& uniqueName = DtString::nullString(),
750  const DtString& label = DtString::nullString(),
751  const DtSimulationAddress& addr = DtSimSendToAll) const;
752 
756  virtual void createObstacle(
757  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
758  const DtList& vertices,
759  const DtString& uniqueName = DtString::nullString(),
760  const DtString& label = DtString::nullString(),
761  const DtSimulationAddress& addr = DtSimSendToAll) ;
762 
764  virtual void modifyObstacle(
765  const DtUUID& uuid,
766  DtString* uniqueName = 0,
767  DtString* label = 0,
768  DtList* newVertices = 0,
769  const DtSimulationAddress& addr = DtSimSendToAll) const;
770 
772 
779  virtual void createDisaggregationArea(
780  const DtList& vertices,
781  const DtString& uniqueName = DtString::nullString(),
782  const DtString& label = DtString::nullString(),
783  const DtSimulationAddress& addr = DtSimSendToAll) const;
784 
789  virtual void createDisaggregationArea(
790  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
791  const DtList& vertices,
792  const DtString& uniqueName = DtString::nullString(),
793  const DtString& label = DtString::nullString(),
794  const DtSimulationAddress& addr = DtSimSendToAll) ;
795 
797  virtual void modifyDisaggregationArea(
798  const DtUUID& uuid,
799  DtString* uniqueName = 0,
800  DtString* label = 0,
801  DtList* newVertices = 0,
802  const DtSimulationAddress& addr = DtSimSendToAll) const;
803 
817  virtual void createOverlayObject(
818  const DtEntityType& type,
819  const DtList& vertices,
820  const DtForceType& force,
821  const DtString& name,
822  const DtString& label,
823  int color,
824  const DtString& parentName,
825  bool projection,
826  bool closedFigure,
827  const DtAppearance& appearance = DtAppearance::nullAppearance(),
828  const DtString& attachTo = DtString(),
829  char* userData = 0,
830  int dataSize = 0,
831  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
832  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
834  const DtSimulationAddress& addr = DtSimSendToAll,
835  unsigned int rId = 0,
836  std::list<DtAdminContent*>* initialAdminContent = 0,
837  std::list<DtSimInterfaceContent*>* initialInterfaceContent = 0);
838 
839  virtual void createIndirectArtillery(
840  const DtVrfIndirectArtilleryObjectModify * params,
841  const DtSimulationAddress& addr);
842  //-------------------------------------------------------
844  //-------------------------------------------------------
845 
847  virtual void createObject(
848  const DtEntityType& type,
849  DtForceType force,
850  DtList* vertices,
851  const DtString& name,
852  const DtSimulationAddress& addr);
853 
855  virtual void createEntity(
856  const DtEntityType& type,
857  const DtVector& geocentricPosition,
858  DtForceType force,
859  DtReal heading,
860  const DtString& uniqueName = DtString::nullString(),
861  const DtString& label = DtString::nullString(),
862  const DtSimulationAddress& addr = DtSimSendToAll,
863  bool groundClamp = true) const;
864 
868  virtual void createEntity(
869  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
870  const DtEntityType& type,
871  const DtVector& geocentricPosition,
872  DtForceType force,
873  DtReal heading,
874  const DtString& uniqueName = DtString::nullString(),
875  const DtString& label = DtString::nullString(),
876  const DtSimulationAddress& addr = DtSimSendToAll,
877  bool groundClamp = true);
878 
879  virtual void createAggregate(
880  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
881  const DtEntityType& type,
882  const DtVector& geocentricPosition,
883  DtForceType force,
884  DtReal heading,
885  const DtString& uniqueName,
886  const DtString& label = DtString::nullString(),
887  const DtSimulationAddress& addr = DtSimSendToAll,
888  DtAggregateState initialAggregateState = DtDisaggregated);
889 
891  virtual void createAggregate(
892  const DtEntityType& type,
893  const DtVector& geocentricPosition,
894  DtForceType force,
895  DtReal heading,
896  DtList* entityNames = 0,
897  const DtSimulationAddress& addr = DtSimSendToAll,
898  DtAggregateState initialAggregateState = DtDisaggregated,
899  unsigned int requestId = 0) const;
900 
904  virtual void createAggregate(
905  DtVrfObjectCreatedCallbackFcn fcn, void* usr,
906  const DtEntityType& type,
907  const DtVector& geocentricPosition,
908  DtForceType force,
909  DtReal heading,
910  DtList* entityNames = 0,
911  const DtSimulationAddress& addr = DtSimSendToAll,
912  DtAggregateState initialAggregateState = DtDisaggregated) ;
913 
916  virtual void addToOrganization(
917  const DtUUID& objectId,
918  const DtUUID& newSuperiorId,
919  const DtSimulationAddress& addr = DtSimSendToAll);
920 
924  virtual void addToForceLevelOrganization(
925  const DtUUID& uuid,
926  const DtSimulationAddress& addr = DtSimSendToAll);
927 
930  virtual void removeFromOrganization(
931  const DtUUID& uuid,
932  const DtSimulationAddress& addr = DtSimSendToAll);
933 
939 
941  virtual void setLabel(
942  const DtUUID& uuid, const DtString& label,
943  const DtSimulationAddress& addr = DtSimSendToAll) const;
944 
946  virtual void setOverlayParent(
947  const DtUUID& uuid, const DtString& label,
948  const DtSimulationAddress& addr = DtSimSendToAll) const;
949 
951  virtual void setAltitude(
952  const DtUUID& uuid, double altitude, bool aboveGroundLevel = false,
953  const DtSimulationAddress& addr = DtSimSendToAll) const;
954 
956  virtual void setLocation(
957  const DtUUID& uuid, DtVector coord,
958  const DtSimulationAddress& addr = DtSimSendToAll) const;
959 
961  virtual void setAppearance(
962  const DtUUID& uuid, int appearance,
963  const DtSimulationAddress& addr = DtSimSendToAll) const;
964 
966  virtual void setCapabilities(
967  const DtUUID& uuid, int capabilities,
968  const DtSimulationAddress& addr = DtSimSendToAll) const;
969 
971  virtual void setHeading(
972  const DtUUID& uuid, double degrees,
973  const DtSimulationAddress& addr = DtSimSendToAll) const;
974 
976  virtual void setForce(
977  const DtUUID& uuid, DtForceType force,
978  const DtSimulationAddress& addr = DtSimSendToAll) const;
979 
983  virtual void requestSpotReports(const DtUUID& uuid, bool onOff,
984  const DtSimulationAddress& addr = DtSimSendToAll) const;
985 
989  virtual void requestEngagementReports(const DtUUID& uuid, bool onOff,
990  const DtSimulationAddress& addr = DtSimSendToAll) const;
991 
993  virtual void setResource(const DtUUID& uuid,
994  const char* resourceType, double value,
995  const DtSimulationAddress& addr = DtSimSendToAll) const;
996 
1000  virtual void setRulesOfEngagement(
1001  const DtUUID& uuid, const char* rulesType,
1002  const DtSimulationAddress& addr = DtSimSendToAll) const;
1003 
1005  virtual void setSectorOfResponsibility(
1006  const DtUUID& uuid, double center, double size,
1007  const DtSimulationAddress& addr = DtSimSendToAll) const;
1008 
1010  virtual void setSpeed(
1011  const DtUUID& uuid, double speed,
1012  const DtSimulationAddress& addr = DtSimSendToAll) const;
1013 
1015  virtual void setCurrentSpeed(
1016  const DtUUID& uuid, double speed,
1017  const DtSimulationAddress& addr = DtSimSendToAll) const;
1018 
1020  virtual void setTarget(
1021  const DtUUID& uuid, const DtUUID& target,
1022  const DtSimulationAddress& addr = DtSimSendToAll) const;
1023 
1026  virtual void setSuperior(
1027  const DtUUID& uuid, const DtUUID& superior,
1028  const DtSimulationAddress& addr = DtSimSendToAll) const;
1029 
1031  virtual void setTaskedBySuperior(const DtUUID& uuid,
1032  const DtSimulationAddress& addr = DtSimSendToAll) const;
1033 
1035  virtual void setConcealed(const DtUUID& uuid,
1036  bool yes, const DtSimulationAddress& addr = DtSimSendToAll) const;
1037 
1039  virtual void setEmitter(const DtUUID& uuid,
1040  int emitterId, bool on,
1041  const DtSimulationAddress& addr = DtSimSendToAll) const;
1042 
1044  virtual void setIff(const DtUUID& uuid,
1045  bool mode1on, int mode1code,
1046  bool mode2on, int mode2code,
1047  bool mode3on, int mode3code,
1048  bool mode4on, int mode4code,
1049  DtIffAtcNavaidsAltParm4 altParm4,
1050  bool modeCon, bool useAltModeC,
1051  bool modeSon, bool emergency,
1052  bool flash, bool sti, bool modeSTcasI,
1053  int pin, bool mode5LevelSelection,
1054  unsigned int messageFormatsPresent, unsigned int nationalOrigin,
1055  unsigned int navigationSource, unsigned int figureOfMerit,
1056  const DtSimulationAddress& addr = DtSimSendToAll) const;
1057 
1059  virtual void restore(const DtUUID& uuid,
1060  const DtSimulationAddress& addr = DtSimSendToAll) const;
1061 
1064  virtual void setDestroyed(const DtUUID& uuid,
1065  const DtSimulationAddress& addr = DtSimSendToAll) const;
1066 
1070  virtual void setLifeformWeaponState(
1071  const DtUUID& uuid, DtWeaponState weapon,
1072  const DtSimulationAddress& addr) const;
1073 
1077  virtual void setLifeformPosture(
1078  const DtUUID& uuid, DtLifeformState posture,
1079  const DtSimulationAddress& addr) const;
1080 
1083  virtual void setAggregateFormation(
1084  const DtUUID& leader, const DtString& formationName,
1085  const DtSimulationAddress& addr = DtSimSendToAll) const;
1086 
1090  virtual void reorganizeAggregate(const DtUUID& leader,
1091  const DtSimulationAddress& addr = DtSimSendToAll) const;
1092 
1096  virtual void disaggregateEntity(const DtUUID& entity,
1097  const DtSimulationAddress& addr = DtSimSendToAll) const;
1098 
1102  virtual void aggregateEntity(const DtUUID& entity,
1103  const DtSimulationAddress& addr = DtSimSendToAll) const;
1104 
1107  virtual void sendSetDataMsg(
1108  const DtUUID& recipient, DtSetDataRequest* msg,
1109  const DtSimulationAddress& addr) const;
1110 
1112 
1113 
1114  //-------------------------------------------------------
1116  //-------------------------------------------------------
1117 
1121  virtual void sendVrfObjectCreateMsg(
1122  const DtSimulationAddress& addr,
1123  unsigned int requestId,
1124  const DtString& name,
1125  const DtObjectType& type,
1126  const DtList& vertices,
1127  const DtString& label,
1128  const DtAppearance& appearance,
1129  DtForceType force,
1130  bool projection,
1131  bool closedFigure,
1132  DtReal heading,
1133  bool createSubObjects,
1134  bool clampToGroundFlag = true,
1135  const DtString& initialFormation = DtString::nullString(),
1136  DtAggregateState initialAggregateState = DtDisaggregated,
1137  const DtString& userData = DtString::nullString(),
1138  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
1139  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
1140  std::list<DtAdminContent*>* initialAdminContent = 0,
1141  std::list<DtSimInterfaceContent*>* initialInterfaceContent = 0,
1142  const DtString& overlayParent = "") const;
1143 
1150  virtual void sendVrfObjectModifyMsg(
1151  const DtSimulationAddress& addr,
1152  const DtUUID& uuid,
1153  DtString* name = 0,
1154  DtList* vertices = 0,
1155  DtForceType* force = 0,
1156  DtReal* heading = 0,
1157  DtString* label = 0,
1158  DtAppearance* appearance = 0,
1159  DtString* overlayParent = 0,
1160  DtString* userData = 0) const;
1161 
1163  virtual void setPhysicalLineWidth(const DtSimulationAddress& addr,
1164  const DtUUID& entityId, double w);
1165 
1167  virtual void setPhysicalLineHeight(const DtSimulationAddress& addr,
1168  const DtUUID& entityId, double h);
1169 
1171  virtual void setCeiling(const DtSimulationAddress& addr,
1172  const DtUUID& entityId, double c);
1173 
1177  virtual void sendVrfOverlayObjectModifyMsg(
1178  const DtSimulationAddress& addr,
1179  const DtUUID& uuid,
1180  int color,
1181  const DtString& parentName,
1182  const DtUUID& attachTo,
1183  bool keepExistingAttachment = true,
1184  char* userData = 0,
1185  int len = 0) const;
1186 
1187  virtual void sendVrfIndirectArtilleryObjectModifyMsg(
1188  const DtSimulationAddress& addr,
1189  const DtUUID& uuid,
1190  const DtVrfIndirectArtilleryObjectModify * mod) const;
1191 
1192  //-------------------------------------------------------
1194  //-------------------------------------------------------
1195 
1198  virtual void moveAlongRoute(
1199  const DtUUID& entityName, const DtUUID& routeName,
1200  const DtSimulationAddress& addr = DtSimSendToAll) const;
1201 
1204  virtual void moveToWaypoint(
1205  const DtUUID& entityName, const DtUUID& waypoint,
1206  const DtSimulationAddress& addr = DtSimSendToAll) const;
1207 
1211  virtual void moveToLocation(
1212  const DtUUID& entityName, const DtVector& destinationLocation,
1213  const DtSimulationAddress& addr = DtSimSendToAll) const;
1214 
1217  virtual void patrolBetweenWaypoints(
1218  const DtUUID& uuid,
1219  const DtUUID& waypoint1, const DtUUID& waypoint2,
1220  const DtSimulationAddress& addr = DtSimSendToAll) const;
1221 
1224  virtual void patrolAlongRoute(
1225  const DtUUID& uuid, const DtUUID& route,
1226  const DtSimulationAddress& addr = DtSimSendToAll) const;
1227 
1233  virtual void followEntity(
1234  const DtUUID& uuid,
1235  const DtUUID& leader, const DtVector& offset,
1236  const DtSimulationAddress& addr = DtSimSendToAll) const;
1237 
1240  virtual void wait(
1241  const DtUUID& uuid,
1242  const DtSimulationAddress& addr = DtSimSendToAll) const;
1243 
1246  virtual void waitDuration(
1247  const DtUUID& uuid, DtTime duration,
1248  const DtSimulationAddress& addr = DtSimSendToAll) const;
1249 
1252  virtual void waitElapsed(
1253  const DtUUID& uuid, DtTime elapsed,
1254  const DtSimulationAddress& addr = DtSimSendToAll) const;
1255 
1259  virtual void sendTaskMsg(
1260  const DtUUID& recipient, DtSimTask* task,
1261  const DtSimulationAddress& addr = DtSimSendToAll) const;
1262 
1265  virtual void abandonPlan(const DtUUID& uuid,
1266  const DtSimulationAddress& addr = DtSimSendToAll) const;
1267 
1269  virtual void skipTask(const DtUUID& uuid,
1270  const DtSimulationAddress& addr = DtSimSendToAll) const;
1271 
1274  virtual void restartPlan(const DtUUID& uuid,
1275  const DtSimulationAddress& addr = DtSimSendToAll) const;
1276 
1284  virtual void assignPlanByName(
1285  const DtUUID& uuid, const DtPlan& plan,
1286  const DtSimulationAddress& addr = DtSimSendToAll,
1287  int *retiStatus = NULL, DtString* retsStmt = NULL) const;
1288 
1290  virtual void assignMultiplePlanByName(
1291  const std::vector<DtUUID>& entities, const DtPlan& plan,
1292  const DtSimulationAddress& addr = DtSimSendToAll,
1293  int *retiStatus = NULL, DtString* retsStmt = NULL) const;
1294 
1299  virtual void requestPlan(
1300  const DtUUID& uuid,
1301  bool addStmtCallback = true,
1302  const DtSimulationAddress& addr = DtSimSendToAll) const;
1303 
1308  virtual void subscribePlan(const DtUUID& uuid,
1309  DtPlanCallbackFcn fn, void* usr,
1310  const DtSimulationAddress& addr = DtSimSendToAll);
1311 
1317  virtual void requestMultiplePlan(const std::vector<DtUUID>& entities,
1318  DtMultiplePlanRequestCallbackFcn fcn, void *usr,
1319  const DtSimulationAddress& addr = DtSimSendToAll);
1320 
1321  virtual void requestMultiplePlan(const std::vector<DtUUID>& entities,
1322  const DtSimulationAddress& addr = DtSimSendToAll);
1323 
1326  virtual void unsubscribePlan(const DtUUID& uuid,
1327  DtPlanCallbackFcn fn, void* usr);
1328 
1331  virtual void unsubscribeAllPlans();
1332 
1337  virtual void addPlanStatementCallback(const DtUUID& uuid,
1338  DtPlanStatementCallbackFcn callback, void* usrData);
1339 
1342  virtual void removePlanStatementCallback(const DtUUID& uuid,
1343  DtPlanStatementCallbackFcn callback, void* usrData);
1344 
1347  virtual void removeAllPlanStatementCallbacks();
1348 
1353  virtual void addPlanCompleteCallback(const DtUUID& uuid,
1354  DtPlanCompleteCallbackFcn callback, void* usrData);
1355 
1358  virtual void removePlanCompleteCallback(const DtUUID& uuid,
1359  DtPlanCompleteCallbackFcn callback, void* usrData);
1360 
1363  virtual void removeAllPlanCompleteCallbacks();
1364 
1366 
1368  virtual void requestGlobalPlansList(const DtSimulationAddress& addr);
1369 
1377  virtual void assignGlobalPlan(
1378  const DtString& name, const DtPlan& plan,
1379  const DtSimulationAddress& addr = DtSimSendToAll,
1380  int *retiStatus = NULL, DtString* retsStmt = NULL) const;
1381 
1383  virtual void deleteGlobalPlan(const DtUUID& name,
1384  const DtSimulationAddress& addr = DtSimSendToAll) const;
1385 
1387  virtual void launchGlobalPlan(const DtUUID&, const DtSimulationAddress& addr) const;
1388 
1394  virtual DtVrfObjectMessageExecutive* objectMessageExecutive();
1395 
1401  virtual void sendMessageToObject(DtVrfObjectMessage* objectMessage,
1402  const DtSimulationAddress& addr = DtSimSendToAll) const;
1403 
1404  //-------------------------------------------------------
1405 
1409  virtual void loadedScenario(
1410  const DtSimulationAddress& addr, unsigned int requestId);
1411 
1415  virtual void processSaveMessages();
1416 
1420  virtual DtTime scenarioSimTimeForSave();
1421 
1425  virtual void setTerrainDatabaseFilename(DtScenario* scen);
1426 
1430  virtual void setParameterDatabaseFilename(DtScenario* scen);
1431 
1435  virtual void setPhysicalWorldFilename(DtScenario* scen);
1436 
1440  virtual void setTimeMultiplier(DtScenario* scen);
1441 
1445  virtual void setAutoReorganize(DtScenario* scen);
1446 
1450  virtual void setRandomNumberSeed(DtScenario* scen);
1451 
1455  virtual void setFrameRateMode(DtScenario* scen);
1456 
1460  virtual void setFrameDeltaTime(DtScenario* scen);
1461 
1465  virtual void setExerciseStartTime(DtScenario* scen);
1466 
1470  virtual void setExerciseStartDateAndTime(DtScenario* scen);
1471 
1478  virtual bool save(DtString& sError);
1479 
1483  virtual void createSimulationObjectGroup(const DtSimulationAddress&, const DtString& simulationObjectGroup,
1484  const DtVector& createPosition, double offsetRotation, int createFlags, DtForceType force);
1485 
1490  virtual void save(const DtSimulationAddress& addr, DtIfSaveComplete* s);
1491 
1495  virtual void exported(const DtSimulationAddress& addr, DtIfExportComplete* s);
1496 
1498  virtual void completeExport();
1499 
1503  virtual void savedScenario(const DtSimulationAddress& addr,
1504  DtSaveResult result, unsigned int requestId);
1505 
1508  virtual void doPendingSaveWork();
1509 
1510 
1513  virtual void doPendingExportWork();
1514 
1517  virtual void doPendingLoadWork();
1518 
1521  virtual void objectCreated(unsigned int requestId,
1522  const DtString& name, const DtEntityIdentifier& id, const DtUUID& uuid);
1523 
1525  virtual unsigned int generateRequestId() const;
1526 
1529  virtual void receivedPlan(const DtUUID& uuid, bool isGlobal,
1530  const std::vector<DtSimStatement*>& statements);
1531 
1537  virtual void receivedPlanStmt(const DtUUID& uuid, bool isGlobal,
1538  DtPlanStatus planStatus);
1539 
1546  virtual void embarkObject(const DtSimulationAddress& addr, const DtUUID& entity, const DtUUID& ontoEntity,
1547  bool loadOverride = false, const DtVector& loadOverridePosition = DtVector::zero());
1548 
1549  virtual void disembarkObject(const DtSimulationAddress& addr, const DtUUID& entity);
1550  virtual void disembarkAllObjects(const DtSimulationAddress& addr, const DtUUID& entity);
1551 
1554  virtual void requestTasksAndSetsFor(const DtSimulationAddress& addr,
1555  const DtUUID& entityName);
1556 
1558  virtual void requestTasksAndSetsFor(const std::vector<DtUUID>& names);
1559 
1562  virtual void requestDIGuyAppearancesAndAnimations(const DtSimulationAddress& addr,
1563  const DtUUID& entityName);
1564 
1566  virtual void requestDIGuyAppearancesAndAnimations(const std::vector<DtUUID>& names);
1567 
1568  //-------------------------------------------------------
1570  //-------------------------------------------------------
1571 
1575  virtual DtDefaultVrfObjectMessageFactory* vrfObjectMsgFactory();
1576  virtual DtDefaultCondExprFactory* condExprFactory();
1577  virtual DtDefaultStatementFactory* stmtFactory();
1578  virtual DtDefaultSimReportFactory* reportFactory();
1579  virtual DtDefaultSimTaskFactory* taskFactory();
1580  virtual DtDefaultSetDataRequestFactory* setDataFactory();
1581  virtual DtDefaultSimCommandFactory* simCommandFactory();
1582  virtual DtDefaultAdminContentFactory* adminContentFactory();
1583 
1584  //-------------------------------------------------------
1586  //-------------------------------------------------------
1587 
1589  virtual void setRotationThreshold(DtReal thresh);
1590 
1592  virtual void setTranslationThreshold(DtReal thresh);
1593 
1598  virtual void setAggDimensionThreshold(DtReal thresh);
1599 
1601  virtual void setHostInetAddr(DtInetAddr);
1602  virtual DtInetAddr hostInetAddr() const;
1603 
1606  virtual void querySpatialSubdivisionConfiguration(
1607  const DtSimulationAddress& backendAddress,
1608  DtSpatialSubdivisionType spatialSubdivisionType,
1609  DtServerRequestResponseCallbackFcn fcn = 0, void* usr = 0);
1610 
1612  virtual void setSpatialSubdivsionConfiguration(
1613  const DtSimulationAddress& backendAddress,
1614  DtSpatialSubdivisionType spatialSubdivisionType,
1615  const int spatialSubdivisionXResolution,
1616  const int spatialSubdivisionYResolution,
1617  const int spatialSubdivisionZResolution);
1618 
1620  virtual void requestIndirectArtilleryInformation(const DtUUID&);
1621 
1629  virtual void requestResources(const DtUUID& uuid = DtString::nullString(),
1630  const std::list<DtString>* list = 0,
1631  DtServerRequestResponseCallbackFcn fcn = 0, void* usr = 0);
1632 
1633  //-------------------------------------------------------
1635  //-------------------------------------------------------
1639  virtual void addObjectConsoleMessageCallback(
1640  DtObjectConsoleMessageCallbackFcn fcn, void* usr = 0);
1641 
1642  virtual void removeObjectConsoleMessageCallback(
1643  DtObjectConsoleMessageCallbackFcn fcn, void* usr = 0);
1645 
1648  virtual void setObjectNotifyLevel(const DtUUID& objectName,
1649  DtNotifyLevelType notifyLevel, const DtSimulationAddress& addr = DtSimSendToAll);
1650 
1654  virtual void logObjectConsoleToFile(const DtUUID& objectName,
1655  const DtFilename filename);
1656 
1659  virtual void stopLoggingObjectConsoleToFile(const DtUUID& objectName);
1660 
1661  //-------------------------------------------------------
1663  //-------------------------------------------------------
1667  virtual void addBackendConsoleMessageCallback(
1668  DtBackendConsoleMessageCallbackFcn fcn, void* usr = 0);
1669 
1670  virtual void removeBackendConsoleMessageCallback(
1671  DtBackendConsoleMessageCallbackFcn fcn, void* usr = 0);
1673 
1678  virtual void requestResourceNames(const std::vector<DtUUID>& list,
1679  DtServerRequestResponseCallbackFcn fcn = 0, void* usr = 0);
1680 
1686  virtual DtRadioMessageListener* radioMessageListener();
1687 
1688  //-------------------------------------------------------
1690  //-------------------------------------------------------
1691 
1693  DtRemoteEnvironmentController* remoteEnvironmentController();
1694 
1700  virtual void initializeGlobalEnvironment(
1701  const DtSimulationAddress& environmentSimBackend = DtSimSendToAll);
1702 
1705  DtRemoteEnvironmentController* createRemoteEnvironmentController();
1706 
1707  //-------------------------------------------------------
1709  //-------------------------------------------------------
1710 
1713  virtual void requestJoystickInformation(const DtUUID&, DtJoystickControlResponseFcn, void*,
1714  const DtSimulationAddress& addr = DtSimSendToAll);
1715 
1718  virtual void takeControlOf(const DtUUID&, const std::set<DtString>& functionGroups,
1719  const DtSimulationAddress& addr = DtSimSendToAll);
1720 
1723  virtual void releaseControlOf(const DtUUID&, const std::set<DtString>& functionGroups =
1724  std::set<DtString>(), const DtSimulationAddress& addr = DtSimSendToAll);
1725 
1728  virtual void sendJoystickControl(const DtUUID&, const DtString& functionGroup,
1729  const DtString& function, double value, bool repeat = false, const DtSimulationAddress& addr = DtSimSendToAll);
1730 
1731 public:
1732 
1735  static void doPendingSaveWorkCb(void* usr);
1736 
1739  static void doPendingExportWorkCb(void* usr);
1740 
1743  static void doPendingLoadWorkCb(void* usr);
1744 
1747  static void savedScenarioCb(DtSimMessage* msg, void* usr);
1748 
1751  static void exportScenarioCb(DtSimMessage* msg, void* usr);
1752 
1755  static void loadedScenarioCb(DtSimMessage* msg, void* usr);
1756 
1759  static void receiveFileCb(const DtFilename& filename, void* usr);
1760 
1762  static void receivedMultiPlanCb(DtSimMessage* msg, void* usr);
1763 
1765  virtual void processReceivedMultiPlan(DtIfMultiplePlanResponse* msg);
1766 
1768  static void objectCreatedCb(DtSimMessage* msg, void* usr);
1769 
1771  static void receivedPlanCb(DtSimMessage* msg, void* usr);
1772 
1774  static void receivedPlanStmtCb(DtSimMessage* msg, void* usr);
1775 
1778  static void overlayObjectCreatedCallback(const DtString& name, const DtEntityIdentifier& id,
1779  const DtUUID& uuid, void* usr);
1780  virtual void processOverlayObjectCreated(const DtString& name, const DtEntityIdentifier& id, const DtUUID& uuid,
1781  DtVrfOverlayObjectModify* modifications);
1782 
1785  static void indirectArtilleryObjectCreatedCallback(const DtString& name, const DtEntityIdentifier& id,
1786  const DtUUID& uuid, void* usr);
1787  virtual void processIndirectArtilleryObjectCreated(const DtString& name, const DtEntityIdentifier& id, const DtUUID& uuid,
1788  DtVrfIndirectArtilleryObjectModify* modifications);
1789 
1791  static void resourcesProcessedCb(DtSimMessage* msg, void* usr);
1792 
1794  virtual void processResourcesProcessedCb(const DtIfServerRequestResponse& rsp);
1795 
1798  static void spatialSubdivisionConfigurationCb(DtSimMessage* msg, void* usr);
1799 
1802  virtual void processSpatialSubdivisionConfigurationCb(
1803  const DtIfServerRequestResponse& rsp);
1804 
1807  static void commentInteractionCallback(DtCommentInteraction *inter, void* usr);
1808 
1811  virtual void processCommentInteraction(DtCommentInteraction* inter);
1812 
1814  virtual DtVrfConfigurationFileComposer* composer();
1815 
1816 protected:
1817 
1819  static void joystickControlResponse(DtSimMessage* msg, void* usr);
1820  virtual void processJoystickControlResponse(DtSimMessage* msg);
1821 
1825  virtual void onInit();
1826  virtual void resetStateData();
1827  virtual void emptyLists();
1828 
1830  virtual void sendAggregateAsMsg(
1831  const DtSimulationAddress& addr,
1832  unsigned int requestId,
1833  const DtObjectType& objectType,
1834  DtForceType force,
1835  const DtVector& position,
1836  DtReal heading,
1837  DtList* entityNames,
1838  DtAggregateState initialAggregateState) const;
1839 
1841  virtual DtVrfConfigurationFileComposer* createComposer();
1842 
1844  virtual DtUUIDNetworkManager* createUUIDNetworkManager() const;
1845  virtual DtUUIDNetworkManager* uuidNetworkManager() const;
1846 
1849  virtual void sendQuerySpatialSubdivisionConfigurationRequest(
1850  const DtSimulationAddress& backendAddress,
1851  DtSpatialSubdivisionType spatialSubdivisionType ,
1852  DtServerRequestResponseCallbackFcn fcn, void* usr);
1853 
1860  virtual bool arbitrarySimAddress(DtSimulationAddress& address) const;
1861 
1869  virtual bool addStatementsAndSendPlan(const DtPlan& plan, DtIfPlan& planMsg,
1870  const DtSimulationAddress& addr = DtSimSendToAll,
1871  int *retiStatus = 0, DtString* retsStmt = 0) const;
1872 
1875  static void deliverRadioMessageCallback(DtSimMessage* msg, void* usr);
1876  static void vrfObjectMessageCallback(const DtVrfObjectMessage* objMsg, void* usr);
1879  virtual void processVrfObjectMessage(const DtVrfObjectMessage* objectMsg);
1880 
1883  static void globalEnvironmentCreatedCb(const DtString& name, const DtEntityIdentifier& id, const DtUUID& uuid, void* usr);
1884  virtual void processGlobalEnvironmentCreated(const DtString& name, const DtEntityIdentifier& id, const DtUUID& uuid);
1885 
1886 public:
1888 
1892  virtual bool newScenario(
1893  const DtFilename& dbname,
1894  const DtFilename& guidbname,
1895  const DtFilename& opdname,
1896  const DtFilename& physicalWorldName,
1897  const std::vector<DtString>& simulationModelSetFiles,
1898  const DtScenario* baseScenario = 0,
1899  time_t startTimeOfDay = 12 * 3600,
1900  DtString* errorString = 0);
1901 
1902 protected:
1903  DtExerciseConn* myExConn;
1915  DtList myBeList;
1916 
1923 
1924  typedef std::list<PlanCbInfo> DtPlanCallbackListType;
1926  typedef std::list<StmtCbInfo> DtStatementCallbackListType;
1928  typedef std::list<PlanCompleteCbInfo> DtPlanCompleteCallbaclListType;
1930 
1931  DtHashlist myObjectCbs;
1932 
1933  typedef std::list<std::pair<DtObjectConsoleMessageCallbackFcn, void*> >
1936 
1937  typedef std::list<std::pair<DtBackendConsoleMessageCallbackFcn, void*> >
1940 
1942  DtFilename mySaveName;
1943  DtFilename myOverlayFilename;
1947  DtFilename myOpdName;
1961 
1964 
1974 
1979 
1982 
1985  DtFilename myTempDirectory;
1986 
1990  DtInetAddr myInetAddr;
1991 
1996  mutable unsigned int myRequestIdCounter;
1997 
2000 
2003 
2006 
2009 
2012 
2014  DtFilename myExportFile;
2015 
2018 
2022 
2025 
2029 
2031  typedef std::map<DtString, std::pair<DtJoystickControlResponseFcn, void*> > JoystickResponseCallbackInfo;
2033 };
2034 
2043 {
2044 public:
2045  DtVrfOverlayObjectModify(int color, const DtUUID& attachTo,
2046  char* userData,
2047  int iUserDataSize, DtOverlayCreatedCallbackFcn fcn,
2048  DtVrfRemoteController* control);
2049 
2050  virtual ~DtVrfOverlayObjectModify();
2051 
2052  virtual int color() const;
2053  virtual const DtUUID& attachTo() const;
2054  virtual void userData(char** data, int* userDataSize);
2055  virtual DtVrfRemoteController* remoteController();
2056  virtual DtOverlayCreatedCallbackFcn userCallback();
2057 
2058 protected:
2059  int myColor;
2062  char* myUserData;
2065 };
2066 
2070 {
2071 public:
2074 
2076  virtual DtVrfRemoteController* remoteController() const;
2077  virtual void setRemoteController(DtVrfRemoteController*);
2078 
2080  virtual const DtIfIndirectArtilleryData & data() const;
2081  virtual DtIfIndirectArtilleryData & data();
2082  virtual void setData(const DtIfIndirectArtilleryData & data);
2083 
2084 protected:
2087 };

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)