VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
guiThreadVrfRemoteController.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2019 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 
12 #pragma once
13 
14 #include <vrfGuiCore/vrfGuiCore.h>
16 #include <vrfutil/rwUUID.h>
17 
25 
28 #include <vrvCore/DtEntityState.h>
29 #include <vrvUtil/signalslib.h>
30 
31 #include <vlpi/entityType.h>
32 #include <matrix/vlVector.h>
33 
37 
38 #include <boost/function.hpp>
39 
41 class DtSetDataRequest;
43 class DtSimTask;
44 class DtAdminMessage;
47 class DtIfPlan;
51 class DtObjectType;
52 class DtPlan;
53 class DtScenario;
56 
57 typedef boost::function<void (DtString, const DtUUID&, const DtEntityIdentifier&, const DtObjectType&)> DtVrfObjectCreatedCallbackFunction;
58 typedef boost::function<void(bool, DtString, const DtUUID&, const DtEntityIdentifier&)> DtComputedRouteResponseCallbackFunction;
59 typedef boost::function<void (bool, DtIfComputeAerodromeResponse::ComputeFailureInformation)> DtComputedAerodromeResponseCallbackFunction;
60 
61 namespace makVrv
62 {
63  class DtDe;
64 }
65 
66 namespace makVrf
67 {
68  class DtGuiThreadNetworkCallbackManager;
69 
96  {
97  public:
98 
101 
103  static DtGuiThreadVrfRemoteController& instance(makVrv::DtDe& de);
104 
105  public:
108  DtVrfBackendSettingsManager& backendSettingsManager();
109 
112  DtVrfSimBackendManager& backendManager();
113 
115  DtVrfSpotReportManager& spotReportManager();
116 
118  DtVrfResourceManager& resourceManager();
119 
121  DtGuiThreadNetworkCallbackManager& messageHandler();
122 
123  public:
126 
128  virtual void rollbackToSnapshot(double simTime);
129 
137  virtual void newScenario(const DtScenario*, time_t startTimeOfDay = 12 * 3600, const DtChangeWeatherCommand& = DtChangeWeatherCommand());
139  virtual void newScenario(const DtFilename& terrainDatabase, time_t startTimeOfDay = 12 * 3600, const DtChangeWeatherCommand& = DtChangeWeatherCommand());
140 
145  virtual void importScenarioDescriptionFile(const std::string& file, DtSimulationAddress, const std::string& description ,
146  const std::map<std::string, std::string>& importData);
147 
154  virtual void createSimulationObjectGroup(const DtSimulationAddress&, const DtString& simulationObjectGroup,
155  const DtVector& createPosition, double offsetRotation, int createFlags, int force, bool inZipFile = false);
156 
159  virtual bool saveSimulationObjectGroup(const DtFilename& smsDirectory, const std::string& groupName,
160  const std::string& groupDescription, int creationFlags, const DtSimulationAddress& addr,
161  const std::map<DtString, DtString>& additionalInformation = std::map<DtString, DtString>(),
162  bool saveAsZipFile = false);
163 
166  virtual void exportScenarioDescriptionFile(const std::string& file, DtSimulationAddress, const std::string& description,
167  const std::map<std::string, std::string>& importData);
168 
184  virtual bool loadScenario(const DtScenarioLoadInformation&);
186  virtual bool loadScenario(const DtFilename&);
187  virtual bool importScenario(const DtFilename&);
188 
203  virtual void saveScenario(const DtScenario*, DtPreserveMappingsFcn fcn = 0, void* userData = 0,
204  bool saveScenarioToZipFile = false, bool queueSave = false, int putIntoPlayMode = 0);
205 
209  virtual void saveCheckpoints(const std::vector<DtScenario*>&, const DtFilename& scenarioName);
210 
212  virtual void clearSavingCheckpoints();
213 
216  virtual void takeSnapshot(DtSimulationAddress addr = DtSimSendToAll);
217 
220  virtual void takeBaseSnapshot();
221 
227  virtual void closeScenario(const DtFilename& databaseToOpen = "", bool forceCloseScenario = false);
228 
230  virtual void reinitializeScenario();
231 
233 
236 
239  virtual void setScenarioRunDuration(double time, bool duration = false);
240 
245  virtual void runScenario(bool useStartStopInteraction = false, DtSimulationAddress addr = DtSimSendToAll);
247  virtual void pauseScenario(bool useStartStopInteraction = false, DtSimulationAddress addr = DtSimSendToAll);
249  virtual void rewindScenario(DtSimulationAddress addr = DtSimSendToAll);
251  virtual void exitServer(DtSimulationAddress addr = DtSimSendToAll);
253  virtual void stepScenario(DtSimulationAddress addr = DtSimSendToAll);
255 
259  virtual void deleteObject(const DtUUID&, bool andDeleteFromOrbat = false, DtSimulationAddress addr = DtSimSendToAll);
260 
263 
267  virtual void removeObjectCreatedCallback(unsigned int);
268 
273  virtual void createWaypoint(
274  const DtSimulationAddress& addr,
275  const DtVector& geocentricPosition,
276  const std::string& uniqueName = "",
277  const std::string& label = "",
278  unsigned int requestId = 0);
279 
283  virtual unsigned int createWaypoint(
285  const DtSimulationAddress& addr,
286  const DtVector& geocentricPosition,
287  const std::string& uniqueName = "",
288  const std::string& label = "");
289 
291  virtual void modifyWaypoint(
292  const DtUUID& uuid,
293  std::string* uniqueName = 0,
294  std::string* label = 0,
295  DtVector* geocentricPosition = 0,
296  const DtSimulationAddress& addr = DtSimSendToAll);
297 
302  virtual void createRoute(
303  const DtSimulationAddress& addr,
304  const std::vector<DtVector>& vertices,
305  const std::string& uniqueName = "",
306  const std::string& label = "",
307  unsigned int rId = 0);
308 
312  virtual unsigned int createRoute(
314  const DtSimulationAddress& addr,
315  const std::vector<DtVector>& vertices,
316  const std::string& uniqueName = "",
317  const std::string& label = "");
318 
320  virtual void modifyRoute(
321  const DtUUID& uuid,
322  std::string* uniqueName = 0,
323  std::string* label = 0,
324  std::vector<DtVector>* vertices = 0,
325  const DtSimulationAddress& addr = DtSimSendToAll);
326 
331  virtual void createPhaseLine(
332  const DtSimulationAddress& addr,
333  const DtVector& dbPoint1,
334  const DtVector& dbPoint2,
335  const std::string& uniqueName = "",
336  const std::string& label = "",
337  unsigned int rId = 0);
338 
342  virtual unsigned int createPhaseLine(
344  const DtSimulationAddress& addr,
345  const DtVector& dbPoint1,
346  const DtVector& dbPoint2,
347  const std::string& uniqueName = "",
348  const std::string& label = "");
349 
351  virtual void modifyPhaseLine(
352  const DtUUID& uuid,
353  std::string* uniqueName = 0,
354  std::string* label = 0,
355  DtVector* newDbPoint1 = 0,
356  DtVector* newDbPoint2 = 0,
357  const DtSimulationAddress& addr = DtSimSendToAll);
358 
364  virtual void createControlArea(
365  const DtSimulationAddress& addr,
366  const std::vector<DtVector>& vertices,
367  const std::string& uniqueName = "",
368  const std::string& label = "",
369  unsigned int rId = 0);
370 
374  virtual unsigned int createControlArea(
376  const DtSimulationAddress& addr,
377  const std::vector<DtVector>& vertices,
378  const std::string& uniqueName = "",
379  const std::string& label = "");
380 
382  virtual void modifyControlArea(
383  const DtUUID& uuid,
384  std::string* uniqueName = 0,
385  std::string* label = 0,
386  std::vector<DtVector>* newVertices = 0,
387  const DtSimulationAddress& addr = DtSimSendToAll);
388 
394  virtual void createObstacle(
395  const DtSimulationAddress& addr,
396  const std::vector<DtVector>& vertices,
397  const std::string& uniqueName = "",
398  const std::string& label = "",
399  unsigned int rId = 0);
400 
404  virtual unsigned int createObstacle(
406  const DtSimulationAddress& addr,
407  const std::vector<DtVector>& vertices,
408  const std::string& uniqueName = "",
409  const std::string& label = "") ;
410 
412  virtual void modifyObstacle(
413  const DtUUID& uuid,
414  std::string* uniqueName = 0,
415  std::string* label = 0,
416  std::vector<DtVector>* newVertices = 0,
417  const DtSimulationAddress& addr = DtSimSendToAll);
418 
425  virtual void createDisaggregationArea(
426  const DtSimulationAddress& addr,
427  const std::vector<DtVector>& vertices,
428  const std::string& uniqueName = "",
429  const std::string& label = "",
430  unsigned int rId = 0);
431 
436  virtual unsigned int createDisaggregationArea(
438  const DtSimulationAddress& addr,
439  const std::vector<DtVector>& vertices,
440  const std::string& uniqueName = "",
441  const std::string& label = "") ;
442 
444  virtual void modifyDisaggregationArea(
445  const DtUUID& uuid,
446  std::string* uniqueName = 0,
447  std::string* label = 0,
448  std::vector<DtVector>* newVertices = 0,
449  const DtSimulationAddress& addr = DtSimSendToAll);
450 
461  virtual unsigned int createOverlayObject(
462  const DtSimulationAddress& addr,
463  const DtEntityType& type,
464  const std::vector<DtVector>& vertices,
465  const DtForceType& force,
466  const std::string& name,
467  const std::string& label,
468  int color,
469  const std::string& parentName,
470  bool projection,
471  bool closedFigure,
472  const DtAppearance& appearance = DtAppearance::nullAppearance(),
473  const std::string& attachTo = "",
474  char* userData = 0,
475  int dataSize = 0,
476  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
477  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
479 
481  virtual void setPhysicalLineWidth(const DtSimulationAddress& addr,
482  const DtUUID& entityId, double w);
483 
485  virtual void setPhysicalLineHeight(const DtSimulationAddress& addr,
486  const DtUUID& entityId, double h);
487 
489  virtual void setCeiling(const DtSimulationAddress& addr,
490  const DtUUID& entityId, double c);
491 
494  virtual void createIndirectArtillery(
495  const DtIfIndirectArtilleryData& params,
496  const std::string& overlayParent,
497  const DtSimulationAddress& addr);
498 
503  virtual void createComputedRoute(
504  const DtSimulationAddress& addr,
505  const DtVector& sourcePoint,
506  const DtVector& destPoint,
507  const std::list<std::string>& obstacleTypes,
508  const std::list<std::string>& pathTypes,
509  const std::string& uniqueName = "",
510  const std::string& label = "",
511  const std::string& overlay = "",
512  const int forceId = DtForceOther,
513  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
514  unsigned int requestId = 0);
515 
517  virtual void cancelCreateComputedRoute(
518  const DtSimulationAddress& addr,
519  unsigned int requestId);
520 
524  virtual void createComputedRoute(
526  const DtSimulationAddress& addr,
527  const DtVector& sourcePoint,
528  const DtVector& destPoint,
529  const std::list<std::string>& obstacleTypes,
530  const std::list<std::string>& pathTypes,
531  const std::string& uniqueName = "",
532  const std::string& label = "",
533  const std::string& overlay = "",
534  const int forceId = DtForceOther,
535  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>());
536 
538  virtual void cancelComputeAerodrome(
539  const DtSimulationAddress& addr,
540  unsigned int requestId);
541 
545  virtual void computeAerodrome(
546  const DtSimulationAddress& addr,
547  const std::string& icao = "",
548  const DtUUID& areaUUID = DtUUID::nullUUID(),
549  const std::string& overlay = "",
550  const int forceId = DtForceOther,
551  unsigned int requestId = 0,
552  const int color = 0);
554 
557 
560  virtual unsigned int createEntity(DtVrfObjectCreatedCallbackFunction fcn, DtSimulationAddress addr, const DtEntityCreationData&,
561  const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
562  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>());
563 
564  virtual void createEntity(DtSimulationAddress addr, const DtEntityCreationData&,
565  const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
566  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>());
567 
569  virtual void createEntity(
570  const DtSimulationAddress& addr,
571  const DtEntityType& type,
572  const DtVector& geocentricPosition,
573  DtForceType force,
574  DtReal heading,
575  const std::string& uniqueName = "",
576  const std::string& label = "",
577  bool groundClamp = true, const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
578  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>(),
579  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
580  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>());
581 
585  virtual unsigned int createEntity(
587  const DtSimulationAddress& addr,
588  const DtEntityType& type,
589  const DtVector& geocentricPosition,
590  DtForceType force,
591  DtReal heading,
592  const std::string& uniqueName = "",
593  const std::string& label = "",
594  bool groundClamp = true, const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
595  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>(),
596  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
597  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>());
598 
600  virtual unsigned int createAggregate(
602  const DtSimulationAddress& addr,
603  const DtEntityType& type,
604  const DtVector& geocentricPosition,
605  DtForceType force,
606  DtReal heading,
607  const std::string& uniqueName,
608  const std::string& label = "",
609  DtAggregateState initialAggregateState = DtDisaggregated,
610  const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
611  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>(),
612  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
613  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
614  bool createSubordinates = true);
615 
617  virtual void aggregateAs(const std::vector<DtUUID>& uuids, const DtEntityType& type,
618  int force, DtAggregateState initialAggregateState, DtSimulationAddress addr, unsigned int requestId = 0);
619 
623  virtual unsigned int aggregateAs(DtVrfObjectCreatedCallbackFunction fcn,
624  const std::vector<DtUUID>& uuids, const DtEntityType& type,
625  int force, DtAggregateState initialAggregateState, DtSimulationAddress addr);
626 
629  virtual void addToOrganization(const DtUUID& child, const DtUUID& superior,
630  DtSimulationAddress addr = DtSimSendToAll);
631 
635  virtual void addToForceLevelOrganization(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
636 
639  virtual void removeFromOrganization(
640  const DtUUID& uuid,
641  const DtSimulationAddress& addr = DtSimSendToAll);
643 
649 
651  virtual void createEnvironmentalObject(DtSimulationAddress addr, DtEntityType, int force, const std::vector<DtVector>&,
653  const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
654  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>());
655 
665  virtual void sendVrfObjectModifyMsg(
666  const DtSimulationAddress& addr,
667  const DtUUID& uuid,
668  const std::string* name = 0,
669  const std::vector<DtVector>& = std::vector<DtVector>(),
670  int* force = 0,
671  double* heading = 0,
672  const std::string* label = 0,
673  DtAppearance* appearance = 0,
674  const std::string* overlayParent = 0,
675  const std::string* userData = 0,
676  const std::map<std::string, std::string>* extendedData = 0,
677  const std::map<int, DtString>* extendedLabels = 0,
678  bool mergeExtendedData = true);
679 
683  virtual void sendVrfObjectCreateMsg(
684  const DtSimulationAddress& addr,
685  unsigned int requestId,
686  const std::string& name,
687  const DtObjectType& type,
688  const std::vector<DtVector>& vertices,
689  const std::string& label,
690  const DtAppearance& appearance,
691  DtForceType force,
692  bool projection,
693  bool closedFigure,
694  DtReal heading,
695  bool createSubObjects,
696  const std::string& overlayParent = "",
697  bool clampToGroundFlag = true,
698  const std::string& initialFormation = "",
699  DtAggregateState initialAggregateState = DtDisaggregated,
700  const std::string& userData = "", const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
701  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>(),
702  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
703  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
704  const DtUUID& uuidForCreation = DtUUID::nullUUID(),
705  double pitch = 0.);
706 
709  virtual unsigned int addCreateCallbackFunction(DtVrfObjectCreatedCallbackFunction);
710 
713  virtual unsigned int addCreateComputedRouteCallbackFunction(DtComputedRouteResponseCallbackFunction);
714 
716  virtual void removeCreateComputedRouteCallbackFunction(int rId);
717 
720  virtual unsigned int addComputeAerodromeCallbackFunction(DtComputedAerodromeResponseCallbackFunction);
721 
723  virtual void removeComputeAerodromeCallbackFunction(int rId);
724 
731  virtual void sendVrfOverlayObjectModifyMsg(
732  const DtSimulationAddress& addr,
733  const DtUUID& uuid,
734  int* color = 0,
735  const std::string* parentName = 0,
736  const DtUUID* attachTo = 0,
737  const std::string* userData = 0);
738 
740  virtual void sendVrfIndirectArtilleryObjectModifyMsg(
741  const DtSimulationAddress& addr,
742  const DtUUID& uuid,
743  const DtIfIndirectArtilleryData& mod);
745 
751 
753  virtual void setLabel(
754  const DtUUID& uuid, const std::string& label,
755  const DtSimulationAddress& addr = DtSimSendToAll);
756 
758  virtual void setExtendedLabels(
759  const DtUUID& uuid, const std::map<int, DtString>& extendedLabels,
760  const DtSimulationAddress& addr = DtSimSendToAll);
761 
763  virtual void setOverlayParent(
764  const DtUUID& uuid, const std::string& label,
765  const DtSimulationAddress& addr = DtSimSendToAll);
766 
768  virtual void setAltitude(
769  const DtUUID& uuid, double altitude, bool aboveGroundLevel = false,
770  const DtSimulationAddress& addr = DtSimSendToAll);
771 
773  virtual void setLocation(
774  const DtUUID& uuid, DtVector coord,
775  const DtSimulationAddress& addr = DtSimSendToAll);
776 
780  virtual void setAppearance(
781  const DtUUID& uuid, int appearance,
782  const DtSimulationAddress& addr = DtSimSendToAll);
783 
787  virtual void setCapabilities(
788  const DtUUID& uuid, int capabilities,
789  const DtSimulationAddress& addr = DtSimSendToAll);
790 
792  virtual void setHeading(
793  const DtUUID& uuid, double degrees,
794  const DtSimulationAddress& addr = DtSimSendToAll);
795 
797  virtual void setForce(
798  const DtUUID& uuid, DtForceType force,
799  const DtSimulationAddress& addr = DtSimSendToAll);
800 
802  virtual void setResource(const DtUUID& uuid,
803  const char* resourceType, double value,
804  const DtSimulationAddress& addr = DtSimSendToAll);
805 
809  virtual void setRulesOfEngagement(
810  const DtUUID& uuid, const char* rulesType,
811  const DtSimulationAddress& addr = DtSimSendToAll);
812 
814  virtual void setSectorOfResponsibility(
815  const DtUUID& uuid, double center, double size,
816  const DtSimulationAddress& addr = DtSimSendToAll);
817 
821  virtual void setSpeed(
822  const DtUUID& uuid, double speed,
823  const DtSimulationAddress& addr = DtSimSendToAll);
824 
827  virtual void setCurrentSpeed(
828  const DtUUID& uuid, double speed,
829  const DtSimulationAddress& addr = DtSimSendToAll);
830 
832  virtual void setTarget(
833  const DtUUID& uuid, const DtUUID& target,
834  const DtSimulationAddress& addr = DtSimSendToAll);
835 
838  virtual void setSuperior(
839  const DtUUID& uuid, const DtUUID& superior,
840  const DtSimulationAddress& addr = DtSimSendToAll);
841 
845  virtual void setTaskedBySuperior(const DtUUID& uuid,
846  const DtSimulationAddress& addr = DtSimSendToAll);
847 
849  virtual void setConcealed(const DtUUID& uuid,
850  bool yes, const DtSimulationAddress& addr = DtSimSendToAll);
851 
853  virtual void setEmitter(const DtUUID& uuid,
854  int emitterId, bool on,
855  const DtSimulationAddress& addr = DtSimSendToAll);
856 
858  virtual void setEmergencyBeacon(const DtUUID& uuid,
859  bool on,
860  const DtSimulationAddress& addr = DtSimSendToAll);
861 
863  virtual void setIff(const DtUUID& uuid,
864  bool mode1on, int mode1code,
865  bool mode2on, int mode2code,
866  bool mode3on, int mode3code,
867  bool mode4on, int mode4code,
868  DtIffAtcNavaidsAltParm4 altParm4,
869  bool modeCon, bool useAltModeC,
870  bool modeSon, bool emergency,
871  bool flash, bool sti, bool modeSTcasI,
872  int pin, bool mode5LevelSelection,
873  unsigned int messageFormatsPresent, unsigned int nationalOrigin,
874  unsigned int navigationSource, unsigned int figureOfMerit,
875  const DtSimulationAddress& addr = DtSimSendToAll);
876 
880  virtual void restore(const DtUUID& uuid,
881  const DtSimulationAddress& addr = DtSimSendToAll);
882 
885  virtual void setDestroyed(const DtUUID& uuid,
886  const DtSimulationAddress& addr = DtSimSendToAll);
887 
889  virtual void setLifeformWeaponState(
890  const DtUUID& uuid, DtWeaponState weapon,
891  const DtSimulationAddress& addr = DtSimSendToAll);
892 
894  virtual void setSkillLevel(
895  const DtUUID& uuid, const unsigned int level,
896  const DtSimulationAddress& addr = DtSimSendToAll);
897 
899  virtual void setLifeformPosture(
900  const DtUUID& uuid, DtLifeformState posture,
901  const DtSimulationAddress& addr = DtSimSendToAll);
902 
904  virtual void setAggregateFormation(
905  const DtUUID& leader, const std::string& formationName,
906  const DtSimulationAddress& addr = DtSimSendToAll);
907 
911  virtual void reorganizeAggregate(const DtUUID& leader,
912  const DtSimulationAddress& addr = DtSimSendToAll);
913 
917  virtual void disaggregate(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
918 
922  virtual void aggregate(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
923 
926  virtual void sendSetDataMsg(
927  const DtUUID& recipient, DtSetDataRequest* msg,
928  const DtSimulationAddress& addr = DtSimSendToAll,
929  bool updateScenario = true);
930 
933  virtual void sendSetRequest(const DtSetDataRequest& s, const DtUUID& uuid,
934  const DtSimulationAddress& addr = DtSimSendToAll, bool updateScenario = true);
935 
937  virtual void sendSetRequest(const DtSetDataRequest& s, const std::vector<DtUUID>& names,
938  const DtSimulationAddress& addr = DtSimSendToAll, bool updateScenario = true);
939 
945  virtual void requestIndirectArtilleryInformation(const DtUUID&);
947 
951 
954  virtual void moveAlongRoute(
955  const DtUUID& entity, const DtUUID& route,
956  const DtSimulationAddress& addr = DtSimSendToAll);
957 
960  virtual void moveToWaypoint(
961  const DtUUID& entity, const DtUUID& waypoint,
962  const DtSimulationAddress& addr = DtSimSendToAll);
963 
967  virtual void moveToLocation(
968  const DtUUID& entity, const DtVector& destinationLocation,
969  const DtSimulationAddress& addr = DtSimSendToAll);
970 
973  virtual void patrolBetweenWaypoints(
974  const DtUUID& entity,
975  const DtUUID& waypoint1, const DtUUID& waypoint2,
976  const DtSimulationAddress& addr = DtSimSendToAll);
977 
980  virtual void patrolAlongRoute(
981  const DtUUID& entity, const DtUUID& route,
982  const DtSimulationAddress& addr = DtSimSendToAll);
983 
989  virtual void followEntity(
990  const DtUUID& entity,
991  const DtUUID& leader, const DtVector& offset,
992  const DtSimulationAddress& addr = DtSimSendToAll);
993 
996  virtual void wait(
997  const DtUUID& entity,
998  const DtSimulationAddress& addr = DtSimSendToAll);
999 
1002  virtual void waitDuration(
1003  const DtUUID& entity, DtTime duration,
1004  const DtSimulationAddress& addr = DtSimSendToAll);
1005 
1009  virtual void waitElapsed(
1010  const DtUUID& entity, DtTime elapsed,
1011  const DtSimulationAddress& addr = DtSimSendToAll);
1012 
1017  virtual void requestCurrentTasks(const DtUUID& entity);
1018 
1022  virtual void subscribeForTaskInformation(const DtUUID& entity);
1023 
1026  virtual void unsubscribeForTaskInformation(const DtUUID& entity);
1027 
1031  virtual void sendTaskMsg(
1032  const DtUUID& recipient, DtSimTask* task,
1033  const DtSimulationAddress& addr = DtSimSendToAll);
1034 
1036  virtual void sendTaskRequest(const DtSimTask& s, const std::vector<DtUUID>& names, const DtSimulationAddress& addr = DtSimSendToAll);
1038  virtual void sendTaskRequest(const DtSimTask& s, const DtUUID& uuid, const DtSimulationAddress& addr = DtSimSendToAll);
1039 
1044  virtual void requestTasksAndSetsFor(const std::vector<DtUUID>& name);
1046 
1053 
1056  virtual void abandonPlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1057 
1060  virtual void skipTask(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1061 
1063  virtual void cancelReactiveTask(const DtUUID& uuid, std::string scriptId, DtSimulationAddress addr = DtSimSendToAll);
1064 
1067  virtual void restartPlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1068 
1070  virtual void assignPlanByName(const DtUUID& uuid, const DtPlan*, DtSimulationAddress addr = DtSimSendToAll);
1071 
1073  virtual void assignMultiplePlanByName(std::vector<DtUUID> names, const DtPlan*, DtSimulationAddress addr = DtSimSendToAll);
1074 
1080  virtual void requestPlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1081 
1087  virtual void subscribePlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1088 
1095  virtual void requestMultiplePlans(std::vector<DtUUID> names, DtSimulationAddress addr = DtSimSendToAll);
1096 
1101  virtual void requestGlobalPlans(DtSimulationAddress addr = DtSimSendToAll);
1102 
1105  virtual void assignGlobalPlanByName(const DtUUID& name, const DtPlan*, DtSimulationAddress addr);
1106 
1108  virtual void deleteGlobalPlan(const DtUUID&, DtSimulationAddress addr);
1109 
1111  virtual void launchGlobalPlan(const DtUUID&, DtSimulationAddress addr);
1113 
1115  virtual void setTimeoutInterval(int);
1116 
1122  virtual void requestDIGuyAppearancesAndAnimations(const std::vector<DtUUID>& name);
1123 
1130  virtual void requestResourcesFor(std::vector<DtUUID> names, DtSimulationAddress addr = DtSimSendToAll);
1131 
1133  virtual void sendMessageToObject(const DtVrfObjectMessage&, DtSimulationAddress addr = DtSimSendToAll);
1134 
1136  virtual void sendObjectMessageAndDeleteContent(DtVrfObjectMessage* message, DtSimulationAddress addr = DtSimSendToAll);
1137 
1139  virtual void sendSensorFieldOfViewControlInteraction(const DtSensorFieldOfViewControlInteractionData& interData);
1140 
1142  virtual void sendSensorFieldOfViewControlInteractionAndDelete(DtSensorFieldOfViewControlInteractionData* data);
1143 
1145  virtual void sendDetonationInteraction(const DtDetonationInteractionData& interData);
1146 
1148  virtual void sendDetonationInteractionAndDelete(DtDetonationInteractionData* data);
1149 
1151  virtual void requestForces(DtSimulationAddress addr);
1152 
1155  virtual void requestDoctrines();
1156 
1159  virtual void requestAssignedDoctrines();
1160 
1162  virtual unsigned long generateRequestId();
1163 
1165  virtual void quitAllBackends();
1166 
1167  //-------------------------------------------------------
1169  //-------------------------------------------------------
1170 
1175  virtual void takeControlOf(const DtUUID&, const std::set<std::string>& functionalGroups = std::set<std::string>(),
1176  const DtSimulationAddress& addr = DtSimSendToAll);
1177 
1180  virtual void releaseControlOf(const DtUUID&, const std::set<std::string>& functionalGroups = std::set<std::string>(),
1181  const DtSimulationAddress& addr = DtSimSendToAll);
1182 
1185  virtual void sendJoystickControl(const DtUUID&, const std::string& functionGroup,
1186  const std::string& function, double value, bool repeat = false, const DtSimulationAddress& addr = DtSimSendToAll);
1187 
1188  public:
1189 
1191  virtual void addSetCreatorFcn(const DtSetMessageType&, DtSetDataRequestCreatorFcn);
1192 
1194  virtual void addTaskCreatorFcn(const DtSimTaskMessageType&, DtSimTaskCreatorFcn);
1195 
1197  virtual void addInterfaceContentCreatorFcn(int t, DtInterfaceContentCreatorFcn);
1198 
1200  virtual void addAdminContentCreatorFcn(const DtAdminContentMessageType&, DtAdminContentCreatorFcn);
1201 
1203  virtual void addConditionCreatorFcn(std::string, int, DtCondExprCreatorFcn);
1204 
1206  virtual void addReportCreatorFcn(const DtSimReportMessageType&, DtSimReportCreatorFcn);
1207 
1209  virtual void addObjectMessageCreatorFcn(int, DtVrfObjectMessageCreatorFcn);
1210 
1212  virtual void addSimulationCommandCreatorFcn(const DtSimCommandMessageType&, DtSimCommandCreatorFcn);
1213 
1216  virtual void sendMessage(const DtSimInterfaceContent& message, DtSimulationAddress addr = DtSimSendToAll);
1217  virtual void sendMessageAndDeleteContent(DtSimInterfaceContent* message, DtSimulationAddress addr = DtSimSendToAll);
1218 
1225  virtual void embarkOn(const std::vector<DtUUID>& children, const DtUUID& parent,
1226  bool useSlot = true, const DtVector& overridePosition = DtVector::zero(),
1227  int embarkInSlot = -1, const DtString& slotName = "*", const DtString& slotType = "*",
1228  bool chooseAnyIfNotAvailable = true, DtSimulationAddress addr = DtSimSendToAll);
1229 
1231  virtual void disembark(const std::vector<DtUUID>& children, DtSimulationAddress addr = DtSimSendToAll);
1232 
1234  virtual void disembarkAll(const std::vector<DtUUID>& parents, DtSimulationAddress addr = DtSimSendToAll);
1235 
1237  virtual void attachTo(const std::vector<DtUUID>& ids, const DtUUID& parent);
1238 
1240  virtual void detachAll(const std::vector<DtUUID>& ids);
1241 
1244  virtual void logObjectConsoleToFile(const DtUUID& uuid, const std::string& filename);
1245 
1248  virtual void stopLoggingObjectConsoleToFile(const DtUUID& uuid);
1249 
1251  virtual void setObjectNotifyLevel(const DtUUID& uuid, int);
1252 
1254  virtual void setTimeOfDay(time_t seconds);
1255  virtual void setTimeOfDay(int hours, int minutes, int seconds);
1256 
1258  virtual void setDateAndTimeOfDay(time_t seconds);
1259  virtual void setDateAndTimeOfDay(int year, int month, int day, int hours, int minutes, int seconds);
1260 
1262  virtual void setUseDayNightIlluminationModel(bool);
1263 
1265  virtual void setAggregateOnCreate(bool);
1266  bool aggregateOnCreate() const;
1267 
1270  virtual void requestScenarioDescription(DtSimulationAddress);
1271 
1273  virtual void setScenarioDescription(const DtString&, DtSimulationAddress addr = DtSimSendToAll);
1274 
1276  virtual void setScenarioName(const DtString&, DtSimulationAddress addr = DtSimSendToAll);
1277 
1279  virtual void addContentMessagesThatModifyScenario(int);
1280  virtual void removeContentMessagesThatModifyScenario(int);
1281  const std::set<int>& contentMessagesThatModifyScenario() const { return myContentMessagesThatModifyScenario; };
1282 
1283  public:
1285  virtual void sendLoggerSetFilename(std::string filename);
1286 
1287  virtual void sendLoggerRecordMessage();
1288 
1289  virtual void sendLoggerStopMessage();
1290 
1291  protected:
1293  virtual void processObjectCreated(DtSimMessage*);
1294 
1296  virtual void processComputedRouteCreated(DtSimMessage*);
1297 
1299  virtual void processAerodromeCreated(DtSimMessage*);
1300 
1302  virtual void setActivated(bool);
1303 
1311  virtual bool addStatementsAndSendPlan(const DtPlan& plan, DtIfPlan& planMsg,
1312  const DtSimulationAddress& addr = DtSimSendToAll,
1313  int *retiStatus = 0, DtString* retsStmt = 0);
1314 
1316  virtual void indirectArtilleryCreated(DtString, const DtUUID&, const DtEntityIdentifier&, DtIfIndirectArtilleryData);
1317 
1319  virtual void checkIfContentMessageShouldMarkScenarioAsModified(const DtSimInterfaceContent&);
1320 
1321  public:
1325 
1327  boost::signals2::signal<void (const DtScenario*)> signal_loadedScenario;
1328 
1330  boost::signals2::signal<void ()> signal_communicationDriverStarted;
1331 
1333  boost::signals2::signal<void ()> signal_scenarioModified;
1334 
1336  boost::signals2::signal<void (const DtScenarioLoadInformation&)> signal_loadScenario;
1337 
1339  boost::signals2::signal<void (const DtScenario*, DtPreserveMappingsFcn fcn, void* userData, bool saveToZipFile,
1340  bool queueSave, int putIntoPlayMode)> signal_saveScenario;
1341 
1343  boost::signals2::signal<void (double)> signal_rollbackToSnapshot;
1344 
1347  boost::signals2::signal<void (std::vector<DtScenario*>, DtFilename)> signal_saveCheckpoints;
1348 
1350  boost::signals2::signal<void ()> signal_clearSavingCheckpoints;
1351 
1354  boost::signals2::signal<void (const DtUUID&, bool& shouldDelete)> signal_shouldDeleteObject;
1355 
1357  boost::signals2::signal<void ()> signal_closeScenario;
1358 
1360  boost::signals2::signal<void ()> signal_reinitializeScenario;
1361 
1364  boost::signals2::signal<void (DtIfCreateVrfObject&)> signal_aboutToSendCreateMessage;
1365 
1367  boost::signals2::signal<void (DtIfModifyVrfObject&)> signal_aboutToSendModifyMessage;
1368 
1370 
1371  protected:
1373  virtual void slot_preTick(makVrv::DtDe* de);
1374 
1375  protected:
1377 
1378  typedef std::map<unsigned int, DtVrfObjectCreatedCallbackFunction> CreateCallbacks;
1379 
1381 
1382  typedef std::map<unsigned int, DtComputedRouteResponseCallbackFunction> ComputedRouteCallbacks;
1383 
1385 
1386  typedef std::map<unsigned int, DtComputedAerodromeResponseCallbackFunction> ComputedAerodromeCallbacks;
1387 
1389 
1391  };
1392 }
class DtIfPlan:
Definition: ifPlan.h:61
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
boost::signals2::signal< void(DtIfCreateVrfObject &)> signal_aboutToSendCreateMessage
Sent when create message is about to be sent.
Definition: guiThreadVrfRemoteController.h:1364
Definition: environmentalCreationData.h:27
boost::signals2::signal< void(const DtScenario *)> signal_loadedScenario
Called after both signal_new and signal_load scenario.
Definition: guiThreadVrfRemoteController.h:1327
DtSetDataRequestFactory::DtCreatorFcn DtSetDataRequestCreatorFcn
Definition: setDataRequestFactory.h:41
Definition: scenario.h:52
std::map< unsigned int, DtComputedRouteResponseCallbackFunction > ComputedRouteCallbacks
Definition: guiThreadVrfRemoteController.h:1382
DT_DLL_VRVCORE DtTaitBryan level(const DtCoordinateSystem &cs, const DtVector &localOrigin, double topoHeading)
Returns a level orientation with the topographic heading.
boost::signals2::signal< void(double)> signal_rollbackToSnapshot
Signal to roll back to the give sim time.
Definition: guiThreadVrfRemoteController.h:1343
voidpf void uLong size
Definition: ioapi.h:39
std::map< unsigned int, DtComputedAerodromeResponseCallbackFunction > ComputedAerodromeCallbacks
Definition: guiThreadVrfRemoteController.h:1386
Contains makVrv:DtSelectionManager class.
boost::signals2::signal< void()> signal_communicationDriverStarted
Signal sent when the communication driver has been started.
Definition: guiThreadVrfRemoteController.h:1330
std::map< unsigned int, DtVrfObjectCreatedCallbackFunction > CreateCallbacks
Definition: guiThreadVrfRemoteController.h:1378
This class is a thread-safe API to the DtVrfRemoteController.
Definition: guiThreadVrfRemoteController.h:95
Definition: vrfSpotReportManager.h:53
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
boost::signals2::signal< void(DtIfModifyVrfObject &)> signal_aboutToSendModifyMessage
Sent when about to send modify message. Can change message to effect content.
Definition: guiThreadVrfRemoteController.h:1367
boost::signals2::signal< void(const DtScenario *, DtPreserveMappingsFcn fcn, void *userData, bool saveToZipFile, bool queueSave, int putIntoPlayMode)> signal_saveScenario
Sends signal to save the specified scenario.
Definition: guiThreadVrfRemoteController.h:1340
Definition: entityCreationData.h:27
DtSimInterfaceContent *(* DtInterfaceContentCreatorFcn)()
Definition: interfaceContentFactory.h:21
This class will hold information that can be used to modify a overlay object after it has been create...
Definition: vrfRemoteController.h:2467
DtAdminContentFactory::DtCreatorFcn DtAdminContentCreatorFcn
Definition: adminContentFactory.h:36
class DtIfModifyVrfObject:
Definition: ifModifyVrfObject.h:50
Definition: objectType.h:27
DtSimTaskFactory::DtCreatorFcn DtSimTaskCreatorFcn
Definition: simTaskFactory.h:41
Definition: vrfResourceManager.h:28
CreateCallbacks myCreateCallbacks
Definition: guiThreadVrfRemoteController.h:1380
DtSetDataRequest is an abstract base class from which real setDataRequests can derive.
Definition: setDataRequest.h:40
static const DtUUID & nullUUID()
boost::signals2::signal< void()> signal_clearSavingCheckpoints
Sends a signal to clear out all the checkpoints that have not yet been saved.
Definition: guiThreadVrfRemoteController.h:1350
Contains makVrv::DtVirtualBaseClass class.
The Master DtVrfBackendSettingsManager.
Definition: vrfBackendSettingsManager.h:39
DtSimReportFactory::DtCreatorFcn DtSimReportCreatorFcn
Definition: simReportFactory.h:38
File: simMsg.h.
Definition: simMessage.h:35
boost::signals2::signal< void()> signal_scenarioModified
Signal send whenever the scenario has been modified by the user.
Definition: guiThreadVrfRemoteController.h:1333
DtVrfObjectMessage *(* DtVrfObjectMessageCreatorFcn)()
Creator function for DtVrfObjectMessage instances.
Definition: vrfObjectMessageFactory.h:21
ComputedRouteCallbacks myCreateComputedRouteCallbacks
Definition: guiThreadVrfRemoteController.h:1384
Contains makVrv::DtEntityState class.
The DtSensorFieldOfViewControlInteractionContents provides the data contents of a SensorFieldOfViewCo...
Definition: sensorFieldOfViewControlInteractionData.h:25
A DtSimCommand subclass which specifies a change to the weather settings for the specified weather ar...
Definition: changeWeatherCommand.h:29
The base class for all messages to/from a specific DtVrfObject.
Definition: vrfObjectMessage.h:30
The DtDetonationInteractionData provides the data contents of a DIS DetonationInteraction.
Definition: detonationInteractionData.h:25
boost::signals2::signal< void()> signal_reinitializeScenario
Signal send after signal to reinitialize scenario.
Definition: guiThreadVrfRemoteController.h:1360
DtSimCommand *(* DtSimCommandCreatorFcn)()
Definition: simCommandFactory.h:20
class DtPlan:
Definition: plan.h:91
Contains makVrf::DtSharedNetworkSignaler class.
boost::function< void(DtString, const DtUUID &, const DtEntityIdentifier &, const DtObjectType &)> DtVrfObjectCreatedCallbackFunction
Definition: guiThreadVrfRemoteController.h:55
boost::function< void(bool, DtString, const DtUUID &, const DtEntityIdentifier &)> DtComputedRouteResponseCallbackFunction
Definition: guiThreadVrfRemoteController.h:58
This class receives messages from the VR-Forces Simulation Engine (and other DIS/HLA messages) and in...
Definition: guiThreadNetworkCallbackManager.h:75
Data container for Indirect Artillery.
Definition: ifModifyIndirectArtilleryObject.h:28
The class that is the interface between the GUI and the back-end.
Definition: queuedManager.h:26
bool(* DtPreserveMappingsFcn)(void *usr)
Used by saveScenario to determine if original (true) or new mappings should be saved.
Definition: vrfRemoteController.h:89
bool myAggregateOnCreate
Definition: guiThreadVrfRemoteController.h:1376
DtSimTask is an abstract base class from which real tasks can derive.
Definition: simTask.h:31
Maintains and signals state of the simulation engines that are currently connected to the GUI...
Definition: vrfSimBackendManager.h:73
std::set< int > myContentMessagesThatModifyScenario
Definition: guiThreadVrfRemoteController.h:1390
boost::signals2::signal< void()> signal_closeScenario
Sent when the scenario is closing.
Definition: guiThreadVrfRemoteController.h:1357
class DtIfVrfObjectCreated:
Definition: ifVrfObjectCreated.h:32
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Definition: simInterfaceContent.h:45
boost::signals2::signal< void(const DtUUID &, bool &shouldDelete)> signal_shouldDeleteObject
Sent before deleting the object, set the shouldDeleteObject flag to false to not delete the specified...
Definition: guiThreadVrfRemoteController.h:1354
ComputedAerodromeCallbacks myComputedAerodromeCallbacks
Definition: guiThreadVrfRemoteController.h:1388
voidpf uLong offset
Definition: ioapi.h:42
Definition: scenario.h:615
boost::signals2::signal< void(const DtScenarioLoadInformation &)> signal_loadScenario
Calls down to simulation to load the scenario based on load scenario message.
Definition: guiThreadVrfRemoteController.h:1336
const std::set< int > & contentMessagesThatModifyScenario() const
Definition: guiThreadVrfRemoteController.h:1281
DtSimCondExpr *(* DtCondExprCreatorFcn)()
Definition: condExprFactory.h:28
boost::function< void(bool, DtIfComputeAerodromeResponse::ComputeFailureInformation)> DtComputedAerodromeResponseCallbackFunction
Definition: guiThreadVrfRemoteController.h:59
class DtIfCreateVrfObject:
Definition: ifCreateVrfObject.h:84
Definition: adminMessage.h:20

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)