VR-Forces 4.8 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 
36 
37 #include <boost/function.hpp>
38 
40 class DtSetDataRequest;
42 class DtSimTask;
43 class DtAdminMessage;
46 class DtIfPlan;
50 class DtObjectType;
51 class DtPlan;
52 class DtScenario;
55 
56 typedef boost::function<void (DtString, const DtUUID&, const DtEntityIdentifier&, const DtObjectType&)> DtVrfObjectCreatedCallbackFunction;
57 typedef boost::function<void (bool, DtString, const DtUUID&, const DtEntityIdentifier&)> DtComputedRouteResponseCallbackFunction;
58 
59 namespace makVrv
60 {
61  class DtDe;
62 }
63 
64 namespace makVrf
65 {
66  class DtGuiThreadNetworkCallbackManager;
67 
94  {
95  public:
96 
99 
101  static DtGuiThreadVrfRemoteController& instance(makVrv::DtDe& de);
102 
103  public:
106  DtVrfBackendSettingsManager& backendSettingsManager();
107 
110  DtVrfSimBackendManager& backendManager();
111 
113  DtVrfSpotReportManager& spotReportManager();
114 
116  DtVrfResourceManager& resourceManager();
117 
119  DtGuiThreadNetworkCallbackManager& messageHandler();
120 
121  public:
124 
126  virtual void rollbackToSnapshot(double simTime);
127 
135  virtual void newScenario(const DtScenario*, time_t startTimeOfDay = 12 * 3600, const DtChangeWeatherCommand& = DtChangeWeatherCommand());
137  virtual void newScenario(const DtFilename& terrainDatabase, time_t startTimeOfDay = 12 * 3600, const DtChangeWeatherCommand& = DtChangeWeatherCommand());
138 
143  virtual void importScenarioDescriptionFile(const std::string& file, DtSimulationAddress, const std::string& description ,
144  const std::map<std::string, std::string>& importData);
145 
152  virtual void createSimulationObjectGroup(const DtSimulationAddress&, const DtString& simulationObjectGroup,
153  const DtVector& createPosition, double offsetRotation, int createFlags, int force, bool inZipFile = false);
154 
157  virtual bool saveSimulationObjectGroup(const DtFilename& smsDirectory, const std::string& groupName,
158  const std::string& groupDescription, int creationFlags, const DtSimulationAddress& addr,
159  const std::map<DtString, DtString>& additionalInformation = std::map<DtString, DtString>(),
160  bool saveAsZipFile = false);
161 
164  virtual void exportScenarioDescriptionFile(const std::string& file, DtSimulationAddress, const std::string& description,
165  const std::map<std::string, std::string>& importData);
166 
182  virtual bool loadScenario(const DtScenarioLoadInformation&);
184  virtual bool loadScenario(const DtFilename&);
185  virtual bool importScenario(const DtFilename&);
186 
201  virtual void saveScenario(const DtScenario*, DtPreserveMappingsFcn fcn = 0, void* userData = 0,
202  bool saveScenarioToZipFile = false, bool queueSave = false, int putIntoPlayMode = 0);
203 
207  virtual void saveCheckpoints(const std::vector<DtScenario*>&, const DtFilename& scenarioName);
208 
210  virtual void clearSavingCheckpoints();
211 
214  virtual void takeSnapshot(DtSimulationAddress addr = DtSimSendToAll);
215 
218  virtual void takeBaseSnapshot();
219 
225  virtual void closeScenario(const DtFilename& databaseToOpen = "", bool forceCloseScenario = false);
226 
228  virtual void reinitializeScenario();
229 
231 
234 
237  virtual void setScenarioRunDuration(double time, bool duration = false);
238 
243  virtual void runScenario(bool useStartStopInteraction = false, DtSimulationAddress addr = DtSimSendToAll);
245  virtual void pauseScenario(bool useStartStopInteraction = false, DtSimulationAddress addr = DtSimSendToAll);
247  virtual void rewindScenario(DtSimulationAddress addr = DtSimSendToAll);
249  virtual void exitServer(DtSimulationAddress addr = DtSimSendToAll);
251  virtual void stepScenario(DtSimulationAddress addr = DtSimSendToAll);
253 
257  virtual void deleteObject(const DtUUID&, bool andDeleteFromOrbat = false, DtSimulationAddress addr = DtSimSendToAll);
258 
261 
265  virtual void removeObjectCreatedCallback(unsigned int);
266 
271  virtual void createWaypoint(
272  const DtSimulationAddress& addr,
273  const DtVector& geocentricPosition,
274  const std::string& uniqueName = "",
275  const std::string& label = "",
276  unsigned int requestId = 0);
277 
281  virtual unsigned int createWaypoint(
283  const DtSimulationAddress& addr,
284  const DtVector& geocentricPosition,
285  const std::string& uniqueName = "",
286  const std::string& label = "");
287 
289  virtual void modifyWaypoint(
290  const DtUUID& uuid,
291  std::string* uniqueName = 0,
292  std::string* label = 0,
293  DtVector* geocentricPosition = 0,
294  const DtSimulationAddress& addr = DtSimSendToAll);
295 
300  virtual void createRoute(
301  const DtSimulationAddress& addr,
302  const std::vector<DtVector>& vertices,
303  const std::string& uniqueName = "",
304  const std::string& label = "",
305  unsigned int rId = 0);
306 
310  virtual unsigned int createRoute(
312  const DtSimulationAddress& addr,
313  const std::vector<DtVector>& vertices,
314  const std::string& uniqueName = "",
315  const std::string& label = "");
316 
318  virtual void modifyRoute(
319  const DtUUID& uuid,
320  std::string* uniqueName = 0,
321  std::string* label = 0,
322  std::vector<DtVector>* vertices = 0,
323  const DtSimulationAddress& addr = DtSimSendToAll);
324 
329  virtual void createPhaseLine(
330  const DtSimulationAddress& addr,
331  const DtVector& dbPoint1,
332  const DtVector& dbPoint2,
333  const std::string& uniqueName = "",
334  const std::string& label = "",
335  unsigned int rId = 0);
336 
340  virtual unsigned int createPhaseLine(
342  const DtSimulationAddress& addr,
343  const DtVector& dbPoint1,
344  const DtVector& dbPoint2,
345  const std::string& uniqueName = "",
346  const std::string& label = "");
347 
349  virtual void modifyPhaseLine(
350  const DtUUID& uuid,
351  std::string* uniqueName = 0,
352  std::string* label = 0,
353  DtVector* newDbPoint1 = 0,
354  DtVector* newDbPoint2 = 0,
355  const DtSimulationAddress& addr = DtSimSendToAll);
356 
362  virtual void createControlArea(
363  const DtSimulationAddress& addr,
364  const std::vector<DtVector>& vertices,
365  const std::string& uniqueName = "",
366  const std::string& label = "",
367  unsigned int rId = 0);
368 
372  virtual unsigned int createControlArea(
374  const DtSimulationAddress& addr,
375  const std::vector<DtVector>& vertices,
376  const std::string& uniqueName = "",
377  const std::string& label = "");
378 
380  virtual void modifyControlArea(
381  const DtUUID& uuid,
382  std::string* uniqueName = 0,
383  std::string* label = 0,
384  std::vector<DtVector>* newVertices = 0,
385  const DtSimulationAddress& addr = DtSimSendToAll);
386 
392  virtual void createObstacle(
393  const DtSimulationAddress& addr,
394  const std::vector<DtVector>& vertices,
395  const std::string& uniqueName = "",
396  const std::string& label = "",
397  unsigned int rId = 0);
398 
402  virtual unsigned int createObstacle(
404  const DtSimulationAddress& addr,
405  const std::vector<DtVector>& vertices,
406  const std::string& uniqueName = "",
407  const std::string& label = "") ;
408 
410  virtual void modifyObstacle(
411  const DtUUID& uuid,
412  std::string* uniqueName = 0,
413  std::string* label = 0,
414  std::vector<DtVector>* newVertices = 0,
415  const DtSimulationAddress& addr = DtSimSendToAll);
416 
423  virtual void createDisaggregationArea(
424  const DtSimulationAddress& addr,
425  const std::vector<DtVector>& vertices,
426  const std::string& uniqueName = "",
427  const std::string& label = "",
428  unsigned int rId = 0);
429 
434  virtual unsigned int createDisaggregationArea(
436  const DtSimulationAddress& addr,
437  const std::vector<DtVector>& vertices,
438  const std::string& uniqueName = "",
439  const std::string& label = "") ;
440 
442  virtual void modifyDisaggregationArea(
443  const DtUUID& uuid,
444  std::string* uniqueName = 0,
445  std::string* label = 0,
446  std::vector<DtVector>* newVertices = 0,
447  const DtSimulationAddress& addr = DtSimSendToAll);
448 
459  virtual unsigned int createOverlayObject(
460  const DtSimulationAddress& addr,
461  const DtEntityType& type,
462  const std::vector<DtVector>& vertices,
463  const DtForceType& force,
464  const std::string& name,
465  const std::string& label,
466  int color,
467  const std::string& parentName,
468  bool projection,
469  bool closedFigure,
470  const DtAppearance& appearance = DtAppearance::nullAppearance(),
471  const std::string& attachTo = "",
472  char* userData = 0,
473  int dataSize = 0,
474  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
475  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
477 
479  virtual void setPhysicalLineWidth(const DtSimulationAddress& addr,
480  const DtUUID& entityId, double w);
481 
483  virtual void setPhysicalLineHeight(const DtSimulationAddress& addr,
484  const DtUUID& entityId, double h);
485 
487  virtual void setCeiling(const DtSimulationAddress& addr,
488  const DtUUID& entityId, double c);
489 
492  virtual void createIndirectArtillery(
493  const DtIfIndirectArtilleryData& params,
494  const std::string& overlayParent,
495  const DtSimulationAddress& addr);
496 
501  virtual void createComputedRoute(
502  const DtSimulationAddress& addr,
503  const DtVector& sourcePoint,
504  const DtVector& destPoint,
505  const std::list<std::string>& obstacleTypes,
506  const std::list<std::string>& pathTypes,
507  const std::string& uniqueName = "",
508  const std::string& label = "",
509  const std::string& overlay = "",
510  const int forceId = DtForceOther,
511  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
512  unsigned int requestId = 0);
513 
515  virtual void cancelCreateComputedRoute(
516  const DtSimulationAddress& addr,
517  unsigned int requestId);
518 
522  virtual void createComputedRoute(
524  const DtSimulationAddress& addr,
525  const DtVector& sourcePoint,
526  const DtVector& destPoint,
527  const std::list<std::string>& obstacleTypes,
528  const std::list<std::string>& pathTypes,
529  const std::string& uniqueName = "",
530  const std::string& label = "",
531  const std::string& overlay = "",
532  const int forceId = DtForceOther,
533  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>());
535 
538 
541  virtual unsigned int createEntity(DtVrfObjectCreatedCallbackFunction fcn, DtSimulationAddress addr, const DtEntityCreationData&,
542  const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
543  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>());
544 
545  virtual void createEntity(DtSimulationAddress addr, const DtEntityCreationData&,
546  const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
547  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>());
548 
550  virtual void createEntity(
551  const DtSimulationAddress& addr,
552  const DtEntityType& type,
553  const DtVector& geocentricPosition,
554  DtForceType force,
555  DtReal heading,
556  const std::string& uniqueName = "",
557  const std::string& label = "",
558  bool groundClamp = true, const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
559  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>(),
560  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
561  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>());
562 
566  virtual unsigned int createEntity(
568  const DtSimulationAddress& addr,
569  const DtEntityType& type,
570  const DtVector& geocentricPosition,
571  DtForceType force,
572  DtReal heading,
573  const std::string& uniqueName = "",
574  const std::string& label = "",
575  bool groundClamp = true, const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
576  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>(),
577  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
578  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>());
579 
581  virtual unsigned int createAggregate(
583  const DtSimulationAddress& addr,
584  const DtEntityType& type,
585  const DtVector& geocentricPosition,
586  DtForceType force,
587  DtReal heading,
588  const std::string& uniqueName,
589  const std::string& label = "",
590  DtAggregateState initialAggregateState = DtDisaggregated,
591  const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
592  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>(),
593  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
594  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
595  bool createSubordinates = true);
596 
598  virtual void aggregateAs(const std::vector<DtUUID>& uuids, const DtEntityType& type,
599  int force, DtAggregateState initialAggregateState, DtSimulationAddress addr, unsigned int requestId = 0);
600 
604  virtual unsigned int aggregateAs(DtVrfObjectCreatedCallbackFunction fcn,
605  const std::vector<DtUUID>& uuids, const DtEntityType& type,
606  int force, DtAggregateState initialAggregateState, DtSimulationAddress addr);
607 
610  virtual void addToOrganization(const DtUUID& child, const DtUUID& superior,
611  DtSimulationAddress addr = DtSimSendToAll);
612 
616  virtual void addToForceLevelOrganization(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
617 
620  virtual void removeFromOrganization(
621  const DtUUID& uuid,
622  const DtSimulationAddress& addr = DtSimSendToAll);
624 
630 
632  virtual void createEnvironmentalObject(DtSimulationAddress addr, DtEntityType, int force, const std::vector<DtVector>&,
634  const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
635  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>());
636 
646  virtual void sendVrfObjectModifyMsg(
647  const DtSimulationAddress& addr,
648  const DtUUID& uuid,
649  const std::string* name = 0,
650  const std::vector<DtVector>& = std::vector<DtVector>(),
651  int* force = 0,
652  double* heading = 0,
653  const std::string* label = 0,
654  DtAppearance* appearance = 0,
655  const std::string* overlayParent = 0,
656  const std::string* userData = 0,
657  const std::map<std::string, std::string>* extendedData = 0,
658  const std::map<int, DtString>* extendedLabels = 0,
659  bool mergeExtendedData = true);
660 
664  virtual void sendVrfObjectCreateMsg(
665  const DtSimulationAddress& addr,
666  unsigned int requestId,
667  const std::string& name,
668  const DtObjectType& type,
669  const std::vector<DtVector>& vertices,
670  const std::string& label,
671  const DtAppearance& appearance,
672  DtForceType force,
673  bool projection,
674  bool closedFigure,
675  DtReal heading,
676  bool createSubObjects,
677  const std::string& overlayParent = "",
678  bool clampToGroundFlag = true,
679  const std::string& initialFormation = "",
680  DtAggregateState initialAggregateState = DtDisaggregated,
681  const std::string& userData = "", const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
682  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>(),
683  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
684  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
685  const DtUUID& uuidForCreation = DtUUID::nullUUID(),
686  double pitch = 0.);
687 
690  virtual unsigned int addCreateCallbackFunction(DtVrfObjectCreatedCallbackFunction);
691 
694  virtual unsigned int addCreateComputedRouteCallbackFunction(DtComputedRouteResponseCallbackFunction);
695 
697  virtual void removeCreateComputedRouteCallbackFunction(int rId);
698 
705  virtual void sendVrfOverlayObjectModifyMsg(
706  const DtSimulationAddress& addr,
707  const DtUUID& uuid,
708  int* color = 0,
709  const std::string* parentName = 0,
710  const DtUUID* attachTo = 0,
711  const std::string* userData = 0);
712 
714  virtual void sendVrfIndirectArtilleryObjectModifyMsg(
715  const DtSimulationAddress& addr,
716  const DtUUID& uuid,
717  const DtIfIndirectArtilleryData& mod);
719 
725 
727  virtual void setLabel(
728  const DtUUID& uuid, const std::string& label,
729  const DtSimulationAddress& addr = DtSimSendToAll);
730 
732  virtual void setExtendedLabels(
733  const DtUUID& uuid, const std::map<int, DtString>& extendedLabels,
734  const DtSimulationAddress& addr = DtSimSendToAll);
735 
737  virtual void setOverlayParent(
738  const DtUUID& uuid, const std::string& label,
739  const DtSimulationAddress& addr = DtSimSendToAll);
740 
742  virtual void setAltitude(
743  const DtUUID& uuid, double altitude, bool aboveGroundLevel = false,
744  const DtSimulationAddress& addr = DtSimSendToAll);
745 
747  virtual void setLocation(
748  const DtUUID& uuid, DtVector coord,
749  const DtSimulationAddress& addr = DtSimSendToAll);
750 
754  virtual void setAppearance(
755  const DtUUID& uuid, int appearance,
756  const DtSimulationAddress& addr = DtSimSendToAll);
757 
761  virtual void setCapabilities(
762  const DtUUID& uuid, int capabilities,
763  const DtSimulationAddress& addr = DtSimSendToAll);
764 
766  virtual void setHeading(
767  const DtUUID& uuid, double degrees,
768  const DtSimulationAddress& addr = DtSimSendToAll);
769 
771  virtual void setForce(
772  const DtUUID& uuid, DtForceType force,
773  const DtSimulationAddress& addr = DtSimSendToAll);
774 
776  virtual void setResource(const DtUUID& uuid,
777  const char* resourceType, double value,
778  const DtSimulationAddress& addr = DtSimSendToAll);
779 
783  virtual void setRulesOfEngagement(
784  const DtUUID& uuid, const char* rulesType,
785  const DtSimulationAddress& addr = DtSimSendToAll);
786 
788  virtual void setSectorOfResponsibility(
789  const DtUUID& uuid, double center, double size,
790  const DtSimulationAddress& addr = DtSimSendToAll);
791 
795  virtual void setSpeed(
796  const DtUUID& uuid, double speed,
797  const DtSimulationAddress& addr = DtSimSendToAll);
798 
801  virtual void setCurrentSpeed(
802  const DtUUID& uuid, double speed,
803  const DtSimulationAddress& addr = DtSimSendToAll);
804 
806  virtual void setTarget(
807  const DtUUID& uuid, const DtUUID& target,
808  const DtSimulationAddress& addr = DtSimSendToAll);
809 
812  virtual void setSuperior(
813  const DtUUID& uuid, const DtUUID& superior,
814  const DtSimulationAddress& addr = DtSimSendToAll);
815 
819  virtual void setTaskedBySuperior(const DtUUID& uuid,
820  const DtSimulationAddress& addr = DtSimSendToAll);
821 
823  virtual void setConcealed(const DtUUID& uuid,
824  bool yes, const DtSimulationAddress& addr = DtSimSendToAll);
825 
827  virtual void setEmitter(const DtUUID& uuid,
828  int emitterId, bool on,
829  const DtSimulationAddress& addr = DtSimSendToAll);
830 
832  virtual void setEmergencyBeacon(const DtUUID& uuid,
833  bool on,
834  const DtSimulationAddress& addr = DtSimSendToAll);
835 
837  virtual void setIff(const DtUUID& uuid,
838  bool mode1on, int mode1code,
839  bool mode2on, int mode2code,
840  bool mode3on, int mode3code,
841  bool mode4on, int mode4code,
842  DtIffAtcNavaidsAltParm4 altParm4,
843  bool modeCon, bool useAltModeC,
844  bool modeSon, bool emergency,
845  bool flash, bool sti, bool modeSTcasI,
846  int pin, bool mode5LevelSelection,
847  unsigned int messageFormatsPresent, unsigned int nationalOrigin,
848  unsigned int navigationSource, unsigned int figureOfMerit,
849  const DtSimulationAddress& addr = DtSimSendToAll);
850 
854  virtual void restore(const DtUUID& uuid,
855  const DtSimulationAddress& addr = DtSimSendToAll);
856 
859  virtual void setDestroyed(const DtUUID& uuid,
860  const DtSimulationAddress& addr = DtSimSendToAll);
861 
863  virtual void setLifeformWeaponState(
864  const DtUUID& uuid, DtWeaponState weapon,
865  const DtSimulationAddress& addr = DtSimSendToAll);
866 
868  virtual void setSkillLevel(
869  const DtUUID& uuid, const unsigned int level,
870  const DtSimulationAddress& addr = DtSimSendToAll);
871 
873  virtual void setLifeformPosture(
874  const DtUUID& uuid, DtLifeformState posture,
875  const DtSimulationAddress& addr = DtSimSendToAll);
876 
878  virtual void setAggregateFormation(
879  const DtUUID& leader, const std::string& formationName,
880  const DtSimulationAddress& addr = DtSimSendToAll);
881 
885  virtual void reorganizeAggregate(const DtUUID& leader,
886  const DtSimulationAddress& addr = DtSimSendToAll);
887 
891  virtual void disaggregate(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
892 
896  virtual void aggregate(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
897 
900  virtual void sendSetDataMsg(
901  const DtUUID& recipient, DtSetDataRequest* msg,
902  const DtSimulationAddress& addr = DtSimSendToAll,
903  bool updateScenario = true);
904 
907  virtual void sendSetRequest(const DtSetDataRequest& s, const DtUUID& uuid,
908  const DtSimulationAddress& addr = DtSimSendToAll, bool updateScenario = true);
909 
911  virtual void sendSetRequest(const DtSetDataRequest& s, const std::vector<DtUUID>& names,
912  const DtSimulationAddress& addr = DtSimSendToAll, bool updateScenario = true);
913 
919  virtual void requestIndirectArtilleryInformation(const DtUUID&);
921 
925 
928  virtual void moveAlongRoute(
929  const DtUUID& entity, const DtUUID& route,
930  const DtSimulationAddress& addr = DtSimSendToAll);
931 
934  virtual void moveToWaypoint(
935  const DtUUID& entity, const DtUUID& waypoint,
936  const DtSimulationAddress& addr = DtSimSendToAll);
937 
941  virtual void moveToLocation(
942  const DtUUID& entity, const DtVector& destinationLocation,
943  const DtSimulationAddress& addr = DtSimSendToAll);
944 
947  virtual void patrolBetweenWaypoints(
948  const DtUUID& entity,
949  const DtUUID& waypoint1, const DtUUID& waypoint2,
950  const DtSimulationAddress& addr = DtSimSendToAll);
951 
954  virtual void patrolAlongRoute(
955  const DtUUID& entity, const DtUUID& route,
956  const DtSimulationAddress& addr = DtSimSendToAll);
957 
963  virtual void followEntity(
964  const DtUUID& entity,
965  const DtUUID& leader, const DtVector& offset,
966  const DtSimulationAddress& addr = DtSimSendToAll);
967 
970  virtual void wait(
971  const DtUUID& entity,
972  const DtSimulationAddress& addr = DtSimSendToAll);
973 
976  virtual void waitDuration(
977  const DtUUID& entity, DtTime duration,
978  const DtSimulationAddress& addr = DtSimSendToAll);
979 
983  virtual void waitElapsed(
984  const DtUUID& entity, DtTime elapsed,
985  const DtSimulationAddress& addr = DtSimSendToAll);
986 
991  virtual void requestCurrentTasks(const DtUUID& entity);
992 
996  virtual void subscribeForTaskInformation(const DtUUID& entity);
997 
1000  virtual void unsubscribeForTaskInformation(const DtUUID& entity);
1001 
1005  virtual void sendTaskMsg(
1006  const DtUUID& recipient, DtSimTask* task,
1007  const DtSimulationAddress& addr = DtSimSendToAll);
1008 
1010  virtual void sendTaskRequest(const DtSimTask& s, const std::vector<DtUUID>& names, const DtSimulationAddress& addr = DtSimSendToAll);
1012  virtual void sendTaskRequest(const DtSimTask& s, const DtUUID& uuid, const DtSimulationAddress& addr = DtSimSendToAll);
1013 
1018  virtual void requestTasksAndSetsFor(const std::vector<DtUUID>& name);
1020 
1027 
1030  virtual void abandonPlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1031 
1034  virtual void skipTask(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1035 
1037  virtual void cancelReactiveTask(const DtUUID& uuid, std::string scriptId, DtSimulationAddress addr = DtSimSendToAll);
1038 
1041  virtual void restartPlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1042 
1044  virtual void assignPlanByName(const DtUUID& uuid, const DtPlan*, DtSimulationAddress addr = DtSimSendToAll);
1045 
1047  virtual void assignMultiplePlanByName(std::vector<DtUUID> names, const DtPlan*, DtSimulationAddress addr = DtSimSendToAll);
1048 
1054  virtual void requestPlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1055 
1061  virtual void subscribePlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1062 
1069  virtual void requestMultiplePlans(std::vector<DtUUID> names, DtSimulationAddress addr = DtSimSendToAll);
1070 
1075  virtual void requestGlobalPlans(DtSimulationAddress addr = DtSimSendToAll);
1076 
1079  virtual void assignGlobalPlanByName(const DtUUID& name, const DtPlan*, DtSimulationAddress addr);
1080 
1082  virtual void deleteGlobalPlan(const DtUUID&, DtSimulationAddress addr);
1083 
1085  virtual void launchGlobalPlan(const DtUUID&, DtSimulationAddress addr);
1087 
1089  virtual void setTimeoutInterval(int);
1090 
1096  virtual void requestDIGuyAppearancesAndAnimations(const std::vector<DtUUID>& name);
1097 
1104  virtual void requestResourcesFor(std::vector<DtUUID> names, DtSimulationAddress addr = DtSimSendToAll);
1105 
1107  virtual void sendMessageToObject(const DtVrfObjectMessage&, DtSimulationAddress addr = DtSimSendToAll);
1108 
1110  virtual void sendObjectMessageAndDeleteContent(DtVrfObjectMessage* message, DtSimulationAddress addr = DtSimSendToAll);
1111 
1113  virtual void sendSensorFieldOfViewControlInteraction(const DtSensorFieldOfViewControlInteractionData& interData);
1114 
1116  virtual void sendSensorFieldOfViewControlInteractionAndDelete(DtSensorFieldOfViewControlInteractionData* data);
1117 
1119  virtual void sendDetonationInteraction(const DtDetonationInteractionData& interData);
1120 
1122  virtual void sendDetonationInteractionAndDelete(DtDetonationInteractionData* data);
1123 
1125  virtual void requestForces(DtSimulationAddress addr);
1126 
1129  virtual void requestDoctrines();
1130 
1133  virtual void requestAssignedDoctrines();
1134 
1136  virtual unsigned long generateRequestId();
1137 
1139  virtual void quitAllBackends();
1140 
1141  //-------------------------------------------------------
1143  //-------------------------------------------------------
1144 
1149  virtual void takeControlOf(const DtUUID&, const std::set<std::string>& functionalGroups = std::set<std::string>(),
1150  const DtSimulationAddress& addr = DtSimSendToAll);
1151 
1154  virtual void releaseControlOf(const DtUUID&, const std::set<std::string>& functionalGroups = std::set<std::string>(),
1155  const DtSimulationAddress& addr = DtSimSendToAll);
1156 
1159  virtual void sendJoystickControl(const DtUUID&, const std::string& functionGroup,
1160  const std::string& function, double value, bool repeat = false, const DtSimulationAddress& addr = DtSimSendToAll);
1161 
1162  public:
1163 
1165  virtual void addSetCreatorFcn(const DtSetMessageType&, DtSetDataRequestCreatorFcn);
1166 
1168  virtual void addTaskCreatorFcn(const DtSimTaskMessageType&, DtSimTaskCreatorFcn);
1169 
1171  virtual void addInterfaceContentCreatorFcn(int t, DtInterfaceContentCreatorFcn);
1172 
1174  virtual void addAdminContentCreatorFcn(const DtAdminContentMessageType&, DtAdminContentCreatorFcn);
1175 
1177  virtual void addConditionCreatorFcn(std::string, int, DtCondExprCreatorFcn);
1178 
1180  virtual void addReportCreatorFcn(const DtSimReportMessageType&, DtSimReportCreatorFcn);
1181 
1183  virtual void addObjectMessageCreatorFcn(int, DtVrfObjectMessageCreatorFcn);
1184 
1186  virtual void addSimulationCommandCreatorFcn(const DtSimCommandMessageType&, DtSimCommandCreatorFcn);
1187 
1190  virtual void sendMessage(const DtSimInterfaceContent& message, DtSimulationAddress addr = DtSimSendToAll);
1191  virtual void sendMessageAndDeleteContent(DtSimInterfaceContent* message, DtSimulationAddress addr = DtSimSendToAll);
1192 
1199  virtual void embarkOn(const std::vector<DtUUID>& children, const DtUUID& parent,
1200  bool useSlot = true, const DtVector& overridePosition = DtVector::zero(),
1201  int embarkInSlot = -1, const DtString& slotName = "*", const DtString& slotType = "*",
1202  bool chooseAnyIfNotAvailable = true, DtSimulationAddress addr = DtSimSendToAll);
1203 
1205  virtual void disembark(const std::vector<DtUUID>& children, DtSimulationAddress addr = DtSimSendToAll);
1206 
1208  virtual void disembarkAll(const std::vector<DtUUID>& parents, DtSimulationAddress addr = DtSimSendToAll);
1209 
1211  virtual void attachTo(const std::vector<DtUUID>& ids, const DtUUID& parent);
1212 
1214  virtual void detachAll(const std::vector<DtUUID>& ids);
1215 
1218  virtual void logObjectConsoleToFile(const DtUUID& uuid, const std::string& filename);
1219 
1222  virtual void stopLoggingObjectConsoleToFile(const DtUUID& uuid);
1223 
1225  virtual void setObjectNotifyLevel(const DtUUID& uuid, int);
1226 
1228  virtual void setTimeOfDay(time_t seconds);
1229  virtual void setTimeOfDay(int hours, int minutes, int seconds);
1230 
1232  virtual void setDateAndTimeOfDay(time_t seconds);
1233  virtual void setDateAndTimeOfDay(int year, int month, int day, int hours, int minutes, int seconds);
1234 
1236  virtual void setUseDayNightIlluminationModel(bool);
1237 
1239  virtual void setAggregateOnCreate(bool);
1240  bool aggregateOnCreate() const;
1241 
1244  virtual void requestScenarioDescription(DtSimulationAddress);
1245 
1247  virtual void setScenarioDescription(const DtString&, DtSimulationAddress addr = DtSimSendToAll);
1248 
1250  virtual void setScenarioName(const DtString&, DtSimulationAddress addr = DtSimSendToAll);
1251 
1253  virtual void addContentMessagesThatModifyScenario(int);
1254  virtual void removeContentMessagesThatModifyScenario(int);
1255  const std::set<int>& contentMessagesThatModifyScenario() const { return myContentMessagesThatModifyScenario; };
1256 
1257  public:
1259  virtual void sendLoggerSetFilename(std::string filename);
1260 
1261  virtual void sendLoggerRecordMessage();
1262 
1263  virtual void sendLoggerStopMessage();
1264 
1265  protected:
1267  virtual void processObjectCreated(DtSimMessage*);
1268 
1270  virtual void processComputedRouteCreated(DtSimMessage*);
1271 
1273  virtual void setActivated(bool);
1274 
1282  virtual bool addStatementsAndSendPlan(const DtPlan& plan, DtIfPlan& planMsg,
1283  const DtSimulationAddress& addr = DtSimSendToAll,
1284  int *retiStatus = 0, DtString* retsStmt = 0);
1285 
1287  virtual void indirectArtilleryCreated(DtString, const DtUUID&, const DtEntityIdentifier&, DtIfIndirectArtilleryData);
1288 
1290  virtual void checkIfContentMessageShouldMarkScenarioAsModified(const DtSimInterfaceContent&);
1291 
1292  public:
1296 
1298  boost::signals2::signal<void (const DtScenario*)> signal_loadedScenario;
1299 
1301  boost::signals2::signal<void ()> signal_communicationDriverStarted;
1302 
1304  boost::signals2::signal<void ()> signal_scenarioModified;
1305 
1307  boost::signals2::signal<void (const DtScenarioLoadInformation&)> signal_loadScenario;
1308 
1310  boost::signals2::signal<void (const DtScenario*, DtPreserveMappingsFcn fcn, void* userData, bool saveToZipFile,
1311  bool queueSave, int putIntoPlayMode)> signal_saveScenario;
1312 
1314  boost::signals2::signal<void (double)> signal_rollbackToSnapshot;
1315 
1318  boost::signals2::signal<void (std::vector<DtScenario*>, DtFilename)> signal_saveCheckpoints;
1319 
1321  boost::signals2::signal<void ()> signal_clearSavingCheckpoints;
1322 
1325  boost::signals2::signal<void (const DtUUID&, bool& shouldDelete)> signal_shouldDeleteObject;
1326 
1328  boost::signals2::signal<void ()> signal_closeScenario;
1329 
1331  boost::signals2::signal<void ()> signal_reinitializeScenario;
1332 
1335  boost::signals2::signal<void (DtIfCreateVrfObject&)> signal_aboutToSendCreateMessage;
1336 
1338  boost::signals2::signal<void (DtIfModifyVrfObject&)> signal_aboutToSendModifyMessage;
1339 
1341 
1342  protected:
1344  virtual void slot_preTick(makVrv::DtDe* de);
1345 
1346  protected:
1348 
1349  typedef std::map<unsigned int, DtVrfObjectCreatedCallbackFunction> CreateCallbacks;
1350 
1352 
1353  typedef std::map<unsigned int, DtComputedRouteResponseCallbackFunction> ComputedRouteCallbacks;
1354 
1356 
1358  };
1359 }
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:1335
Definition: environmentalCreationData.h:27
boost::signals2::signal< void(const DtScenario *)> signal_loadedScenario
Called after both signal_new and signal_load scenario.
Definition: guiThreadVrfRemoteController.h:1298
DtSetDataRequestFactory::DtCreatorFcn DtSetDataRequestCreatorFcn
Definition: setDataRequestFactory.h:41
Definition: scenario.h:52
std::map< unsigned int, DtComputedRouteResponseCallbackFunction > ComputedRouteCallbacks
Definition: guiThreadVrfRemoteController.h:1353
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:1314
voidpf void uLong size
Definition: ioapi.h:39
Contains makVrv:DtSelectionManager class.
boost::signals2::signal< void()> signal_communicationDriverStarted
Signal sent when the communication driver has been started.
Definition: guiThreadVrfRemoteController.h:1301
std::map< unsigned int, DtVrfObjectCreatedCallbackFunction > CreateCallbacks
Definition: guiThreadVrfRemoteController.h:1349
This class is a thread-safe API to the DtVrfRemoteController.
Definition: guiThreadVrfRemoteController.h:93
Definition: vrfSpotReportManager.h:54
#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:1338
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:1311
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:2458
DtAdminContentFactory::DtCreatorFcn DtAdminContentCreatorFcn
Definition: adminContentFactory.h:36
boost::function< void(bool, DtString, const DtUUID &, const DtEntityIdentifier &)> DtComputedRouteResponseCallbackFunction
Definition: guiThreadVrfRemoteController.h:57
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:1351
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:1321
Contains makVrv::DtVirtualBaseClass class.
The Master DtVrfBackendSettingsManager.
Definition: vrfBackendSettingsManager.h:40
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:1304
DtVrfObjectMessage *(* DtVrfObjectMessageCreatorFcn)()
Creator function for DtVrfObjectMessage instances.
Definition: vrfObjectMessageFactory.h:21
ComputedRouteCallbacks myCreateComputedRouteCallbacks
Definition: guiThreadVrfRemoteController.h:1355
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:28
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:1331
DtSimCommand *(* DtSimCommandCreatorFcn)()
Definition: simCommandFactory.h:20
class DtPlan:
Definition: plan.h:90
Contains makVrf::DtSharedNetworkSignaler class.
boost::function< void(DtString, const DtUUID &, const DtEntityIdentifier &, const DtObjectType &)> DtVrfObjectCreatedCallbackFunction
Definition: guiThreadVrfRemoteController.h:54
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:27
bool(* DtPreserveMappingsFcn)(void *usr)
Used by saveScenario to determine if original (true) or new mappings should be saved.
Definition: vrfRemoteController.h:88
bool myAggregateOnCreate
Definition: guiThreadVrfRemoteController.h:1347
DtSimTask is an abstract base class from which real tasks can derive.
Definition: simTask.h:33
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:1357
boost::signals2::signal< void()> signal_closeScenario
Sent when the scenario is closing.
Definition: guiThreadVrfRemoteController.h:1328
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:1325
voidpf uLong offset
Definition: ioapi.h:42
Definition: scenario.h:614
boost::signals2::signal< void(const DtScenarioLoadInformation &)> signal_loadScenario
Calls down to simulation to load the scenario based on load scenario message.
Definition: guiThreadVrfRemoteController.h:1307
const std::set< int > & contentMessagesThatModifyScenario() const
Definition: guiThreadVrfRemoteController.h:1255
DtSimCondExpr *(* DtCondExprCreatorFcn)()
Definition: condExprFactory.h:28
class DtIfCreateVrfObject:
Definition: ifCreateVrfObject.h:84
Definition: adminMessage.h:20

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)