VR-Forces 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 
29 
30 #include <vlpi/entityType.h>
31 #include <matrix/vlVector.h>
32 
36 
37 #include <boost/function.hpp>
38 
40 class DtSetDataRequest;
42 class DtSimTask;
43 class DtAdminMessage;
46 class DtIfPlan;
50 class DtPlan;
51 class DtScenario;
54 
55 typedef boost::function<void (DtString, const DtUUID&, const DtEntityIdentifier&, const DtEntityType&)> DtVrfObjectCreatedCallbackFunction;
56 typedef boost::function<void (bool, DtString, const DtUUID&)> DtComputedRouteResponseCallbackFunction;
57 typedef boost::function<void (bool, DtIfComputeAerodromeResponse::ComputeFailureInformation)> DtComputedAerodromeResponseCallbackFunction;
58 
59 namespace makVrv
60 {
61  class DtDe;
62 }
63 
64 namespace makVrf
65 {
66  class DtGuiThreadNetworkCallbackManager;
67 
98  {
99  public:
100 
102  virtual ~DtGuiThreadVrfRemoteController() override;
103 
105  static DtGuiThreadVrfRemoteController& instance(makVrv::DtDe& de);
106 
107  public:
110  DtVrfBackendSettingsManager& backendSettingsManager();
111 
114  DtVrfSimBackendManager& backendManager();
115 
117  DtVrfSpotReportManager& spotReportManager();
118 
120  DtVrfResourceManager& resourceManager();
121 
123  DtGuiThreadNetworkCallbackManager& messageHandler();
124 
125  public:
128 
130  virtual void rollbackToSnapshot(double simTime);
131 
139  virtual void newScenario(const DtScenario*, time_t startTimeOfDay = 12 * 3600, const DtChangeWeatherCommand& = DtChangeWeatherCommand());
141  virtual void newScenario(const DtFilename& terrainDatabase, time_t startTimeOfDay = 12 * 3600, const DtChangeWeatherCommand& = DtChangeWeatherCommand());
142 
147  virtual void importScenarioDescriptionFile(const std::string& file, DtSimulationAddress, const std::string& description ,
148  const std::map<std::string, std::string>& importData);
149 
156  virtual void createSimulationObjectGroup(const DtSimulationAddress&, const DtString& simulationObjectGroup,
157  const DtVector& createPosition, double offsetRotation, int createFlags, int force, bool inZipFile = false);
158 
161  virtual bool saveSimulationObjectGroup(const DtFilename& smsDirectory, const std::string& groupName,
162  const std::string& groupDescription, int creationFlags, const DtSimulationAddress& addr,
163  const std::map<DtString, DtString>& additionalInformation = std::map<DtString, DtString>(),
164  bool saveAsZipFile = false);
165 
168  virtual void exportScenarioDescriptionFile(const std::string& file, DtSimulationAddress, const std::string& description,
169  const std::map<std::string, std::string>& importData);
170 
186  virtual bool loadScenario(const DtScenarioLoadInformation&);
188  virtual bool loadScenario(const DtFilename&);
189  virtual bool importScenario(const DtFilename&);
190 
205  virtual void saveScenario(const DtScenario*, DtPreserveMappingsFcn fcn = 0, void* userData = 0,
206  bool saveScenarioToZipFile = false, bool queueSave = false, int putIntoPlayMode = 0);
207 
211  virtual void saveCheckpoints(const std::vector<DtScenario*>&, const DtFilename& scenarioName);
212 
214  virtual void clearSavingCheckpoints();
215 
218  virtual void takeSnapshot(DtSimulationAddress addr = DtSimSendToAll);
219 
222  virtual void takeBaseSnapshot();
223 
229  virtual void closeScenario(const DtFilename& databaseToOpen = "", bool forceCloseScenario = false);
230 
232  virtual void reinitializeScenario();
233 
235 
238 
241  virtual void setScenarioRunDuration(double time, bool duration = false);
242 
247  virtual void runScenario(bool useStartStopInteraction = false, DtSimulationAddress addr = DtSimSendToAll);
249  virtual void pauseScenario(bool useStartStopInteraction = false, DtSimulationAddress addr = DtSimSendToAll);
251  virtual void rewindScenario(DtSimulationAddress addr = DtSimSendToAll);
253  virtual void exitServer(DtSimulationAddress addr = DtSimSendToAll);
255  virtual void stepScenario(DtSimulationAddress addr = DtSimSendToAll);
257 
261  virtual void deleteObject(const DtUUID&, bool andDeleteFromOrbat = false, DtSimulationAddress addr = DtSimSendToAll);
262 
265 
269  virtual void removeObjectCreatedCallback(unsigned int);
270 
275  virtual void createWaypoint(
276  const DtSimulationAddress& addr,
277  const DtVector& geocentricPosition,
278  const std::string& uniqueName = "",
279  const std::string& label = "",
280  unsigned int requestId = 0);
281 
285  virtual unsigned int createWaypoint(
287  const DtSimulationAddress& addr,
288  const DtVector& geocentricPosition,
289  const std::string& uniqueName = "",
290  const std::string& label = "");
291 
293  virtual void modifyWaypoint(
294  const DtUUID& uuid,
295  std::string* uniqueName = 0,
296  std::string* label = 0,
297  DtVector* geocentricPosition = 0,
298  const DtSimulationAddress& addr = DtSimSendToAll);
299 
304  virtual void createRoute(
305  const DtSimulationAddress& addr,
306  const std::vector<DtVector>& vertices,
307  const std::string& uniqueName = "",
308  const std::string& label = "",
309  unsigned int rId = 0);
310 
314  virtual unsigned int createRoute(
316  const DtSimulationAddress& addr,
317  const std::vector<DtVector>& vertices,
318  const std::string& uniqueName = "",
319  const std::string& label = "");
320 
322  virtual void modifyRoute(
323  const DtUUID& uuid,
324  std::string* uniqueName = 0,
325  std::string* label = 0,
326  std::vector<DtVector>* vertices = 0,
327  const DtSimulationAddress& addr = DtSimSendToAll);
328 
333  virtual void createPhaseLine(
334  const DtSimulationAddress& addr,
335  const DtVector& dbPoint1,
336  const DtVector& dbPoint2,
337  const std::string& uniqueName = "",
338  const std::string& label = "",
339  unsigned int rId = 0);
340 
344  virtual unsigned int createPhaseLine(
346  const DtSimulationAddress& addr,
347  const DtVector& dbPoint1,
348  const DtVector& dbPoint2,
349  const std::string& uniqueName = "",
350  const std::string& label = "");
351 
353  virtual void modifyPhaseLine(
354  const DtUUID& uuid,
355  std::string* uniqueName = 0,
356  std::string* label = 0,
357  DtVector* newDbPoint1 = 0,
358  DtVector* newDbPoint2 = 0,
359  const DtSimulationAddress& addr = DtSimSendToAll);
360 
366  virtual void createControlArea(
367  const DtSimulationAddress& addr,
368  const std::vector<DtVector>& vertices,
369  const std::string& uniqueName = "",
370  const std::string& label = "",
371  unsigned int rId = 0);
372 
376  virtual unsigned int createControlArea(
378  const DtSimulationAddress& addr,
379  const std::vector<DtVector>& vertices,
380  const std::string& uniqueName = "",
381  const std::string& label = "");
382 
384  virtual void modifyControlArea(
385  const DtUUID& uuid,
386  std::string* uniqueName = 0,
387  std::string* label = 0,
388  std::vector<DtVector>* newVertices = 0,
389  const DtSimulationAddress& addr = DtSimSendToAll);
390 
396  virtual void createObstacle(
397  const DtSimulationAddress& addr,
398  const std::vector<DtVector>& vertices,
399  const std::string& uniqueName = "",
400  const std::string& label = "",
401  unsigned int rId = 0);
402 
406  virtual unsigned int createObstacle(
408  const DtSimulationAddress& addr,
409  const std::vector<DtVector>& vertices,
410  const std::string& uniqueName = "",
411  const std::string& label = "") ;
412 
414  virtual void modifyObstacle(
415  const DtUUID& uuid,
416  std::string* uniqueName = 0,
417  std::string* label = 0,
418  std::vector<DtVector>* newVertices = 0,
419  const DtSimulationAddress& addr = DtSimSendToAll);
420 
431  virtual unsigned int createOverlayObject(
432  const DtSimulationAddress& addr,
433  const DtEntityType& type,
434  const std::vector<DtVector>& vertices,
435  const DtForceType& force,
436  const std::string& name,
437  const std::string& label,
438  int color,
439  const std::string& parentName,
440  bool projection,
441  bool closedFigure,
442  const DtAppearance& appearance = DtAppearance::nullAppearance(),
443  const std::string& attachTo = "",
444  char* userData = 0,
445  int dataSize = 0,
446  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
447  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
449 
451  virtual void setPhysicalLineWidth(const DtSimulationAddress& addr,
452  const DtUUID& entityId, double w);
453 
455  virtual void setPhysicalLineHeight(const DtSimulationAddress& addr,
456  const DtUUID& entityId, double h);
457 
459  virtual void setCeiling(const DtSimulationAddress& addr,
460  const DtUUID& entityId, double c);
461 
464  virtual void createIndirectArtillery(
465  const DtIfIndirectArtilleryData& params,
466  const std::string& overlayParent,
467  const DtSimulationAddress& addr);
468 
473  virtual void createComputedRoute(
474  const DtSimulationAddress& addr,
475  const DtVector& sourcePoint,
476  const DtVector& destPoint,
477  const std::list<std::string>& obstacleTypes,
478  const std::list<std::string>& pathTypes,
479  const std::string& uniqueName = "",
480  const std::string& label = "",
481  const std::string& overlay = "",
482  const int forceId = DtForceOther,
483  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
484  unsigned int requestId = 0);
485 
487  virtual void cancelCreateComputedRoute(
488  const DtSimulationAddress& addr,
489  unsigned int requestId);
490 
494  virtual void createComputedRoute(
496  const DtSimulationAddress& addr,
497  const DtVector& sourcePoint,
498  const DtVector& destPoint,
499  const std::list<std::string>& obstacleTypes,
500  const std::list<std::string>& pathTypes,
501  const std::string& uniqueName = "",
502  const std::string& label = "",
503  const std::string& overlay = "",
504  const int forceId = DtForceOther,
505  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>());
506 
508  virtual void cancelComputeAerodrome(
509  const DtSimulationAddress& addr,
510  unsigned int requestId);
511 
515  virtual void computeAerodrome(
516  const DtSimulationAddress& addr,
517  const std::vector<std::string>& icaos = std::vector<std::string>(),
518  const DtUUID& areaUUID = DtUUID::nullUUID(),
519  const std::string& overlay = "",
520  const int forceId = DtForceNeutral,
521  unsigned int requestId = 0);
523 
526 
529  virtual unsigned int createEntity(DtVrfObjectCreatedCallbackFunction fcn, DtSimulationAddress addr, const DtEntityCreationData&,
530  const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
531  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>());
532 
533  virtual void createEntity(DtSimulationAddress addr, const DtEntityCreationData&,
534  const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
535  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>());
536 
538  virtual void createEntity(
539  const DtSimulationAddress& addr,
540  const DtEntityType& type,
541  const DtVector& geocentricPosition,
542  DtForceType force,
543  DtReal heading,
544  const std::string& uniqueName = "",
545  const std::string& label = "",
546  bool groundClamp = true, const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
547  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>(),
548  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
549  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>());
550 
554  virtual unsigned int createEntity(
556  const DtSimulationAddress& addr,
557  const DtEntityType& type,
558  const DtVector& geocentricPosition,
559  DtForceType force,
560  DtReal heading,
561  const std::string& uniqueName = "",
562  const std::string& label = "",
563  bool groundClamp = true, const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
564  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>(),
565  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
566  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>());
567 
569  virtual unsigned int createAggregate(
571  const DtSimulationAddress& addr,
572  const DtEntityType& type,
573  const DtVector& geocentricPosition,
574  DtForceType force,
575  DtReal heading,
576  const std::string& uniqueName,
577  const std::string& label = "",
578  DtAggregateState initialAggregateState = DtDisaggregated,
579  const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
580  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>(),
581  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
582  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
583  bool createSubordinates = true);
584 
586  virtual void aggregateAs(const std::vector<DtUUID>& uuids, const DtEntityType& type,
587  int force, DtAggregateState initialAggregateState, DtSimulationAddress addr, unsigned int requestId = 0);
588 
592  virtual unsigned int aggregateAs(DtVrfObjectCreatedCallbackFunction fcn,
593  const std::vector<DtUUID>& uuids, const DtEntityType& type,
594  int force, DtAggregateState initialAggregateState, DtSimulationAddress addr);
595 
598  virtual void addToOrganization(const DtUUID& child, const DtUUID& superior,
599  DtSimulationAddress addr = DtSimSendToAll);
600 
604  virtual void addToForceLevelOrganization(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
605 
608  virtual void removeFromOrganization(
609  const DtUUID& uuid,
610  const DtSimulationAddress& addr = DtSimSendToAll);
612 
618 
620  virtual void createEnvironmentalObject(DtSimulationAddress addr, DtEntityType, int force, const std::vector<DtVector>&,
622  const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
623  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>());
624 
634  virtual void sendVrfObjectModifyMsg(
635  const DtSimulationAddress& addr,
636  const DtUUID& uuid,
637  const std::string* name = 0,
638  const std::vector<DtVector>& = std::vector<DtVector>(),
639  int* force = 0,
640  double* heading = 0,
641  const std::string* label = 0,
642  DtAppearance* appearance = 0,
643  const std::string* overlayParent = 0,
644  const std::string* userData = 0,
645  const std::map<std::string, std::string>* extendedData = 0,
646  const std::map<int, DtString>* extendedLabels = 0,
647  bool mergeExtendedData = true);
648 
652  virtual void sendVrfObjectCreateMsg(
653  const DtSimulationAddress& addr,
654  unsigned int requestId,
655  const std::string& name,
656  const DtEntityType& type,
657  const std::vector<DtVector>& vertices,
658  const std::string& label,
659  const DtAppearance& appearance,
660  DtForceType force,
661  bool projection,
662  bool closedFigure,
663  DtReal heading,
664  bool createSubObjects,
665  const std::string& overlayParent = "",
666  bool clampToGroundFlag = true,
667  const std::string& initialFormation = "",
668  DtAggregateState initialAggregateState = DtDisaggregated,
669  const std::string& userData = "", const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
670  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>(),
671  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
672  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
673  const DtUUID& uuidForCreation = DtUUID::nullUUID(),
674  double pitch = 0.,
675  const DtString& globalId = "");
676 
679  virtual unsigned int addCreateCallbackFunction(DtVrfObjectCreatedCallbackFunction);
680 
683  virtual unsigned int addCreateComputedRouteCallbackFunction(DtComputedRouteResponseCallbackFunction);
684 
686  virtual void removeCreateComputedRouteCallbackFunction(int rId);
687 
690  virtual unsigned int addComputeAerodromeCallbackFunction(DtComputedAerodromeResponseCallbackFunction);
691 
693  virtual void removeComputeAerodromeCallbackFunction(int rId);
694 
701  virtual void sendVrfOverlayObjectModifyMsg(
702  const DtSimulationAddress& addr,
703  const DtUUID& uuid,
704  int* color = 0,
705  const std::string* parentName = 0,
706  const DtUUID* attachTo = 0,
707  const std::string* userData = 0);
708 
710  virtual void sendVrfIndirectArtilleryObjectModifyMsg(
711  const DtSimulationAddress& addr,
712  const DtUUID& uuid,
713  const DtIfIndirectArtilleryData& mod);
715 
721 
723  virtual void setLabel(
724  const DtUUID& uuid, const std::string& label,
725  const DtSimulationAddress& addr = DtSimSendToAll);
726 
728  virtual void setExtendedLabels(
729  const DtUUID& uuid, const std::map<int, DtString>& extendedLabels,
730  const DtSimulationAddress& addr = DtSimSendToAll);
731 
733  virtual void setOverlayParent(
734  const DtUUID& uuid, const std::string& label,
735  const DtSimulationAddress& addr = DtSimSendToAll);
736 
738  virtual void setAltitude(
739  const DtUUID& uuid, double altitude, bool aboveGroundLevel = false,
740  const DtSimulationAddress& addr = DtSimSendToAll);
741 
743  virtual void setLocation(
744  const DtUUID& uuid, DtVector coord,
745  const DtSimulationAddress& addr = DtSimSendToAll);
746 
750  virtual void setAppearance(
751  const DtUUID& uuid, int appearance,
752  const DtSimulationAddress& addr = DtSimSendToAll);
753 
757  virtual void setCapabilities(
758  const DtUUID& uuid, int capabilities,
759  const DtSimulationAddress& addr = DtSimSendToAll);
760 
762  virtual void setHeading(
763  const DtUUID& uuid, double degrees,
764  const DtSimulationAddress& addr = DtSimSendToAll);
765 
767  virtual void setForce(
768  const DtUUID& uuid, DtForceType force,
769  const DtSimulationAddress& addr = DtSimSendToAll);
770 
772  virtual void setResource(const DtUUID& uuid,
773  const char* resourceType, double value, int bin = 0,
774  const DtSimulationAddress& addr = DtSimSendToAll);
775 
779  virtual void setRulesOfEngagement(
780  const DtUUID& uuid, const char* rulesType,
781  const DtSimulationAddress& addr = DtSimSendToAll);
782 
784  virtual void setSectorOfResponsibility(
785  const DtUUID& uuid, double center, double size,
786  const DtSimulationAddress& addr = DtSimSendToAll);
787 
791  virtual void setSpeed(
792  const DtUUID& uuid, double speed,
793  const DtSimulationAddress& addr = DtSimSendToAll);
794 
797  virtual void setCurrentSpeed(
798  const DtUUID& uuid, double speed,
799  const DtSimulationAddress& addr = DtSimSendToAll);
800 
802  virtual void setTarget(
803  const DtUUID& uuid, const DtUUID& target,
804  const DtSimulationAddress& addr = DtSimSendToAll);
805 
808  virtual void setSuperior(
809  const DtUUID& uuid, const DtUUID& superior,
810  const DtSimulationAddress& addr = DtSimSendToAll);
811 
815  virtual void setTaskedBySuperior(const DtUUID& uuid,
816  const DtSimulationAddress& addr = DtSimSendToAll);
817 
819  virtual void setConcealed(const DtUUID& uuid,
820  bool yes, const DtSimulationAddress& addr = DtSimSendToAll);
821 
823  virtual void setEmitter(const DtUUID& uuid,
824  int emitterId, bool on,
825  const DtSimulationAddress& addr = DtSimSendToAll);
826 
828  virtual void setEmergencyBeacon(const DtUUID& uuid,
829  bool on,
830  const DtSimulationAddress& addr = DtSimSendToAll);
831 
833  virtual void setIff(const DtUUID& uuid,
834  bool mode1on, int mode1code,
835  bool mode2on, int mode2code,
836  bool mode3on, int mode3code,
837  bool mode4on, int mode4code,
838  DtIffAtcNavaidsAltParm4 altParm4,
839  bool modeCon, bool useAltModeC,
840  bool modeSon, bool emergency,
841  bool flash, bool sti, bool modeSTcasI,
842  int pin, bool mode5LevelSelection,
843  unsigned int messageFormatsPresent, unsigned int nationalOrigin,
844  unsigned int navigationSource, unsigned int figureOfMerit,
845  const DtSimulationAddress& addr = DtSimSendToAll);
846 
850  virtual void restore(const DtUUID& uuid,
851  const DtSimulationAddress& addr = DtSimSendToAll);
852 
855  virtual void setDestroyed(const DtUUID& uuid,
856  const DtSimulationAddress& addr = DtSimSendToAll);
857 
859  virtual void setLifeformWeaponState(
860  const DtUUID& uuid, DtWeaponState weapon,
861  const DtSimulationAddress& addr = DtSimSendToAll);
862 
864  virtual void setSkillLevel(
865  const DtUUID& uuid, const unsigned int level,
866  const DtSimulationAddress& addr = DtSimSendToAll);
867 
869  virtual void setLifeformPosture(
870  const DtUUID& uuid, DtLifeformState posture,
871  const DtSimulationAddress& addr = DtSimSendToAll);
872 
874  virtual void setAggregateFormation(
875  const DtUUID& leader, const std::string& formationName,
876  const DtSimulationAddress& addr = DtSimSendToAll);
877 
881  virtual void reorganizeAggregate(const DtUUID& leader,
882  const DtSimulationAddress& addr = DtSimSendToAll);
883 
886  virtual void sendSetDataMsg(
887  const DtUUID& recipient, DtSetDataRequest* msg,
888  const DtSimulationAddress& addr = DtSimSendToAll,
889  bool updateScenario = true);
890 
893  virtual void sendSetRequest(const DtSetDataRequest& s, const DtUUID& uuid,
894  const DtSimulationAddress& addr = DtSimSendToAll, bool updateScenario = true);
895 
897  virtual void sendSetRequest(const DtSetDataRequest& s, const std::vector<DtUUID>& names,
898  const DtSimulationAddress& addr = DtSimSendToAll, bool updateScenario = true);
899 
905  virtual void requestIndirectArtilleryInformation(const DtUUID&);
907 
911 
914  virtual void moveAlongRoute(
915  const DtUUID& entity, const DtUUID& route,
916  const DtSimulationAddress& addr = DtSimSendToAll);
917 
920  virtual void moveToWaypoint(
921  const DtUUID& entity, const DtUUID& waypoint,
922  const DtSimulationAddress& addr = DtSimSendToAll);
923 
927  virtual void moveToLocation(
928  const DtUUID& entity, const DtVector& destinationLocation,
929  const DtSimulationAddress& addr = DtSimSendToAll);
930 
933  virtual void patrolBetweenWaypoints(
934  const DtUUID& entity,
935  const DtUUID& waypoint1, const DtUUID& waypoint2,
936  const DtSimulationAddress& addr = DtSimSendToAll);
937 
940  virtual void patrolAlongRoute(
941  const DtUUID& entity, const DtUUID& route,
942  const DtSimulationAddress& addr = DtSimSendToAll);
943 
949  virtual void followEntity(
950  const DtUUID& entity,
951  const DtUUID& leader, const DtVector& offset,
952  const DtSimulationAddress& addr = DtSimSendToAll);
953 
956  virtual void wait(
957  const DtUUID& entity,
958  const DtSimulationAddress& addr = DtSimSendToAll);
959 
962  virtual void waitDuration(
963  const DtUUID& entity, DtTime duration,
964  const DtSimulationAddress& addr = DtSimSendToAll);
965 
969  virtual void waitElapsed(
970  const DtUUID& entity, DtTime elapsed,
971  const DtSimulationAddress& addr = DtSimSendToAll);
972 
977  virtual void requestCurrentTasks(const DtUUID& entity);
978 
982  virtual void subscribeForTaskInformation(const DtUUID& entity);
983 
986  virtual void unsubscribeForTaskInformation(const DtUUID& entity);
987 
991  virtual void sendTaskMsg(
992  const DtUUID& recipient, DtSimTask* task,
993  const DtSimulationAddress& addr = DtSimSendToAll);
994 
996  virtual void sendTaskRequest(const DtSimTask& s, const std::vector<DtUUID>& names, const DtSimulationAddress& addr = DtSimSendToAll);
998  virtual void sendTaskRequest(const DtSimTask& s, const DtUUID& uuid, const DtSimulationAddress& addr = DtSimSendToAll);
999 
1004  virtual void requestTasksAndSetsFor(const std::vector<DtUUID>& name);
1006 
1013 
1016  virtual void abandonPlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1017 
1020  virtual void skipTask(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1021 
1023  virtual void cancelReactiveTask(const DtUUID& uuid, std::string scriptId, DtSimulationAddress addr = DtSimSendToAll);
1024 
1027  virtual void restartPlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1028 
1030  virtual void assignPlanByName(const DtUUID& uuid, const DtPlan*, DtSimulationAddress addr = DtSimSendToAll);
1031 
1033  virtual void assignMultiplePlanByName(std::vector<DtUUID> names, const DtPlan*, DtSimulationAddress addr = DtSimSendToAll);
1034 
1040  virtual void requestPlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1041 
1047  virtual void subscribePlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1048 
1055  virtual void requestMultiplePlans(std::vector<DtUUID> names, DtSimulationAddress addr = DtSimSendToAll);
1056 
1061  virtual void requestGlobalPlans(DtSimulationAddress addr = DtSimSendToAll);
1062 
1065  virtual void assignGlobalPlanByName(const DtUUID& name, const DtPlan*, DtSimulationAddress addr);
1066 
1068  virtual void deleteGlobalPlan(const DtUUID&, DtSimulationAddress addr);
1069 
1071  virtual void launchGlobalPlan(const DtUUID&, DtSimulationAddress addr);
1073 
1075  virtual void setTimeoutInterval(int);
1076 
1082  virtual void requestDIGuyAppearancesAndAnimations(const std::vector<DtUUID>& name);
1083 
1090  virtual void requestResourcesFor(std::vector<DtUUID> names, unsigned requestId = 0);
1091 
1093  virtual void sendMessageToObject(const DtVrfObjectMessage&, DtSimulationAddress addr = DtSimSendToAll);
1094 
1096  virtual void sendObjectMessageAndDeleteContent(DtVrfObjectMessage* message, DtSimulationAddress addr = DtSimSendToAll);
1097 
1099  virtual void sendSensorFieldOfViewControlInteraction(const DtSensorFieldOfViewControlInteractionData& interData);
1100 
1102  virtual void sendSensorFieldOfViewControlInteractionAndDelete(DtSensorFieldOfViewControlInteractionData* data);
1103 
1105  virtual void sendDetonationInteraction(const DtDetonationInteractionData& interData);
1106 
1108  virtual void sendDetonationInteractionAndDelete(DtDetonationInteractionData* data);
1109 
1111  virtual void requestForces(DtSimulationAddress addr);
1112 
1115  virtual void requestDoctrines();
1116 
1119  virtual void requestAssignedDoctrines();
1120 
1122  virtual unsigned long generateRequestId();
1123 
1125  virtual void quitAllBackends();
1126 
1127  //-------------------------------------------------------
1129  //-------------------------------------------------------
1130 
1135  virtual void takeControlOf(const DtUUID&, const std::set<std::string>& functionalGroups = std::set<std::string>(),
1136  const DtSimulationAddress& addr = DtSimSendToAll);
1137 
1140  virtual void releaseControlOf(const DtUUID&, const std::set<std::string>& functionalGroups = std::set<std::string>(),
1141  const DtSimulationAddress& addr = DtSimSendToAll);
1142 
1145  virtual void sendJoystickControl(const DtUUID&, const std::string& functionGroup,
1146  const std::string& function, double value, bool repeat = false, const DtSimulationAddress& addr = DtSimSendToAll);
1147 
1148  public:
1149 
1151  virtual void addSetCreatorFcn(const DtSetMessageType&, DtSetDataRequestCreatorFcn);
1152 
1154  virtual void addTaskCreatorFcn(const DtSimTaskMessageType&, DtSimTaskCreatorFcn);
1155 
1157  virtual void addInterfaceContentCreatorFcn(int t, DtInterfaceContentCreatorFcn);
1158 
1160  virtual void addAdminContentCreatorFcn(const DtAdminContentMessageType&, DtAdminContentCreatorFcn);
1161 
1163  virtual void addConditionCreatorFcn(std::string, int, DtCondExprCreatorFcn);
1164 
1166  virtual void addReportCreatorFcn(const DtSimReportMessageType&, DtSimReportCreatorFcn);
1167 
1169  virtual void addObjectMessageCreatorFcn(int, DtVrfObjectMessageCreatorFcn);
1170 
1172  virtual void addSimulationCommandCreatorFcn(const DtSimCommandMessageType&, DtSimCommandCreatorFcn);
1173 
1176  virtual void sendMessage(const DtSimInterfaceContent& message, DtSimulationAddress addr = DtSimSendToAll);
1177  virtual void sendMessageAndDeleteContent(DtSimInterfaceContent* message, DtSimulationAddress addr = DtSimSendToAll);
1178 
1185  virtual void embarkOn(const std::vector<DtUUID>& children, const DtUUID& parent,
1186  bool useSlot = true, const DtVector& overridePosition = DtVector::zero(),
1187  int embarkInSlot = -1, const DtString& slotName = "*", const DtString& slotType = "*",
1188  bool chooseAnyIfNotAvailable = true, DtSimulationAddress addr = DtSimSendToAll);
1189 
1191  virtual void disembark(const std::vector<DtUUID>& children, DtSimulationAddress addr = DtSimSendToAll);
1192 
1194  virtual void disembarkAll(const std::vector<DtUUID>& parents, DtSimulationAddress addr = DtSimSendToAll);
1195 
1197  virtual void attachTo(const std::vector<DtUUID>& ids, const DtUUID& parent);
1198 
1200  virtual void detachAll(const std::vector<DtUUID>& ids);
1201 
1204  virtual void logObjectConsoleToFile(const DtUUID& uuid, const std::string& filename);
1205 
1208  virtual void stopLoggingObjectConsoleToFile(const DtUUID& uuid);
1209 
1211  virtual void setObjectNotifyLevel(const DtUUID& uuid, int);
1212 
1214  virtual void setTimeOfDay(time_t seconds);
1215  virtual void setTimeOfDay(int hours, int minutes, int seconds);
1216 
1218  virtual void setDateAndTimeOfDay(time_t seconds);
1219  virtual void setDateAndTimeOfDay(int year, int month, int day, int hours, int minutes, int seconds);
1220 
1222  virtual void setUseGlobalTimeZone(bool);
1223 
1226  virtual void requestScenarioDescription(DtSimulationAddress);
1227 
1229  virtual void setScenarioDescription(const DtString&, DtSimulationAddress addr = DtSimSendToAll);
1230 
1232  virtual void setScenarioName(const DtString&, DtSimulationAddress addr = DtSimSendToAll);
1233 
1235  virtual void addContentMessagesThatModifyScenario(int);
1236  virtual void removeContentMessagesThatModifyScenario(int);
1237  const std::set<int>& contentMessagesThatModifyScenario() const { return myContentMessagesThatModifyScenario; };
1238 
1240  virtual void requestSyncMatrices(DtSimulationAddress addr = DtSimSendToAll);
1241 
1244  virtual void createSyncMatrix(const DtString& name, DtSimulationAddress addr = DtSimSendToAll);
1245 
1247  virtual void renameSyncMatrix(const DtUUID& uuid, const DtString& name, DtSimulationAddress addr = DtSimSendToAll);
1248 
1250  virtual void deleteSyncMatrix(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1251 
1253  virtual void deleteSyncMatrixPhase(const DtUUID& uuid, const DtString& phaseName,
1254  DtSimulationAddress addr = DtSimSendToAll);
1255 
1257  virtual void requestSyncMatrixInfo(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1258 
1260  virtual void addSyncMatrixObjects(const DtUUID& uuid, const std::vector<DtUUID>& objects, DtSimulationAddress addr = DtSimSendToAll);
1261 
1263  virtual void removeSyncMatrixObject(const DtUUID& syncMatrix, const DtUUID& object,
1264  DtSimulationAddress addr = DtSimSendToAll);
1265 
1267  virtual void requestSyncMatrixPlan(const DtUUID& syncMatrix, const DtUUID& object,
1268  const DtString& phaseName, DtSimulationAddress addr = DtSimSendToAll);
1269 
1271  virtual void linkPlan(const DtUUID& syncMatrix, const DtUUID& object,
1272  const DtString& phaseName, bool linkPlan, DtSimulationAddress addr = DtSimSendToAll);
1273 
1275  virtual void setSyncMatrixPlan(const DtUUID& syncMatrix, const DtUUID& object,
1276  const DtString& phaseName, const DtPlan* plan, DtSimulationAddress addr = DtSimSendToAll);
1277 
1279  virtual void removeSyncMatrixPlan(const DtUUID& syncMatrix, const DtUUID& object,
1280  const DtString& phaseName, DtSimulationAddress addr = DtSimSendToAll);
1281 
1283  virtual void setSyncMatrixPhaseInfo(const DtUUID& syncMatrix,
1284  const DtString& currentName, int phaseIndex,
1285  const DtString& requestedName, bool endConditionSpecified,
1286  const DtSimCondExpr* endCondition = NULL, DtSimulationAddress addr = DtSimSendToAll);
1287 
1289  virtual void activateSyncMatrixPlan(const DtUUID& syncMatrix, const DtUUID& object,
1290  const DtString& phaseName, bool activate, DtSimulationAddress addr = DtSimSendToAll);
1291 
1292  public:
1294  virtual void sendLoggerSetFilename(std::string filename);
1295 
1296  virtual void sendLoggerRecordMessage();
1297 
1298  virtual void sendLoggerStopMessage();
1299 
1300  protected:
1302  virtual void processObjectCreated(DtSimMessage*);
1303 
1305  virtual void processComputedRouteCreated(DtSimMessage*);
1306 
1308  virtual void processAerodromeCreated(DtSimMessage*);
1309 
1311  virtual void setActivated(bool) override;
1312 
1320  virtual bool addStatementsAndSendPlan(const DtPlan& plan, DtIfPlan& planMsg,
1321  const DtSimulationAddress& addr = DtSimSendToAll,
1322  int *retiStatus = 0, DtString* retsStmt = 0);
1323 
1325  virtual void indirectArtilleryCreated(DtString, const DtUUID&, const DtEntityIdentifier&, DtIfIndirectArtilleryData);
1326 
1328  virtual void checkIfContentMessageShouldMarkScenarioAsModified(const DtSimInterfaceContent&);
1329 
1330  public:
1334 
1336  boost::signals2::signal<void (const DtScenario*)> signal_loadedScenario;
1337 
1339  boost::signals2::signal<void ()> signal_communicationDriverStarted;
1340 
1342  boost::signals2::signal<void ()> signal_scenarioModified;
1343 
1345  boost::signals2::signal<void (const DtScenarioLoadInformation&)> signal_loadScenario;
1346 
1348  boost::signals2::signal<void (const DtScenario*, DtPreserveMappingsFcn fcn, void* userData, bool saveToZipFile,
1349  bool queueSave, int putIntoPlayMode)> signal_saveScenario;
1350 
1352  boost::signals2::signal<void (double)> signal_rollbackToSnapshot;
1353 
1356  boost::signals2::signal<void (std::vector<DtScenario*>, DtFilename)> signal_saveCheckpoints;
1357 
1359  boost::signals2::signal<void ()> signal_clearSavingCheckpoints;
1360 
1363  boost::signals2::signal<void (const DtUUID&, bool& shouldDelete)> signal_shouldDeleteObject;
1364 
1366  boost::signals2::signal<void ()> signal_closeScenario;
1367 
1369  boost::signals2::signal<void ()> signal_reinitializeScenario;
1370 
1373  boost::signals2::signal<void (DtIfCreateVrfObject&)> signal_aboutToSendCreateMessage;
1374 
1376  boost::signals2::signal<void (DtIfModifyVrfObject&)> signal_aboutToSendModifyMessage;
1377 
1380  boost::signals2::signal<void (DtSharedNetworkSignaler::EnvironmentalSignalCreationData&)> signal_aboutToSendCreateEnvironmentalMessage;
1381 
1383 
1384  protected:
1386  virtual void slot_preTick(makVrv::DtDe* de);
1387 
1388  protected:
1389  typedef std::map<unsigned int, DtVrfObjectCreatedCallbackFunction> CreateCallbacks;
1390 
1392 
1393  typedef std::map<unsigned int, DtComputedRouteResponseCallbackFunction> ComputedRouteCallbacks;
1394 
1396 
1397  typedef std::map<unsigned int, DtComputedAerodromeResponseCallbackFunction> ComputedAerodromeCallbacks;
1398 
1400 
1402  };
1403 }
class DtIfPlan:
Definition: ifPlan.h:61
UUID is a unique ID wrapper class.
Definition: uuid.h:59
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:1373
boost::function< void(DtString, const DtUUID &, const DtEntityIdentifier &, const DtEntityType &)> DtVrfObjectCreatedCallbackFunction
Definition: guiThreadVrfRemoteController.h:53
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:1336
DtSetDataRequestFactory::DtCreatorFcn DtSetDataRequestCreatorFcn
Definition: setDataRequestFactory.h:41
Definition: scenario.h:52
std::map< unsigned int, DtComputedRouteResponseCallbackFunction > ComputedRouteCallbacks
Definition: guiThreadVrfRemoteController.h:1393
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:1352
voidpf void uLong size
Definition: ioapi.h:39
std::map< unsigned int, DtComputedAerodromeResponseCallbackFunction > ComputedAerodromeCallbacks
Definition: guiThreadVrfRemoteController.h:1397
Contains makVrv:DtSelectionManager class.
boost::signals2::signal< void()> signal_communicationDriverStarted
Signal sent when the communication driver has been started.
Definition: guiThreadVrfRemoteController.h:1339
std::map< unsigned int, DtVrfObjectCreatedCallbackFunction > CreateCallbacks
Definition: guiThreadVrfRemoteController.h:1389
This class is a thread-safe API to the DtVrfRemoteController. Since DtVrfRemoteController is instanti...
Definition: guiThreadVrfRemoteController.h:97
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:1376
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:1349
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
DtSimTaskFactory::DtCreatorFcn DtSimTaskCreatorFcn
Definition: simTaskFactory.h:41
Definition: vrfResourceManager.h:36
CreateCallbacks myCreateCallbacks
Definition: guiThreadVrfRemoteController.h:1391
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:1359
Contains makVrv::DtVirtualBaseClass class.
The Master DtVrfBackendSettingsManager.
Definition: vrfBackendSettingsManager.h:38
boost::function< void(bool, DtString, const DtUUID &)> DtComputedRouteResponseCallbackFunction
Definition: guiThreadVrfRemoteController.h:56
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:1342
DtVrfObjectMessage *(* DtVrfObjectMessageCreatorFcn)()
Creator function for DtVrfObjectMessage instances.
Definition: vrfObjectMessageFactory.h:21
ComputedRouteCallbacks myCreateComputedRouteCallbacks
Definition: guiThreadVrfRemoteController.h:1395
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:1369
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
This class receives messages from the VR-Forces Simulation Engine (and other DIS/HLA messages) and in...
Definition: guiThreadNetworkCallbackManager.h:80
Data container for Indirect Artillery. Should contain nothing but mutators, accessors and data...
Definition: ifModifyIndirectArtilleryObject.h:29
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:79
std::set< int > myContentMessagesThatModifyScenario
Definition: guiThreadVrfRemoteController.h:1401
boost::signals2::signal< void()> signal_closeScenario
Sent when the scenario is closing.
Definition: guiThreadVrfRemoteController.h:1366
boost::signals2::signal< void(DtSharedNetworkSignaler::EnvironmentalSignalCreationData &)> signal_aboutToSendCreateEnvironmentalMessage
signal sent right before an environmental object is created. The environmental goes through a differe...
Definition: guiThreadVrfRemoteController.h:1380
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:76
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:1363
ComputedAerodromeCallbacks myComputedAerodromeCallbacks
Definition: guiThreadVrfRemoteController.h:1399
voidpf uLong offset
Definition: ioapi.h:42
Definition: scenario.h:635
boost::signals2::signal< void(const DtScenarioLoadInformation &)> signal_loadScenario
Calls down to simulation to load the scenario based on load scenario message.
Definition: guiThreadVrfRemoteController.h:1345
const std::set< int > & contentMessagesThatModifyScenario() const
Definition: guiThreadVrfRemoteController.h:1237
DtSimCondExpr *(* DtCondExprCreatorFcn)()
Definition: condExprFactory.h:28
boost::function< void(bool, DtIfComputeAerodromeResponse::ComputeFailureInformation)> DtComputedAerodromeResponseCallbackFunction
Definition: guiThreadVrfRemoteController.h:57
class DtIfCreateVrfObject:
Definition: ifCreateVrfObject.h:77
Definition: adminMessage.h:20

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)