VR-Forces 5.0.3 Developer's Guide
 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 
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&)> 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 
100  {
101  public:
102 
105 
107  static DtGuiThreadVrfRemoteController& instance(makVrv::DtDe& de);
108 
109  public:
112  DtVrfBackendSettingsManager& backendSettingsManager();
113 
116  DtVrfSimBackendManager& backendManager();
117 
119  DtVrfSpotReportManager& spotReportManager();
120 
122  DtVrfResourceManager& resourceManager();
123 
125  DtGuiThreadNetworkCallbackManager& messageHandler();
126 
127  public:
130 
132  virtual void rollbackToSnapshot(double simTime);
133 
141  virtual void newScenario(const DtScenario*, time_t startTimeOfDay = 12 * 3600, const DtChangeWeatherCommand& = DtChangeWeatherCommand());
143  virtual void newScenario(const DtFilename& terrainDatabase, time_t startTimeOfDay = 12 * 3600, const DtChangeWeatherCommand& = DtChangeWeatherCommand());
144 
149  virtual void importScenarioDescriptionFile(const std::string& file, DtSimulationAddress, const std::string& description ,
150  const std::map<std::string, std::string>& importData);
151 
158  virtual void createSimulationObjectGroup(const DtSimulationAddress&, const DtString& simulationObjectGroup,
159  const DtVector& createPosition, double offsetRotation, int createFlags, int force, bool inZipFile = false);
160 
163  virtual bool saveSimulationObjectGroup(const DtFilename& smsDirectory, const std::string& groupName,
164  const std::string& groupDescription, int creationFlags, const DtSimulationAddress& addr,
165  const std::map<DtString, DtString>& additionalInformation = std::map<DtString, DtString>(),
166  bool saveAsZipFile = false);
167 
170  virtual void exportScenarioDescriptionFile(const std::string& file, DtSimulationAddress, const std::string& description,
171  const std::map<std::string, std::string>& importData);
172 
188  virtual bool loadScenario(const DtScenarioLoadInformation&);
190  virtual bool loadScenario(const DtFilename&);
191  virtual bool importScenario(const DtFilename&);
192 
207  virtual void saveScenario(const DtScenario*, DtPreserveMappingsFcn fcn = 0, void* userData = 0,
208  bool saveScenarioToZipFile = false, bool queueSave = false, int putIntoPlayMode = 0);
209 
213  virtual void saveCheckpoints(const std::vector<DtScenario*>&, const DtFilename& scenarioName);
214 
216  virtual void clearSavingCheckpoints();
217 
220  virtual void takeSnapshot(DtSimulationAddress addr = DtSimSendToAll);
221 
224  virtual void takeBaseSnapshot();
225 
231  virtual void closeScenario(const DtFilename& databaseToOpen = "", bool forceCloseScenario = false);
232 
234  virtual void reinitializeScenario();
235 
237 
240 
243  virtual void setScenarioRunDuration(double time, bool duration = false);
244 
249  virtual void runScenario(bool useStartStopInteraction = false, DtSimulationAddress addr = DtSimSendToAll);
251  virtual void pauseScenario(bool useStartStopInteraction = false, DtSimulationAddress addr = DtSimSendToAll);
253  virtual void rewindScenario(DtSimulationAddress addr = DtSimSendToAll);
255  virtual void exitServer(DtSimulationAddress addr = DtSimSendToAll);
257  virtual void stepScenario(DtSimulationAddress addr = DtSimSendToAll);
259 
263  virtual void deleteObject(const DtUUID&, bool andDeleteFromOrbat = false, DtSimulationAddress addr = DtSimSendToAll);
264 
267 
271  virtual void removeObjectCreatedCallback(unsigned int);
272 
277  virtual void createWaypoint(
278  const DtSimulationAddress& addr,
279  const DtVector& geocentricPosition,
280  const std::string& uniqueName = "",
281  const std::string& label = "",
282  unsigned int requestId = 0);
283 
287  virtual unsigned int createWaypoint(
289  const DtSimulationAddress& addr,
290  const DtVector& geocentricPosition,
291  const std::string& uniqueName = "",
292  const std::string& label = "");
293 
295  virtual void modifyWaypoint(
296  const DtUUID& uuid,
297  std::string* uniqueName = 0,
298  std::string* label = 0,
299  DtVector* geocentricPosition = 0,
300  const DtSimulationAddress& addr = DtSimSendToAll);
301 
306  virtual void createRoute(
307  const DtSimulationAddress& addr,
308  const std::vector<DtVector>& vertices,
309  const std::string& uniqueName = "",
310  const std::string& label = "",
311  unsigned int rId = 0);
312 
316  virtual unsigned int createRoute(
318  const DtSimulationAddress& addr,
319  const std::vector<DtVector>& vertices,
320  const std::string& uniqueName = "",
321  const std::string& label = "");
322 
324  virtual void modifyRoute(
325  const DtUUID& uuid,
326  std::string* uniqueName = 0,
327  std::string* label = 0,
328  std::vector<DtVector>* vertices = 0,
329  const DtSimulationAddress& addr = DtSimSendToAll);
330 
335  virtual void createPhaseLine(
336  const DtSimulationAddress& addr,
337  const DtVector& dbPoint1,
338  const DtVector& dbPoint2,
339  const std::string& uniqueName = "",
340  const std::string& label = "",
341  unsigned int rId = 0);
342 
346  virtual unsigned int createPhaseLine(
348  const DtSimulationAddress& addr,
349  const DtVector& dbPoint1,
350  const DtVector& dbPoint2,
351  const std::string& uniqueName = "",
352  const std::string& label = "");
353 
355  virtual void modifyPhaseLine(
356  const DtUUID& uuid,
357  std::string* uniqueName = 0,
358  std::string* label = 0,
359  DtVector* newDbPoint1 = 0,
360  DtVector* newDbPoint2 = 0,
361  const DtSimulationAddress& addr = DtSimSendToAll);
362 
368  virtual void createControlArea(
369  const DtSimulationAddress& addr,
370  const std::vector<DtVector>& vertices,
371  const std::string& uniqueName = "",
372  const std::string& label = "",
373  unsigned int rId = 0);
374 
378  virtual unsigned int createControlArea(
380  const DtSimulationAddress& addr,
381  const std::vector<DtVector>& vertices,
382  const std::string& uniqueName = "",
383  const std::string& label = "");
384 
386  virtual void modifyControlArea(
387  const DtUUID& uuid,
388  std::string* uniqueName = 0,
389  std::string* label = 0,
390  std::vector<DtVector>* newVertices = 0,
391  const DtSimulationAddress& addr = DtSimSendToAll);
392 
398  virtual void createObstacle(
399  const DtSimulationAddress& addr,
400  const std::vector<DtVector>& vertices,
401  const std::string& uniqueName = "",
402  const std::string& label = "",
403  unsigned int rId = 0);
404 
408  virtual unsigned int createObstacle(
410  const DtSimulationAddress& addr,
411  const std::vector<DtVector>& vertices,
412  const std::string& uniqueName = "",
413  const std::string& label = "") ;
414 
416  virtual void modifyObstacle(
417  const DtUUID& uuid,
418  std::string* uniqueName = 0,
419  std::string* label = 0,
420  std::vector<DtVector>* newVertices = 0,
421  const DtSimulationAddress& addr = DtSimSendToAll);
422 
433  virtual unsigned int createOverlayObject(
434  const DtSimulationAddress& addr,
435  const DtEntityType& type,
436  const std::vector<DtVector>& vertices,
437  const DtForceType& force,
438  const std::string& name,
439  const std::string& label,
440  int color,
441  const std::string& parentName,
442  bool projection,
443  bool closedFigure,
444  const DtAppearance& appearance = DtAppearance::nullAppearance(),
445  const std::string& attachTo = "",
446  char* userData = 0,
447  int dataSize = 0,
448  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
449  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
451 
453  virtual void setPhysicalLineWidth(const DtSimulationAddress& addr,
454  const DtUUID& entityId, double w);
455 
457  virtual void setPhysicalLineHeight(const DtSimulationAddress& addr,
458  const DtUUID& entityId, double h);
459 
461  virtual void setCeiling(const DtSimulationAddress& addr,
462  const DtUUID& entityId, double c);
463 
466  virtual void createIndirectArtillery(
467  const DtIfIndirectArtilleryData& params,
468  const std::string& overlayParent,
469  const DtSimulationAddress& addr);
470 
475  virtual void createComputedRoute(
476  const DtSimulationAddress& addr,
477  const DtVector& sourcePoint,
478  const DtVector& destPoint,
479  const std::list<std::string>& obstacleTypes,
480  const std::list<std::string>& pathTypes,
481  const std::string& uniqueName = "",
482  const std::string& label = "",
483  const std::string& overlay = "",
484  const int forceId = DtForceOther,
485  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
486  unsigned int requestId = 0);
487 
489  virtual void cancelCreateComputedRoute(
490  const DtSimulationAddress& addr,
491  unsigned int requestId);
492 
496  virtual void createComputedRoute(
498  const DtSimulationAddress& addr,
499  const DtVector& sourcePoint,
500  const DtVector& destPoint,
501  const std::list<std::string>& obstacleTypes,
502  const std::list<std::string>& pathTypes,
503  const std::string& uniqueName = "",
504  const std::string& label = "",
505  const std::string& overlay = "",
506  const int forceId = DtForceOther,
507  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>());
508 
510  virtual void cancelComputeAerodrome(
511  const DtSimulationAddress& addr,
512  unsigned int requestId);
513 
517  virtual void computeAerodrome(
518  const DtSimulationAddress& addr,
519  const std::string& icao = "",
520  const DtUUID& areaUUID = DtUUID::nullUUID(),
521  const std::string& overlay = "",
522  const int forceId = DtForceOther,
523  unsigned int requestId = 0,
524  const int color = 0);
526 
529 
532  virtual unsigned int createEntity(DtVrfObjectCreatedCallbackFunction fcn, DtSimulationAddress addr, const DtEntityCreationData&,
533  const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
534  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>());
535 
536  virtual void createEntity(DtSimulationAddress addr, const DtEntityCreationData&,
537  const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
538  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>());
539 
541  virtual void createEntity(
542  const DtSimulationAddress& addr,
543  const DtEntityType& type,
544  const DtVector& geocentricPosition,
545  DtForceType force,
546  DtReal heading,
547  const std::string& uniqueName = "",
548  const std::string& label = "",
549  bool groundClamp = true, const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
550  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>(),
551  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
552  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>());
553 
557  virtual unsigned int createEntity(
559  const DtSimulationAddress& addr,
560  const DtEntityType& type,
561  const DtVector& geocentricPosition,
562  DtForceType force,
563  DtReal heading,
564  const std::string& uniqueName = "",
565  const std::string& label = "",
566  bool groundClamp = true, const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
567  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>(),
568  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
569  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>());
570 
572  virtual unsigned int createAggregate(
574  const DtSimulationAddress& addr,
575  const DtEntityType& type,
576  const DtVector& geocentricPosition,
577  DtForceType force,
578  DtReal heading,
579  const std::string& uniqueName,
580  const std::string& label = "",
581  DtAggregateState initialAggregateState = DtDisaggregated,
582  const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
583  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>(),
584  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
585  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
586  bool createSubordinates = true);
587 
589  virtual void aggregateAs(const std::vector<DtUUID>& uuids, const DtEntityType& type,
590  int force, DtAggregateState initialAggregateState, DtSimulationAddress addr, unsigned int requestId = 0);
591 
595  virtual unsigned int aggregateAs(DtVrfObjectCreatedCallbackFunction fcn,
596  const std::vector<DtUUID>& uuids, const DtEntityType& type,
597  int force, DtAggregateState initialAggregateState, DtSimulationAddress addr);
598 
601  virtual void addToOrganization(const DtUUID& child, const DtUUID& superior,
602  DtSimulationAddress addr = DtSimSendToAll);
603 
607  virtual void addToForceLevelOrganization(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
608 
611  virtual void removeFromOrganization(
612  const DtUUID& uuid,
613  const DtSimulationAddress& addr = DtSimSendToAll);
615 
621 
623  virtual void createEnvironmentalObject(DtSimulationAddress addr, DtEntityType, int force, const std::vector<DtVector>&,
625  const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
626  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>());
627 
637  virtual void sendVrfObjectModifyMsg(
638  const DtSimulationAddress& addr,
639  const DtUUID& uuid,
640  const std::string* name = 0,
641  const std::vector<DtVector>& = std::vector<DtVector>(),
642  int* force = 0,
643  double* heading = 0,
644  const std::string* label = 0,
645  DtAppearance* appearance = 0,
646  const std::string* overlayParent = 0,
647  const std::string* userData = 0,
648  const std::map<std::string, std::string>* extendedData = 0,
649  const std::map<int, DtString>* extendedLabels = 0,
650  bool mergeExtendedData = true);
651 
655  virtual void sendVrfObjectCreateMsg(
656  const DtSimulationAddress& addr,
657  unsigned int requestId,
658  const std::string& name,
659  const DtObjectType& type,
660  const std::vector<DtVector>& vertices,
661  const std::string& label,
662  const DtAppearance& appearance,
663  DtForceType force,
664  bool projection,
665  bool closedFigure,
666  DtReal heading,
667  bool createSubObjects,
668  const std::string& overlayParent = "",
669  bool clampToGroundFlag = true,
670  const std::string& initialFormation = "",
671  DtAggregateState initialAggregateState = DtDisaggregated,
672  const std::string& userData = "", const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
673  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>(),
674  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
675  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
676  const DtUUID& uuidForCreation = DtUUID::nullUUID(),
677  double pitch = 0.);
678 
681  virtual unsigned int addCreateCallbackFunction(DtVrfObjectCreatedCallbackFunction);
682 
685  virtual unsigned int addCreateComputedRouteCallbackFunction(DtComputedRouteResponseCallbackFunction);
686 
688  virtual void removeCreateComputedRouteCallbackFunction(int rId);
689 
692  virtual unsigned int addComputeAerodromeCallbackFunction(DtComputedAerodromeResponseCallbackFunction);
693 
695  virtual void removeComputeAerodromeCallbackFunction(int rId);
696 
703  virtual void sendVrfOverlayObjectModifyMsg(
704  const DtSimulationAddress& addr,
705  const DtUUID& uuid,
706  int* color = 0,
707  const std::string* parentName = 0,
708  const DtUUID* attachTo = 0,
709  const std::string* userData = 0);
710 
712  virtual void sendVrfIndirectArtilleryObjectModifyMsg(
713  const DtSimulationAddress& addr,
714  const DtUUID& uuid,
715  const DtIfIndirectArtilleryData& mod);
717 
723 
725  virtual void setLabel(
726  const DtUUID& uuid, const std::string& label,
727  const DtSimulationAddress& addr = DtSimSendToAll);
728 
730  virtual void setExtendedLabels(
731  const DtUUID& uuid, const std::map<int, DtString>& extendedLabels,
732  const DtSimulationAddress& addr = DtSimSendToAll);
733 
735  virtual void setOverlayParent(
736  const DtUUID& uuid, const std::string& label,
737  const DtSimulationAddress& addr = DtSimSendToAll);
738 
740  virtual void setAltitude(
741  const DtUUID& uuid, double altitude, bool aboveGroundLevel = false,
742  const DtSimulationAddress& addr = DtSimSendToAll);
743 
745  virtual void setLocation(
746  const DtUUID& uuid, DtVector coord,
747  const DtSimulationAddress& addr = DtSimSendToAll);
748 
752  virtual void setAppearance(
753  const DtUUID& uuid, int appearance,
754  const DtSimulationAddress& addr = DtSimSendToAll);
755 
759  virtual void setCapabilities(
760  const DtUUID& uuid, int capabilities,
761  const DtSimulationAddress& addr = DtSimSendToAll);
762 
764  virtual void setHeading(
765  const DtUUID& uuid, double degrees,
766  const DtSimulationAddress& addr = DtSimSendToAll);
767 
769  virtual void setForce(
770  const DtUUID& uuid, DtForceType force,
771  const DtSimulationAddress& addr = DtSimSendToAll);
772 
774  virtual void setResource(const DtUUID& uuid,
775  const char* resourceType, double value,
776  const DtSimulationAddress& addr = DtSimSendToAll);
777 
781  virtual void setRulesOfEngagement(
782  const DtUUID& uuid, const char* rulesType,
783  const DtSimulationAddress& addr = DtSimSendToAll);
784 
786  virtual void setSectorOfResponsibility(
787  const DtUUID& uuid, double center, double size,
788  const DtSimulationAddress& addr = DtSimSendToAll);
789 
793  virtual void setSpeed(
794  const DtUUID& uuid, double speed,
795  const DtSimulationAddress& addr = DtSimSendToAll);
796 
799  virtual void setCurrentSpeed(
800  const DtUUID& uuid, double speed,
801  const DtSimulationAddress& addr = DtSimSendToAll);
802 
804  virtual void setTarget(
805  const DtUUID& uuid, const DtUUID& target,
806  const DtSimulationAddress& addr = DtSimSendToAll);
807 
810  virtual void setSuperior(
811  const DtUUID& uuid, const DtUUID& superior,
812  const DtSimulationAddress& addr = DtSimSendToAll);
813 
817  virtual void setTaskedBySuperior(const DtUUID& uuid,
818  const DtSimulationAddress& addr = DtSimSendToAll);
819 
821  virtual void setConcealed(const DtUUID& uuid,
822  bool yes, const DtSimulationAddress& addr = DtSimSendToAll);
823 
825  virtual void setEmitter(const DtUUID& uuid,
826  int emitterId, bool on,
827  const DtSimulationAddress& addr = DtSimSendToAll);
828 
830  virtual void setEmergencyBeacon(const DtUUID& uuid,
831  bool on,
832  const DtSimulationAddress& addr = DtSimSendToAll);
833 
835  virtual void setIff(const DtUUID& uuid,
836  bool mode1on, int mode1code,
837  bool mode2on, int mode2code,
838  bool mode3on, int mode3code,
839  bool mode4on, int mode4code,
840  DtIffAtcNavaidsAltParm4 altParm4,
841  bool modeCon, bool useAltModeC,
842  bool modeSon, bool emergency,
843  bool flash, bool sti, bool modeSTcasI,
844  int pin, bool mode5LevelSelection,
845  unsigned int messageFormatsPresent, unsigned int nationalOrigin,
846  unsigned int navigationSource, unsigned int figureOfMerit,
847  const DtSimulationAddress& addr = DtSimSendToAll);
848 
852  virtual void restore(const DtUUID& uuid,
853  const DtSimulationAddress& addr = DtSimSendToAll);
854 
857  virtual void setDestroyed(const DtUUID& uuid,
858  const DtSimulationAddress& addr = DtSimSendToAll);
859 
861  virtual void setLifeformWeaponState(
862  const DtUUID& uuid, DtWeaponState weapon,
863  const DtSimulationAddress& addr = DtSimSendToAll);
864 
866  virtual void setSkillLevel(
867  const DtUUID& uuid, const unsigned int level,
868  const DtSimulationAddress& addr = DtSimSendToAll);
869 
871  virtual void setLifeformPosture(
872  const DtUUID& uuid, DtLifeformState posture,
873  const DtSimulationAddress& addr = DtSimSendToAll);
874 
876  virtual void setAggregateFormation(
877  const DtUUID& leader, const std::string& formationName,
878  const DtSimulationAddress& addr = DtSimSendToAll);
879 
883  virtual void reorganizeAggregate(const DtUUID& leader,
884  const DtSimulationAddress& addr = DtSimSendToAll);
885 
888  virtual void sendSetDataMsg(
889  const DtUUID& recipient, DtSetDataRequest* msg,
890  const DtSimulationAddress& addr = DtSimSendToAll,
891  bool updateScenario = true);
892 
895  virtual void sendSetRequest(const DtSetDataRequest& s, const DtUUID& uuid,
896  const DtSimulationAddress& addr = DtSimSendToAll, bool updateScenario = true);
897 
899  virtual void sendSetRequest(const DtSetDataRequest& s, const std::vector<DtUUID>& names,
900  const DtSimulationAddress& addr = DtSimSendToAll, bool updateScenario = true);
901 
907  virtual void requestIndirectArtilleryInformation(const DtUUID&);
909 
913 
916  virtual void moveAlongRoute(
917  const DtUUID& entity, const DtUUID& route,
918  const DtSimulationAddress& addr = DtSimSendToAll);
919 
922  virtual void moveToWaypoint(
923  const DtUUID& entity, const DtUUID& waypoint,
924  const DtSimulationAddress& addr = DtSimSendToAll);
925 
929  virtual void moveToLocation(
930  const DtUUID& entity, const DtVector& destinationLocation,
931  const DtSimulationAddress& addr = DtSimSendToAll);
932 
935  virtual void patrolBetweenWaypoints(
936  const DtUUID& entity,
937  const DtUUID& waypoint1, const DtUUID& waypoint2,
938  const DtSimulationAddress& addr = DtSimSendToAll);
939 
942  virtual void patrolAlongRoute(
943  const DtUUID& entity, const DtUUID& route,
944  const DtSimulationAddress& addr = DtSimSendToAll);
945 
951  virtual void followEntity(
952  const DtUUID& entity,
953  const DtUUID& leader, const DtVector& offset,
954  const DtSimulationAddress& addr = DtSimSendToAll);
955 
958  virtual void wait(
959  const DtUUID& entity,
960  const DtSimulationAddress& addr = DtSimSendToAll);
961 
964  virtual void waitDuration(
965  const DtUUID& entity, DtTime duration,
966  const DtSimulationAddress& addr = DtSimSendToAll);
967 
971  virtual void waitElapsed(
972  const DtUUID& entity, DtTime elapsed,
973  const DtSimulationAddress& addr = DtSimSendToAll);
974 
979  virtual void requestCurrentTasks(const DtUUID& entity);
980 
984  virtual void subscribeForTaskInformation(const DtUUID& entity);
985 
988  virtual void unsubscribeForTaskInformation(const DtUUID& entity);
989 
993  virtual void sendTaskMsg(
994  const DtUUID& recipient, DtSimTask* task,
995  const DtSimulationAddress& addr = DtSimSendToAll);
996 
998  virtual void sendTaskRequest(const DtSimTask& s, const std::vector<DtUUID>& names, const DtSimulationAddress& addr = DtSimSendToAll);
1000  virtual void sendTaskRequest(const DtSimTask& s, const DtUUID& uuid, const DtSimulationAddress& addr = DtSimSendToAll);
1001 
1006  virtual void requestTasksAndSetsFor(const std::vector<DtUUID>& name);
1008 
1015 
1018  virtual void abandonPlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1019 
1022  virtual void skipTask(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1023 
1025  virtual void cancelReactiveTask(const DtUUID& uuid, std::string scriptId, DtSimulationAddress addr = DtSimSendToAll);
1026 
1029  virtual void restartPlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1030 
1032  virtual void assignPlanByName(const DtUUID& uuid, const DtPlan*, DtSimulationAddress addr = DtSimSendToAll);
1033 
1035  virtual void assignMultiplePlanByName(std::vector<DtUUID> names, const DtPlan*, DtSimulationAddress addr = DtSimSendToAll);
1036 
1042  virtual void requestPlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1043 
1049  virtual void subscribePlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1050 
1057  virtual void requestMultiplePlans(std::vector<DtUUID> names, DtSimulationAddress addr = DtSimSendToAll);
1058 
1063  virtual void requestGlobalPlans(DtSimulationAddress addr = DtSimSendToAll);
1064 
1067  virtual void assignGlobalPlanByName(const DtUUID& name, const DtPlan*, DtSimulationAddress addr);
1068 
1070  virtual void deleteGlobalPlan(const DtUUID&, DtSimulationAddress addr);
1071 
1073  virtual void launchGlobalPlan(const DtUUID&, DtSimulationAddress addr);
1075 
1077  virtual void setTimeoutInterval(int);
1078 
1084  virtual void requestDIGuyAppearancesAndAnimations(const std::vector<DtUUID>& name);
1085 
1092  virtual void requestResourcesFor(std::vector<DtUUID> names, DtSimulationAddress addr = DtSimSendToAll);
1093 
1095  virtual void sendMessageToObject(const DtVrfObjectMessage&, DtSimulationAddress addr = DtSimSendToAll);
1096 
1098  virtual void sendObjectMessageAndDeleteContent(DtVrfObjectMessage* message, DtSimulationAddress addr = DtSimSendToAll);
1099 
1101  virtual void sendSensorFieldOfViewControlInteraction(const DtSensorFieldOfViewControlInteractionData& interData);
1102 
1104  virtual void sendSensorFieldOfViewControlInteractionAndDelete(DtSensorFieldOfViewControlInteractionData* data);
1105 
1107  virtual void sendDetonationInteraction(const DtDetonationInteractionData& interData);
1108 
1110  virtual void sendDetonationInteractionAndDelete(DtDetonationInteractionData* data);
1111 
1113  virtual void requestForces(DtSimulationAddress addr);
1114 
1117  virtual void requestDoctrines();
1118 
1121  virtual void requestAssignedDoctrines();
1122 
1124  virtual unsigned long generateRequestId();
1125 
1127  virtual void quitAllBackends();
1128 
1129  //-------------------------------------------------------
1131  //-------------------------------------------------------
1132 
1137  virtual void takeControlOf(const DtUUID&, const std::set<std::string>& functionalGroups = std::set<std::string>(),
1138  const DtSimulationAddress& addr = DtSimSendToAll);
1139 
1142  virtual void releaseControlOf(const DtUUID&, const std::set<std::string>& functionalGroups = std::set<std::string>(),
1143  const DtSimulationAddress& addr = DtSimSendToAll);
1144 
1147  virtual void sendJoystickControl(const DtUUID&, const std::string& functionGroup,
1148  const std::string& function, double value, bool repeat = false, const DtSimulationAddress& addr = DtSimSendToAll);
1149 
1150  public:
1151 
1153  virtual void addSetCreatorFcn(const DtSetMessageType&, DtSetDataRequestCreatorFcn);
1154 
1156  virtual void addTaskCreatorFcn(const DtSimTaskMessageType&, DtSimTaskCreatorFcn);
1157 
1159  virtual void addInterfaceContentCreatorFcn(int t, DtInterfaceContentCreatorFcn);
1160 
1162  virtual void addAdminContentCreatorFcn(const DtAdminContentMessageType&, DtAdminContentCreatorFcn);
1163 
1165  virtual void addConditionCreatorFcn(std::string, int, DtCondExprCreatorFcn);
1166 
1168  virtual void addReportCreatorFcn(const DtSimReportMessageType&, DtSimReportCreatorFcn);
1169 
1171  virtual void addObjectMessageCreatorFcn(int, DtVrfObjectMessageCreatorFcn);
1172 
1174  virtual void addSimulationCommandCreatorFcn(const DtSimCommandMessageType&, DtSimCommandCreatorFcn);
1175 
1178  virtual void sendMessage(const DtSimInterfaceContent& message, DtSimulationAddress addr = DtSimSendToAll);
1179  virtual void sendMessageAndDeleteContent(DtSimInterfaceContent* message, DtSimulationAddress addr = DtSimSendToAll);
1180 
1187  virtual void embarkOn(const std::vector<DtUUID>& children, const DtUUID& parent,
1188  bool useSlot = true, const DtVector& overridePosition = DtVector::zero(),
1189  int embarkInSlot = -1, const DtString& slotName = "*", const DtString& slotType = "*",
1190  bool chooseAnyIfNotAvailable = true, DtSimulationAddress addr = DtSimSendToAll);
1191 
1193  virtual void disembark(const std::vector<DtUUID>& children, DtSimulationAddress addr = DtSimSendToAll);
1194 
1196  virtual void disembarkAll(const std::vector<DtUUID>& parents, DtSimulationAddress addr = DtSimSendToAll);
1197 
1199  virtual void attachTo(const std::vector<DtUUID>& ids, const DtUUID& parent);
1200 
1202  virtual void detachAll(const std::vector<DtUUID>& ids);
1203 
1206  virtual void logObjectConsoleToFile(const DtUUID& uuid, const std::string& filename);
1207 
1210  virtual void stopLoggingObjectConsoleToFile(const DtUUID& uuid);
1211 
1213  virtual void setObjectNotifyLevel(const DtUUID& uuid, int);
1214 
1216  virtual void setTimeOfDay(time_t seconds);
1217  virtual void setTimeOfDay(int hours, int minutes, int seconds);
1218 
1220  virtual void setDateAndTimeOfDay(time_t seconds);
1221  virtual void setDateAndTimeOfDay(int year, int month, int day, int hours, int minutes, int seconds);
1222 
1224  virtual void setUseDayNightIlluminationModel(bool);
1225 
1228  virtual void requestScenarioDescription(DtSimulationAddress);
1229 
1231  virtual void setScenarioDescription(const DtString&, DtSimulationAddress addr = DtSimSendToAll);
1232 
1234  virtual void setScenarioName(const DtString&, DtSimulationAddress addr = DtSimSendToAll);
1235 
1237  virtual void addContentMessagesThatModifyScenario(int);
1238  virtual void removeContentMessagesThatModifyScenario(int);
1239  const std::set<int>& contentMessagesThatModifyScenario() const { return myContentMessagesThatModifyScenario; };
1240 
1242  virtual void requestSyncMatrices(DtSimulationAddress addr = DtSimSendToAll);
1243 
1246  virtual void createSyncMatrix(const DtString& name, DtSimulationAddress addr = DtSimSendToAll);
1247 
1249  virtual void renameSyncMatrix(const DtUUID& uuid, const DtString& name, DtSimulationAddress addr = DtSimSendToAll);
1250 
1252  virtual void deleteSyncMatrix(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1253 
1255  virtual void deleteSyncMatrixPhase(const DtUUID& uuid, const DtString& phaseName,
1256  DtSimulationAddress addr = DtSimSendToAll);
1257 
1259  virtual void requestSyncMatrixInfo(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1260 
1262  virtual void addSyncMatrixObjects(const DtUUID& uuid, const std::vector<DtUUID>& objects, DtSimulationAddress addr = DtSimSendToAll);
1263 
1265  virtual void removeSyncMatrixObject(const DtUUID& syncMatrix, const DtUUID& object,
1266  DtSimulationAddress addr = DtSimSendToAll);
1267 
1269  virtual void requestSyncMatrixPlan(const DtUUID& syncMatrix, const DtUUID& object,
1270  const DtString& phaseName, DtSimulationAddress addr = DtSimSendToAll);
1271 
1273  virtual void setSyncMatrixPlan(const DtUUID& syncMatrix, const DtUUID& object,
1274  const DtString& phaseName, const DtPlan* plan, DtSimulationAddress addr = DtSimSendToAll);
1275 
1277  virtual void removeSyncMatrixPlan(const DtUUID& syncMatrix, const DtUUID& object,
1278  const DtString& phaseName, DtSimulationAddress addr = DtSimSendToAll);
1279 
1281  virtual void setSyncMatrixPhaseInfo(const DtUUID& syncMatrix,
1282  const DtString& currentName, int phaseIndex,
1283  const DtString& requestedName, bool endConditionSpecified,
1284  const DtSimCondExpr* endCondition = NULL, DtSimulationAddress addr = DtSimSendToAll);
1285 
1287  virtual void activateSyncMatrixPlan(const DtUUID& syncMatrix, const DtUUID& object,
1288  const DtString& phaseName, bool activate, DtSimulationAddress addr = DtSimSendToAll);
1289 
1290  public:
1292  virtual void sendLoggerSetFilename(std::string filename);
1293 
1294  virtual void sendLoggerRecordMessage();
1295 
1296  virtual void sendLoggerStopMessage();
1297 
1298  protected:
1300  virtual void processObjectCreated(DtSimMessage*);
1301 
1303  virtual void processComputedRouteCreated(DtSimMessage*);
1304 
1306  virtual void processAerodromeCreated(DtSimMessage*);
1307 
1309  virtual void setActivated(bool);
1310 
1318  virtual bool addStatementsAndSendPlan(const DtPlan& plan, DtIfPlan& planMsg,
1319  const DtSimulationAddress& addr = DtSimSendToAll,
1320  int *retiStatus = 0, DtString* retsStmt = 0);
1321 
1323  virtual void indirectArtilleryCreated(DtString, const DtUUID&, const DtEntityIdentifier&, DtIfIndirectArtilleryData);
1324 
1326  virtual void checkIfContentMessageShouldMarkScenarioAsModified(const DtSimInterfaceContent&);
1327 
1328  public:
1332 
1334  boost::signals2::signal<void (const DtScenario*)> signal_loadedScenario;
1335 
1337  boost::signals2::signal<void ()> signal_communicationDriverStarted;
1338 
1340  boost::signals2::signal<void ()> signal_scenarioModified;
1341 
1343  boost::signals2::signal<void (const DtScenarioLoadInformation&)> signal_loadScenario;
1344 
1346  boost::signals2::signal<void (const DtScenario*, DtPreserveMappingsFcn fcn, void* userData, bool saveToZipFile,
1347  bool queueSave, int putIntoPlayMode)> signal_saveScenario;
1348 
1350  boost::signals2::signal<void (double)> signal_rollbackToSnapshot;
1351 
1354  boost::signals2::signal<void (std::vector<DtScenario*>, DtFilename)> signal_saveCheckpoints;
1355 
1357  boost::signals2::signal<void ()> signal_clearSavingCheckpoints;
1358 
1361  boost::signals2::signal<void (const DtUUID&, bool& shouldDelete)> signal_shouldDeleteObject;
1362 
1364  boost::signals2::signal<void ()> signal_closeScenario;
1365 
1367  boost::signals2::signal<void ()> signal_reinitializeScenario;
1368 
1371  boost::signals2::signal<void (DtIfCreateVrfObject&)> signal_aboutToSendCreateMessage;
1372 
1374  boost::signals2::signal<void (DtIfModifyVrfObject&)> signal_aboutToSendModifyMessage;
1375 
1377 
1378  protected:
1380  virtual void slot_preTick(makVrv::DtDe* de);
1381 
1382  protected:
1383  typedef std::map<unsigned int, DtVrfObjectCreatedCallbackFunction> CreateCallbacks;
1384 
1386 
1387  typedef std::map<unsigned int, DtComputedRouteResponseCallbackFunction> ComputedRouteCallbacks;
1388 
1390 
1391  typedef std::map<unsigned int, DtComputedAerodromeResponseCallbackFunction> ComputedAerodromeCallbacks;
1392 
1394 
1396  };
1397 }
class DtIfPlan:
Definition: ifPlan.h:61
UUID is a unique ID wrapper class.
Definition: rwUUID.h:229
boost::signals2::signal< void(DtIfCreateVrfObject &)> signal_aboutToSendCreateMessage
Sent when create message is about to be sent. Can change object create message to effect content...
Definition: guiThreadVrfRemoteController.h:1371
Definition: environmentalCreationData.h:27
boost::signals2::signal< void(const DtScenario *)> signal_loadedScenario
This section represents the collection of all signals sent by the various methods listed above...
Definition: guiThreadVrfRemoteController.h:1334
DtSetDataRequestFactory::DtCreatorFcn DtSetDataRequestCreatorFcn
Definition: setDataRequestFactory.h:41
Definition: scenario.h:52
std::map< unsigned int, DtComputedRouteResponseCallbackFunction > ComputedRouteCallbacks
Definition: guiThreadVrfRemoteController.h:1387
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:1350
voidpf void uLong size
Definition: ioapi.h:39
std::map< unsigned int, DtComputedAerodromeResponseCallbackFunction > ComputedAerodromeCallbacks
Definition: guiThreadVrfRemoteController.h:1391
Contains makVrv:DtSelectionManager class.
boost::signals2::signal< void()> signal_communicationDriverStarted
Signal sent when the communication driver has been started.
Definition: guiThreadVrfRemoteController.h:1337
std::map< unsigned int, DtVrfObjectCreatedCallbackFunction > CreateCallbacks
Definition: guiThreadVrfRemoteController.h:1383
This class is a thread-safe API to the DtVrfRemoteController. Since DtVrfRemoteController is instanti...
Definition: guiThreadVrfRemoteController.h:99
Definition: vrfSpotReportManager.h:58
Contains the DtUUID class declaration.
#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:1374
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:1347
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:2385
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:29
CreateCallbacks myCreateCallbacks
Definition: guiThreadVrfRemoteController.h:1385
DtSetDataRequest is an abstract base class from which real setDataRequests can derive. It manages the read/write capability; derived classes need only use and register read/writatble data types for derived information.
Definition: setDataRequest.h:41
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:1357
Contains makVrv::DtVirtualBaseClass class.
The Master DtVrfBackendSettingsManager.
Definition: vrfBackendSettingsManager.h:38
boost::function< void(bool, DtString, const DtUUID &)> DtComputedRouteResponseCallbackFunction
Definition: guiThreadVrfRemoteController.h:58
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:1340
DtVrfObjectMessage *(* DtVrfObjectMessageCreatorFcn)()
Creator function for DtVrfObjectMessage instances.
Definition: vrfObjectMessageFactory.h:21
ComputedRouteCallbacks myCreateComputedRouteCallbacks
Definition: guiThreadVrfRemoteController.h:1389
Contains makVrv::DtVrlinkSimulatedEntityState 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. Various subclasses of this class will...
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:1367
DtSimCommand *(* DtSimCommandCreatorFcn)()
Definition: simCommandFactory.h:20
class DtPlan:
Definition: plan.h:92
Contains makVrf::DtSharedNetworkSignaler class.
DtSimCondExpr is an abstract base class representing various Conditional Expressions used by the Plan...
Definition: simCondExpr.h:53
boost::function< void(DtString, const DtUUID &, const DtEntityIdentifier &, const DtObjectType &)> DtVrfObjectCreatedCallbackFunction
Definition: guiThreadVrfRemoteController.h:55
This class receives messages from the VR-Forces Simulation Engine (and other DIS/HLA messages) and in...
Definition: guiThreadNetworkCallbackManager.h:77
Data container for Indirect Artillery. Should contain nothing but mutators, accessors and data...
Definition: ifModifyIndirectArtilleryObject.h:28
The class that is the interface between the GUI and the back-end.
Definition: queuedManager.h:27
bool(* DtPreserveMappingsFcn)(void *usr)
Used by saveScenario to determine if original (true) or new mappings should be saved.
Definition: vrfRemoteController.h:89
DtSimTask is an abstract base class from which real tasks can derive. It manages the read/write capab...
Definition: simTask.h:30
Maintains and signals state of the simulation engines that are currently connected to the GUI...
Definition: vrfSimBackendManager.h:77
std::set< int > myContentMessagesThatModifyScenario
Definition: guiThreadVrfRemoteController.h:1395
boost::signals2::signal< void()> signal_closeScenario
Sent when the scenario is closing.
Definition: guiThreadVrfRemoteController.h:1364
class DtIfVrfObjectCreated:
Definition: ifVrfObjectCreated.h:32
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
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:1361
ComputedAerodromeCallbacks myComputedAerodromeCallbacks
Definition: guiThreadVrfRemoteController.h:1393
voidpf uLong offset
Definition: ioapi.h:42
Definition: scenario.h:617
boost::signals2::signal< void(const DtScenarioLoadInformation &)> signal_loadScenario
Calls down to simulation to load the scenario based on load scenario message.
Definition: guiThreadVrfRemoteController.h:1343
const std::set< int > & contentMessagesThatModifyScenario() const
Definition: guiThreadVrfRemoteController.h:1239
DtSimCondExpr *(* DtCondExprCreatorFcn)()
Definition: condExprFactory.h:28
boost::function< void(bool, DtIfComputeAerodromeResponse::ComputeFailureInformation)> DtComputedAerodromeResponseCallbackFunction
Definition: guiThreadVrfRemoteController.h:59
class DtIfCreateVrfObject:
Definition: ifCreateVrfObject.h:77
Definition: adminMessage.h:20

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)