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 #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::vector<std::string>& icaos = std::vector<std::string>(),
520  const DtUUID& areaUUID = DtUUID::nullUUID(),
521  const std::string& overlay = "",
522  const int forceId = DtForceNeutral,
523  unsigned int requestId = 0);
525 
528 
531  virtual unsigned int createEntity(DtVrfObjectCreatedCallbackFunction fcn, DtSimulationAddress addr, const DtEntityCreationData&,
532  const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
533  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>());
534 
535  virtual void createEntity(DtSimulationAddress addr, const DtEntityCreationData&,
536  const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
537  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>());
538 
540  virtual void createEntity(
541  const DtSimulationAddress& addr,
542  const DtEntityType& type,
543  const DtVector& geocentricPosition,
544  DtForceType force,
545  DtReal heading,
546  const std::string& uniqueName = "",
547  const std::string& label = "",
548  bool groundClamp = true, const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
549  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>(),
550  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
551  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>());
552 
556  virtual unsigned int createEntity(
558  const DtSimulationAddress& addr,
559  const DtEntityType& type,
560  const DtVector& geocentricPosition,
561  DtForceType force,
562  DtReal heading,
563  const std::string& uniqueName = "",
564  const std::string& label = "",
565  bool groundClamp = true, const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
566  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>(),
567  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
568  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>());
569 
571  virtual unsigned int createAggregate(
573  const DtSimulationAddress& addr,
574  const DtEntityType& type,
575  const DtVector& geocentricPosition,
576  DtForceType force,
577  DtReal heading,
578  const std::string& uniqueName,
579  const std::string& label = "",
580  DtAggregateState initialAggregateState = DtDisaggregated,
581  const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
582  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>(),
583  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
584  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
585  bool createSubordinates = true);
586 
588  virtual void aggregateAs(const std::vector<DtUUID>& uuids, const DtEntityType& type,
589  int force, DtAggregateState initialAggregateState, DtSimulationAddress addr, unsigned int requestId = 0);
590 
594  virtual unsigned int aggregateAs(DtVrfObjectCreatedCallbackFunction fcn,
595  const std::vector<DtUUID>& uuids, const DtEntityType& type,
596  int force, DtAggregateState initialAggregateState, DtSimulationAddress addr);
597 
600  virtual void addToOrganization(const DtUUID& child, const DtUUID& superior,
601  DtSimulationAddress addr = DtSimSendToAll);
602 
606  virtual void addToForceLevelOrganization(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
607 
610  virtual void removeFromOrganization(
611  const DtUUID& uuid,
612  const DtSimulationAddress& addr = DtSimSendToAll);
614 
620 
622  virtual void createEnvironmentalObject(DtSimulationAddress addr, DtEntityType, int force, const std::vector<DtVector>&,
624  const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
625  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>());
626 
636  virtual void sendVrfObjectModifyMsg(
637  const DtSimulationAddress& addr,
638  const DtUUID& uuid,
639  const std::string* name = 0,
640  const std::vector<DtVector>& = std::vector<DtVector>(),
641  int* force = 0,
642  double* heading = 0,
643  const std::string* label = 0,
644  DtAppearance* appearance = 0,
645  const std::string* overlayParent = 0,
646  const std::string* userData = 0,
647  const std::map<std::string, std::string>* extendedData = 0,
648  const std::map<int, DtString>* extendedLabels = 0,
649  bool mergeExtendedData = true);
650 
654  virtual void sendVrfObjectCreateMsg(
655  const DtSimulationAddress& addr,
656  unsigned int requestId,
657  const std::string& name,
658  const DtObjectType& type,
659  const std::vector<DtVector>& vertices,
660  const std::string& label,
661  const DtAppearance& appearance,
662  DtForceType force,
663  bool projection,
664  bool closedFigure,
665  DtReal heading,
666  bool createSubObjects,
667  const std::string& overlayParent = "",
668  bool clampToGroundFlag = true,
669  const std::string& initialFormation = "",
670  DtAggregateState initialAggregateState = DtDisaggregated,
671  const std::string& userData = "", const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
672  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>(),
673  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
674  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
675  const DtUUID& uuidForCreation = DtUUID::nullUUID(),
676  double pitch = 0.);
677 
680  virtual unsigned int addCreateCallbackFunction(DtVrfObjectCreatedCallbackFunction);
681 
684  virtual unsigned int addCreateComputedRouteCallbackFunction(DtComputedRouteResponseCallbackFunction);
685 
687  virtual void removeCreateComputedRouteCallbackFunction(int rId);
688 
691  virtual unsigned int addComputeAerodromeCallbackFunction(DtComputedAerodromeResponseCallbackFunction);
692 
694  virtual void removeComputeAerodromeCallbackFunction(int rId);
695 
702  virtual void sendVrfOverlayObjectModifyMsg(
703  const DtSimulationAddress& addr,
704  const DtUUID& uuid,
705  int* color = 0,
706  const std::string* parentName = 0,
707  const DtUUID* attachTo = 0,
708  const std::string* userData = 0);
709 
711  virtual void sendVrfIndirectArtilleryObjectModifyMsg(
712  const DtSimulationAddress& addr,
713  const DtUUID& uuid,
714  const DtIfIndirectArtilleryData& mod);
716 
722 
724  virtual void setLabel(
725  const DtUUID& uuid, const std::string& label,
726  const DtSimulationAddress& addr = DtSimSendToAll);
727 
729  virtual void setExtendedLabels(
730  const DtUUID& uuid, const std::map<int, DtString>& extendedLabels,
731  const DtSimulationAddress& addr = DtSimSendToAll);
732 
734  virtual void setOverlayParent(
735  const DtUUID& uuid, const std::string& label,
736  const DtSimulationAddress& addr = DtSimSendToAll);
737 
739  virtual void setAltitude(
740  const DtUUID& uuid, double altitude, bool aboveGroundLevel = false,
741  const DtSimulationAddress& addr = DtSimSendToAll);
742 
744  virtual void setLocation(
745  const DtUUID& uuid, DtVector coord,
746  const DtSimulationAddress& addr = DtSimSendToAll);
747 
751  virtual void setAppearance(
752  const DtUUID& uuid, int appearance,
753  const DtSimulationAddress& addr = DtSimSendToAll);
754 
758  virtual void setCapabilities(
759  const DtUUID& uuid, int capabilities,
760  const DtSimulationAddress& addr = DtSimSendToAll);
761 
763  virtual void setHeading(
764  const DtUUID& uuid, double degrees,
765  const DtSimulationAddress& addr = DtSimSendToAll);
766 
768  virtual void setForce(
769  const DtUUID& uuid, DtForceType force,
770  const DtSimulationAddress& addr = DtSimSendToAll);
771 
773  virtual void setResource(const DtUUID& uuid,
774  const char* resourceType, double value,
775  const DtSimulationAddress& addr = DtSimSendToAll);
776 
780  virtual void setRulesOfEngagement(
781  const DtUUID& uuid, const char* rulesType,
782  const DtSimulationAddress& addr = DtSimSendToAll);
783 
785  virtual void setSectorOfResponsibility(
786  const DtUUID& uuid, double center, double size,
787  const DtSimulationAddress& addr = DtSimSendToAll);
788 
792  virtual void setSpeed(
793  const DtUUID& uuid, double speed,
794  const DtSimulationAddress& addr = DtSimSendToAll);
795 
798  virtual void setCurrentSpeed(
799  const DtUUID& uuid, double speed,
800  const DtSimulationAddress& addr = DtSimSendToAll);
801 
803  virtual void setTarget(
804  const DtUUID& uuid, const DtUUID& target,
805  const DtSimulationAddress& addr = DtSimSendToAll);
806 
809  virtual void setSuperior(
810  const DtUUID& uuid, const DtUUID& superior,
811  const DtSimulationAddress& addr = DtSimSendToAll);
812 
816  virtual void setTaskedBySuperior(const DtUUID& uuid,
817  const DtSimulationAddress& addr = DtSimSendToAll);
818 
820  virtual void setConcealed(const DtUUID& uuid,
821  bool yes, const DtSimulationAddress& addr = DtSimSendToAll);
822 
824  virtual void setEmitter(const DtUUID& uuid,
825  int emitterId, bool on,
826  const DtSimulationAddress& addr = DtSimSendToAll);
827 
829  virtual void setEmergencyBeacon(const DtUUID& uuid,
830  bool on,
831  const DtSimulationAddress& addr = DtSimSendToAll);
832 
834  virtual void setIff(const DtUUID& uuid,
835  bool mode1on, int mode1code,
836  bool mode2on, int mode2code,
837  bool mode3on, int mode3code,
838  bool mode4on, int mode4code,
839  DtIffAtcNavaidsAltParm4 altParm4,
840  bool modeCon, bool useAltModeC,
841  bool modeSon, bool emergency,
842  bool flash, bool sti, bool modeSTcasI,
843  int pin, bool mode5LevelSelection,
844  unsigned int messageFormatsPresent, unsigned int nationalOrigin,
845  unsigned int navigationSource, unsigned int figureOfMerit,
846  const DtSimulationAddress& addr = DtSimSendToAll);
847 
851  virtual void restore(const DtUUID& uuid,
852  const DtSimulationAddress& addr = DtSimSendToAll);
853 
856  virtual void setDestroyed(const DtUUID& uuid,
857  const DtSimulationAddress& addr = DtSimSendToAll);
858 
860  virtual void setLifeformWeaponState(
861  const DtUUID& uuid, DtWeaponState weapon,
862  const DtSimulationAddress& addr = DtSimSendToAll);
863 
865  virtual void setSkillLevel(
866  const DtUUID& uuid, const unsigned int level,
867  const DtSimulationAddress& addr = DtSimSendToAll);
868 
870  virtual void setLifeformPosture(
871  const DtUUID& uuid, DtLifeformState posture,
872  const DtSimulationAddress& addr = DtSimSendToAll);
873 
875  virtual void setAggregateFormation(
876  const DtUUID& leader, const std::string& formationName,
877  const DtSimulationAddress& addr = DtSimSendToAll);
878 
882  virtual void reorganizeAggregate(const DtUUID& leader,
883  const DtSimulationAddress& addr = DtSimSendToAll);
884 
887  virtual void sendSetDataMsg(
888  const DtUUID& recipient, DtSetDataRequest* msg,
889  const DtSimulationAddress& addr = DtSimSendToAll,
890  bool updateScenario = true);
891 
894  virtual void sendSetRequest(const DtSetDataRequest& s, const DtUUID& uuid,
895  const DtSimulationAddress& addr = DtSimSendToAll, bool updateScenario = true);
896 
898  virtual void sendSetRequest(const DtSetDataRequest& s, const std::vector<DtUUID>& names,
899  const DtSimulationAddress& addr = DtSimSendToAll, bool updateScenario = true);
900 
906  virtual void requestIndirectArtilleryInformation(const DtUUID&);
908 
912 
915  virtual void moveAlongRoute(
916  const DtUUID& entity, const DtUUID& route,
917  const DtSimulationAddress& addr = DtSimSendToAll);
918 
921  virtual void moveToWaypoint(
922  const DtUUID& entity, const DtUUID& waypoint,
923  const DtSimulationAddress& addr = DtSimSendToAll);
924 
928  virtual void moveToLocation(
929  const DtUUID& entity, const DtVector& destinationLocation,
930  const DtSimulationAddress& addr = DtSimSendToAll);
931 
934  virtual void patrolBetweenWaypoints(
935  const DtUUID& entity,
936  const DtUUID& waypoint1, const DtUUID& waypoint2,
937  const DtSimulationAddress& addr = DtSimSendToAll);
938 
941  virtual void patrolAlongRoute(
942  const DtUUID& entity, const DtUUID& route,
943  const DtSimulationAddress& addr = DtSimSendToAll);
944 
950  virtual void followEntity(
951  const DtUUID& entity,
952  const DtUUID& leader, const DtVector& offset,
953  const DtSimulationAddress& addr = DtSimSendToAll);
954 
957  virtual void wait(
958  const DtUUID& entity,
959  const DtSimulationAddress& addr = DtSimSendToAll);
960 
963  virtual void waitDuration(
964  const DtUUID& entity, DtTime duration,
965  const DtSimulationAddress& addr = DtSimSendToAll);
966 
970  virtual void waitElapsed(
971  const DtUUID& entity, DtTime elapsed,
972  const DtSimulationAddress& addr = DtSimSendToAll);
973 
978  virtual void requestCurrentTasks(const DtUUID& entity);
979 
983  virtual void subscribeForTaskInformation(const DtUUID& entity);
984 
987  virtual void unsubscribeForTaskInformation(const DtUUID& entity);
988 
992  virtual void sendTaskMsg(
993  const DtUUID& recipient, DtSimTask* task,
994  const DtSimulationAddress& addr = DtSimSendToAll);
995 
997  virtual void sendTaskRequest(const DtSimTask& s, const std::vector<DtUUID>& names, const DtSimulationAddress& addr = DtSimSendToAll);
999  virtual void sendTaskRequest(const DtSimTask& s, const DtUUID& uuid, const DtSimulationAddress& addr = DtSimSendToAll);
1000 
1005  virtual void requestTasksAndSetsFor(const std::vector<DtUUID>& name);
1007 
1014 
1017  virtual void abandonPlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1018 
1021  virtual void skipTask(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1022 
1024  virtual void cancelReactiveTask(const DtUUID& uuid, std::string scriptId, DtSimulationAddress addr = DtSimSendToAll);
1025 
1028  virtual void restartPlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1029 
1031  virtual void assignPlanByName(const DtUUID& uuid, const DtPlan*, DtSimulationAddress addr = DtSimSendToAll);
1032 
1034  virtual void assignMultiplePlanByName(std::vector<DtUUID> names, const DtPlan*, DtSimulationAddress addr = DtSimSendToAll);
1035 
1041  virtual void requestPlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1042 
1048  virtual void subscribePlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1049 
1056  virtual void requestMultiplePlans(std::vector<DtUUID> names, DtSimulationAddress addr = DtSimSendToAll);
1057 
1062  virtual void requestGlobalPlans(DtSimulationAddress addr = DtSimSendToAll);
1063 
1066  virtual void assignGlobalPlanByName(const DtUUID& name, const DtPlan*, DtSimulationAddress addr);
1067 
1069  virtual void deleteGlobalPlan(const DtUUID&, DtSimulationAddress addr);
1070 
1072  virtual void launchGlobalPlan(const DtUUID&, DtSimulationAddress addr);
1074 
1076  virtual void setTimeoutInterval(int);
1077 
1083  virtual void requestDIGuyAppearancesAndAnimations(const std::vector<DtUUID>& name);
1084 
1091  virtual void requestResourcesFor(std::vector<DtUUID> names, DtSimulationAddress addr = DtSimSendToAll);
1092 
1094  virtual void sendMessageToObject(const DtVrfObjectMessage&, DtSimulationAddress addr = DtSimSendToAll);
1095 
1097  virtual void sendObjectMessageAndDeleteContent(DtVrfObjectMessage* message, DtSimulationAddress addr = DtSimSendToAll);
1098 
1100  virtual void sendSensorFieldOfViewControlInteraction(const DtSensorFieldOfViewControlInteractionData& interData);
1101 
1103  virtual void sendSensorFieldOfViewControlInteractionAndDelete(DtSensorFieldOfViewControlInteractionData* data);
1104 
1106  virtual void sendDetonationInteraction(const DtDetonationInteractionData& interData);
1107 
1109  virtual void sendDetonationInteractionAndDelete(DtDetonationInteractionData* data);
1110 
1112  virtual void requestForces(DtSimulationAddress addr);
1113 
1116  virtual void requestDoctrines();
1117 
1120  virtual void requestAssignedDoctrines();
1121 
1123  virtual unsigned long generateRequestId();
1124 
1126  virtual void quitAllBackends();
1127 
1128  //-------------------------------------------------------
1130  //-------------------------------------------------------
1131 
1136  virtual void takeControlOf(const DtUUID&, const std::set<std::string>& functionalGroups = std::set<std::string>(),
1137  const DtSimulationAddress& addr = DtSimSendToAll);
1138 
1141  virtual void releaseControlOf(const DtUUID&, const std::set<std::string>& functionalGroups = std::set<std::string>(),
1142  const DtSimulationAddress& addr = DtSimSendToAll);
1143 
1146  virtual void sendJoystickControl(const DtUUID&, const std::string& functionGroup,
1147  const std::string& function, double value, bool repeat = false, const DtSimulationAddress& addr = DtSimSendToAll);
1148 
1149  public:
1150 
1152  virtual void addSetCreatorFcn(const DtSetMessageType&, DtSetDataRequestCreatorFcn);
1153 
1155  virtual void addTaskCreatorFcn(const DtSimTaskMessageType&, DtSimTaskCreatorFcn);
1156 
1158  virtual void addInterfaceContentCreatorFcn(int t, DtInterfaceContentCreatorFcn);
1159 
1161  virtual void addAdminContentCreatorFcn(const DtAdminContentMessageType&, DtAdminContentCreatorFcn);
1162 
1164  virtual void addConditionCreatorFcn(std::string, int, DtCondExprCreatorFcn);
1165 
1167  virtual void addReportCreatorFcn(const DtSimReportMessageType&, DtSimReportCreatorFcn);
1168 
1170  virtual void addObjectMessageCreatorFcn(int, DtVrfObjectMessageCreatorFcn);
1171 
1173  virtual void addSimulationCommandCreatorFcn(const DtSimCommandMessageType&, DtSimCommandCreatorFcn);
1174 
1177  virtual void sendMessage(const DtSimInterfaceContent& message, DtSimulationAddress addr = DtSimSendToAll);
1178  virtual void sendMessageAndDeleteContent(DtSimInterfaceContent* message, DtSimulationAddress addr = DtSimSendToAll);
1179 
1186  virtual void embarkOn(const std::vector<DtUUID>& children, const DtUUID& parent,
1187  bool useSlot = true, const DtVector& overridePosition = DtVector::zero(),
1188  int embarkInSlot = -1, const DtString& slotName = "*", const DtString& slotType = "*",
1189  bool chooseAnyIfNotAvailable = true, DtSimulationAddress addr = DtSimSendToAll);
1190 
1192  virtual void disembark(const std::vector<DtUUID>& children, DtSimulationAddress addr = DtSimSendToAll);
1193 
1195  virtual void disembarkAll(const std::vector<DtUUID>& parents, DtSimulationAddress addr = DtSimSendToAll);
1196 
1198  virtual void attachTo(const std::vector<DtUUID>& ids, const DtUUID& parent);
1199 
1201  virtual void detachAll(const std::vector<DtUUID>& ids);
1202 
1205  virtual void logObjectConsoleToFile(const DtUUID& uuid, const std::string& filename);
1206 
1209  virtual void stopLoggingObjectConsoleToFile(const DtUUID& uuid);
1210 
1212  virtual void setObjectNotifyLevel(const DtUUID& uuid, int);
1213 
1215  virtual void setTimeOfDay(time_t seconds);
1216  virtual void setTimeOfDay(int hours, int minutes, int seconds);
1217 
1219  virtual void setDateAndTimeOfDay(time_t seconds);
1220  virtual void setDateAndTimeOfDay(int year, int month, int day, int hours, int minutes, int seconds);
1221 
1223  virtual void setUseGlobalTimeZone(bool);
1224 
1227  virtual void requestScenarioDescription(DtSimulationAddress);
1228 
1230  virtual void setScenarioDescription(const DtString&, DtSimulationAddress addr = DtSimSendToAll);
1231 
1233  virtual void setScenarioName(const DtString&, DtSimulationAddress addr = DtSimSendToAll);
1234 
1236  virtual void addContentMessagesThatModifyScenario(int);
1237  virtual void removeContentMessagesThatModifyScenario(int);
1238  const std::set<int>& contentMessagesThatModifyScenario() const { return myContentMessagesThatModifyScenario; };
1239 
1241  virtual void requestSyncMatrices(DtSimulationAddress addr = DtSimSendToAll);
1242 
1245  virtual void createSyncMatrix(const DtString& name, DtSimulationAddress addr = DtSimSendToAll);
1246 
1248  virtual void renameSyncMatrix(const DtUUID& uuid, const DtString& name, DtSimulationAddress addr = DtSimSendToAll);
1249 
1251  virtual void deleteSyncMatrix(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1252 
1254  virtual void deleteSyncMatrixPhase(const DtUUID& uuid, const DtString& phaseName,
1255  DtSimulationAddress addr = DtSimSendToAll);
1256 
1258  virtual void requestSyncMatrixInfo(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1259 
1261  virtual void addSyncMatrixObjects(const DtUUID& uuid, const std::vector<DtUUID>& objects, DtSimulationAddress addr = DtSimSendToAll);
1262 
1264  virtual void removeSyncMatrixObject(const DtUUID& syncMatrix, const DtUUID& object,
1265  DtSimulationAddress addr = DtSimSendToAll);
1266 
1268  virtual void requestSyncMatrixPlan(const DtUUID& syncMatrix, const DtUUID& object,
1269  const DtString& phaseName, DtSimulationAddress addr = DtSimSendToAll);
1270 
1272  virtual void linkPlan(const DtUUID& syncMatrix, const DtUUID& object,
1273  const DtString& phaseName, bool linkPlan, DtSimulationAddress addr = DtSimSendToAll);
1274 
1276  virtual void setSyncMatrixPlan(const DtUUID& syncMatrix, const DtUUID& object,
1277  const DtString& phaseName, const DtPlan* plan, DtSimulationAddress addr = DtSimSendToAll);
1278 
1280  virtual void removeSyncMatrixPlan(const DtUUID& syncMatrix, const DtUUID& object,
1281  const DtString& phaseName, DtSimulationAddress addr = DtSimSendToAll);
1282 
1284  virtual void setSyncMatrixPhaseInfo(const DtUUID& syncMatrix,
1285  const DtString& currentName, int phaseIndex,
1286  const DtString& requestedName, bool endConditionSpecified,
1287  const DtSimCondExpr* endCondition = NULL, DtSimulationAddress addr = DtSimSendToAll);
1288 
1290  virtual void activateSyncMatrixPlan(const DtUUID& syncMatrix, const DtUUID& object,
1291  const DtString& phaseName, bool activate, DtSimulationAddress addr = DtSimSendToAll);
1292 
1293  public:
1295  virtual void sendLoggerSetFilename(std::string filename);
1296 
1297  virtual void sendLoggerRecordMessage();
1298 
1299  virtual void sendLoggerStopMessage();
1300 
1301  protected:
1303  virtual void processObjectCreated(DtSimMessage*);
1304 
1306  virtual void processComputedRouteCreated(DtSimMessage*);
1307 
1309  virtual void processAerodromeCreated(DtSimMessage*);
1310 
1312  virtual void setActivated(bool);
1313 
1321  virtual bool addStatementsAndSendPlan(const DtPlan& plan, DtIfPlan& planMsg,
1322  const DtSimulationAddress& addr = DtSimSendToAll,
1323  int *retiStatus = 0, DtString* retsStmt = 0);
1324 
1326  virtual void indirectArtilleryCreated(DtString, const DtUUID&, const DtEntityIdentifier&, DtIfIndirectArtilleryData);
1327 
1329  virtual void checkIfContentMessageShouldMarkScenarioAsModified(const DtSimInterfaceContent&);
1330 
1331  public:
1335 
1337  boost::signals2::signal<void (const DtScenario*)> signal_loadedScenario;
1338 
1340  boost::signals2::signal<void ()> signal_communicationDriverStarted;
1341 
1343  boost::signals2::signal<void ()> signal_scenarioModified;
1344 
1346  boost::signals2::signal<void (const DtScenarioLoadInformation&)> signal_loadScenario;
1347 
1349  boost::signals2::signal<void (const DtScenario*, DtPreserveMappingsFcn fcn, void* userData, bool saveToZipFile,
1350  bool queueSave, int putIntoPlayMode)> signal_saveScenario;
1351 
1353  boost::signals2::signal<void (double)> signal_rollbackToSnapshot;
1354 
1357  boost::signals2::signal<void (std::vector<DtScenario*>, DtFilename)> signal_saveCheckpoints;
1358 
1360  boost::signals2::signal<void ()> signal_clearSavingCheckpoints;
1361 
1364  boost::signals2::signal<void (const DtUUID&, bool& shouldDelete)> signal_shouldDeleteObject;
1365 
1367  boost::signals2::signal<void ()> signal_closeScenario;
1368 
1370  boost::signals2::signal<void ()> signal_reinitializeScenario;
1371 
1374  boost::signals2::signal<void (DtIfCreateVrfObject&)> signal_aboutToSendCreateMessage;
1375 
1377  boost::signals2::signal<void (DtIfModifyVrfObject&)> signal_aboutToSendModifyMessage;
1378 
1381  boost::signals2::signal<void (DtSharedNetworkSignaler::EnvironmentalSignalCreationData&)> signal_aboutToSendCreateEnvironmentalMessage;
1382 
1384 
1385  protected:
1387  virtual void slot_preTick(makVrv::DtDe* de);
1388 
1389  protected:
1390  typedef std::map<unsigned int, DtVrfObjectCreatedCallbackFunction> CreateCallbacks;
1391 
1393 
1394  typedef std::map<unsigned int, DtComputedRouteResponseCallbackFunction> ComputedRouteCallbacks;
1395 
1397 
1398  typedef std::map<unsigned int, DtComputedAerodromeResponseCallbackFunction> ComputedAerodromeCallbacks;
1399 
1401 
1403  };
1404 }
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:1374
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:1337
DtSetDataRequestFactory::DtCreatorFcn DtSetDataRequestCreatorFcn
Definition: setDataRequestFactory.h:41
Definition: scenario.h:52
std::map< unsigned int, DtComputedRouteResponseCallbackFunction > ComputedRouteCallbacks
Definition: guiThreadVrfRemoteController.h:1394
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:1353
voidpf void uLong size
Definition: ioapi.h:39
std::map< unsigned int, DtComputedAerodromeResponseCallbackFunction > ComputedAerodromeCallbacks
Definition: guiThreadVrfRemoteController.h:1398
Contains makVrv:DtSelectionManager class.
boost::signals2::signal< void()> signal_communicationDriverStarted
Signal sent when the communication driver has been started.
Definition: guiThreadVrfRemoteController.h:1340
std::map< unsigned int, DtVrfObjectCreatedCallbackFunction > CreateCallbacks
Definition: guiThreadVrfRemoteController.h:1390
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:1377
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:1350
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:2407
DtAdminContentFactory::DtCreatorFcn DtAdminContentCreatorFcn
Definition: adminContentFactory.h:36
class DtIfModifyVrfObject:
Definition: ifModifyVrfObject.h:50
DtSimTaskFactory::DtCreatorFcn DtSimTaskCreatorFcn
Definition: simTaskFactory.h:41
Definition: vrfResourceManager.h:29
CreateCallbacks myCreateCallbacks
Definition: guiThreadVrfRemoteController.h:1392
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:1360
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:1343
DtVrfObjectMessage *(* DtVrfObjectMessageCreatorFcn)()
Creator function for DtVrfObjectMessage instances.
Definition: vrfObjectMessageFactory.h:21
ComputedRouteCallbacks myCreateComputedRouteCallbacks
Definition: guiThreadVrfRemoteController.h:1396
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:1370
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:79
std::set< int > myContentMessagesThatModifyScenario
Definition: guiThreadVrfRemoteController.h:1402
boost::signals2::signal< void()> signal_closeScenario
Sent when the scenario is closing.
Definition: guiThreadVrfRemoteController.h:1367
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:1381
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:72
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:1364
ComputedAerodromeCallbacks myComputedAerodromeCallbacks
Definition: guiThreadVrfRemoteController.h:1400
voidpf uLong offset
Definition: ioapi.h:42
Definition: scenario.h:634
boost::signals2::signal< void(const DtScenarioLoadInformation &)> signal_loadScenario
Calls down to simulation to load the scenario based on load scenario message.
Definition: guiThreadVrfRemoteController.h:1346
const std::set< int > & contentMessagesThatModifyScenario() const
Definition: guiThreadVrfRemoteController.h:1238
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 Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)