VR-Forces 4.7 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>
24 
27 #include <vrvCore/DtEntityState.h>
28 #include <vrvUtil/signalslib.h>
29 #include <vrvCore/DtDe.h>
30 
31 #include <vlpi/entityType.h>
32 #include <matrix/vlVector.h>
33 
36 #include <vrfplan/plan.h>
37 #include <vrfutil/scenario.h>
38 #include <vrfutil/rwUUID.h>
39 
40 #include <boost/function.hpp>
41 
43 class DtSetDataRequest;
45 class DtSimTask;
46 class DtAdminMessage;
49 class DtIfPlan;
54 
55 typedef boost::function<void (DtString, const DtUUID&, const DtEntityIdentifier&, const DtObjectType&)> DtVrfObjectCreatedCallbackFunction;
56 typedef boost::function<void (bool, DtString, const DtUUID&, const DtEntityIdentifier&)> DtComputedRouteResponseCallbackFunction;
57 
58 namespace makVrf
59 {
60  class DtGuiThreadNetworkCallbackManager;
61 
88  {
89  public:
90 
93 
95  static DtGuiThreadVrfRemoteController& instance(makVrv::DtDe& de);
96 
97  public:
100  DtVrfBackendSettingsManager& backendSettingsManager();
101 
104  DtVrfSimBackendManager& backendManager();
105 
107  DtVrfSpotReportManager& spotReportManager();
108 
110  DtVrfResourceManager& resourceManager();
111 
113  DtGuiThreadNetworkCallbackManager& messageHandler();
114 
115  public:
118 
120  virtual void rollbackToSnapshot(double simTime);
121 
129  virtual void newScenario(const DtScenario*, time_t startTimeOfDay = 12 * 3600, const DtChangeWeatherCommand& = DtChangeWeatherCommand());
131  virtual void newScenario(const DtFilename& terrainDatabase, time_t startTimeOfDay = 12 * 3600, const DtChangeWeatherCommand& = DtChangeWeatherCommand());
132 
137  virtual void importScenarioDescriptionFile(const std::string& file, DtSimulationAddress, const std::string& description ,
138  const std::map<std::string, std::string>& importData);
139 
146  virtual void createSimulationObjectGroup(const DtSimulationAddress&, const DtString& simulationObjectGroup,
147  const DtVector& createPosition, double offsetRotation, int createFlags, int force, bool inZipFile = false);
148 
151  virtual bool saveSimulationObjectGroup(const DtFilename& smsDirectory, const std::string& groupName,
152  const std::string& groupDescription, int creationFlags, const DtSimulationAddress& addr,
153  const std::map<DtString, DtString>& additionalInformation = std::map<DtString, DtString>(),
154  bool saveAsZipFile = false);
155 
158  virtual void exportScenarioDescriptionFile(const std::string& file, DtSimulationAddress, const std::string& description,
159  const std::map<std::string, std::string>& importData);
160 
176  virtual bool loadScenario(const DtScenarioLoadInformation&);
178  virtual bool loadScenario(const DtFilename&);
179  virtual bool importScenario(const DtFilename&);
180 
195  virtual void saveScenario(const DtScenario*, DtPreserveMappingsFcn fcn = 0, void* userData = 0,
196  bool saveScenarioToZipFile = false, bool queueSave = false, int putIntoPlayMode = 0);
197 
201  virtual void saveCheckpoints(const std::vector<DtScenario*>&, const DtFilename& scenarioName);
202 
204  virtual void clearSavingCheckpoints();
205 
208  virtual void takeSnapshot(DtSimulationAddress addr = DtSimSendToAll);
209 
212  virtual void takeBaseSnapshot();
213 
219  virtual void closeScenario(const DtFilename& databaseToOpen = "", bool forceCloseScenario = false);
220 
222  virtual void reinitializeScenario();
223 
225 
228 
231  virtual void setScenarioRunDuration(double time, bool duration = false);
232 
237  virtual void runScenario(bool useStartStopInteraction = false, DtSimulationAddress addr = DtSimSendToAll);
239  virtual void pauseScenario(bool useStartStopInteraction = false, DtSimulationAddress addr = DtSimSendToAll);
241  virtual void rewindScenario(DtSimulationAddress addr = DtSimSendToAll);
243  virtual void exitServer(DtSimulationAddress addr = DtSimSendToAll);
245  virtual void stepScenario(DtSimulationAddress addr = DtSimSendToAll);
247 
251  virtual void deleteObject(const DtUUID&, bool andDeleteFromOrbat = false, DtSimulationAddress addr = DtSimSendToAll);
252 
255 
259  virtual void removeObjectCreatedCallback(unsigned int);
260 
265  virtual void createWaypoint(
266  const DtSimulationAddress& addr,
267  const DtVector& geocentricPosition,
268  const std::string& uniqueName = "",
269  const std::string& label = "",
270  unsigned int requestId = 0);
271 
275  virtual unsigned int createWaypoint(
277  const DtSimulationAddress& addr,
278  const DtVector& geocentricPosition,
279  const std::string& uniqueName = "",
280  const std::string& label = "");
281 
283  virtual void modifyWaypoint(
284  const DtUUID& uuid,
285  std::string* uniqueName = 0,
286  std::string* label = 0,
287  DtVector* geocentricPosition = 0,
288  const DtSimulationAddress& addr = DtSimSendToAll);
289 
294  virtual void createRoute(
295  const DtSimulationAddress& addr,
296  const std::vector<DtVector>& vertices,
297  const std::string& uniqueName = "",
298  const std::string& label = "",
299  unsigned int rId = 0);
300 
304  virtual unsigned int createRoute(
306  const DtSimulationAddress& addr,
307  const std::vector<DtVector>& vertices,
308  const std::string& uniqueName = "",
309  const std::string& label = "");
310 
312  virtual void modifyRoute(
313  const DtUUID& uuid,
314  std::string* uniqueName = 0,
315  std::string* label = 0,
316  std::vector<DtVector>* vertices = 0,
317  const DtSimulationAddress& addr = DtSimSendToAll);
318 
323  virtual void createPhaseLine(
324  const DtSimulationAddress& addr,
325  const DtVector& dbPoint1,
326  const DtVector& dbPoint2,
327  const std::string& uniqueName = "",
328  const std::string& label = "",
329  unsigned int rId = 0);
330 
334  virtual unsigned int createPhaseLine(
336  const DtSimulationAddress& addr,
337  const DtVector& dbPoint1,
338  const DtVector& dbPoint2,
339  const std::string& uniqueName = "",
340  const std::string& label = "");
341 
343  virtual void modifyPhaseLine(
344  const DtUUID& uuid,
345  std::string* uniqueName = 0,
346  std::string* label = 0,
347  DtVector* newDbPoint1 = 0,
348  DtVector* newDbPoint2 = 0,
349  const DtSimulationAddress& addr = DtSimSendToAll);
350 
356  virtual void createControlArea(
357  const DtSimulationAddress& addr,
358  const std::vector<DtVector>& vertices,
359  const std::string& uniqueName = "",
360  const std::string& label = "",
361  unsigned int rId = 0);
362 
366  virtual unsigned int createControlArea(
368  const DtSimulationAddress& addr,
369  const std::vector<DtVector>& vertices,
370  const std::string& uniqueName = "",
371  const std::string& label = "");
372 
374  virtual void modifyControlArea(
375  const DtUUID& uuid,
376  std::string* uniqueName = 0,
377  std::string* label = 0,
378  std::vector<DtVector>* newVertices = 0,
379  const DtSimulationAddress& addr = DtSimSendToAll);
380 
386  virtual void createObstacle(
387  const DtSimulationAddress& addr,
388  const std::vector<DtVector>& vertices,
389  const std::string& uniqueName = "",
390  const std::string& label = "",
391  unsigned int rId = 0);
392 
396  virtual unsigned int createObstacle(
398  const DtSimulationAddress& addr,
399  const std::vector<DtVector>& vertices,
400  const std::string& uniqueName = "",
401  const std::string& label = "") ;
402 
404  virtual void modifyObstacle(
405  const DtUUID& uuid,
406  std::string* uniqueName = 0,
407  std::string* label = 0,
408  std::vector<DtVector>* newVertices = 0,
409  const DtSimulationAddress& addr = DtSimSendToAll);
410 
417  virtual void createDisaggregationArea(
418  const DtSimulationAddress& addr,
419  const std::vector<DtVector>& vertices,
420  const std::string& uniqueName = "",
421  const std::string& label = "",
422  unsigned int rId = 0);
423 
428  virtual unsigned int createDisaggregationArea(
430  const DtSimulationAddress& addr,
431  const std::vector<DtVector>& vertices,
432  const std::string& uniqueName = "",
433  const std::string& label = "") ;
434 
436  virtual void modifyDisaggregationArea(
437  const DtUUID& uuid,
438  std::string* uniqueName = 0,
439  std::string* label = 0,
440  std::vector<DtVector>* newVertices = 0,
441  const DtSimulationAddress& addr = DtSimSendToAll);
442 
453  virtual unsigned int createOverlayObject(
454  const DtSimulationAddress& addr,
455  const DtEntityType& type,
456  const std::vector<DtVector>& vertices,
457  const DtForceType& force,
458  const std::string& name,
459  const std::string& label,
460  int color,
461  const std::string& parentName,
462  bool projection,
463  bool closedFigure,
464  const DtAppearance& appearance = DtAppearance::nullAppearance(),
465  const std::string& attachTo = "",
466  char* userData = 0,
467  int dataSize = 0,
468  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
469  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
471 
473  virtual void setPhysicalLineWidth(const DtSimulationAddress& addr,
474  const DtUUID& entityId, double w);
475 
477  virtual void setPhysicalLineHeight(const DtSimulationAddress& addr,
478  const DtUUID& entityId, double h);
479 
481  virtual void setCeiling(const DtSimulationAddress& addr,
482  const DtUUID& entityId, double c);
483 
486  virtual void createIndirectArtillery(
487  const DtIfIndirectArtilleryData& params,
488  const std::string& overlayParent,
489  const DtSimulationAddress& addr);
490 
495  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  unsigned int requestId = 0);
507 
509  virtual void cancelCreateComputedRoute(
510  const DtSimulationAddress& addr,
511  unsigned int requestId);
512 
516  virtual void createComputedRoute(
518  const DtSimulationAddress& addr,
519  const DtVector& sourcePoint,
520  const DtVector& destPoint,
521  const std::list<std::string>& obstacleTypes,
522  const std::list<std::string>& pathTypes,
523  const std::string& uniqueName = "",
524  const std::string& label = "",
525  const std::string& overlay = "",
526  const int forceId = DtForceOther,
527  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>());
529 
532 
535  virtual unsigned int createEntity(DtVrfObjectCreatedCallbackFunction fcn, DtSimulationAddress addr, const DtEntityCreationData&,
536  const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
537  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>());
538 
539  virtual void createEntity(DtSimulationAddress addr, const DtEntityCreationData&,
540  const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
541  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>());
542 
544  virtual void createEntity(
545  const DtSimulationAddress& addr,
546  const DtEntityType& type,
547  const DtVector& geocentricPosition,
548  DtForceType force,
549  DtReal heading,
550  const std::string& uniqueName = "",
551  const std::string& label = "",
552  bool groundClamp = true, const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
553  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>(),
554  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
555  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>());
556 
560  virtual unsigned int createEntity(
562  const DtSimulationAddress& addr,
563  const DtEntityType& type,
564  const DtVector& geocentricPosition,
565  DtForceType force,
566  DtReal heading,
567  const std::string& uniqueName = "",
568  const std::string& label = "",
569  bool groundClamp = true, const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
570  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>(),
571  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
572  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>());
573 
575  virtual unsigned int createAggregate(
577  const DtSimulationAddress& addr,
578  const DtEntityType& type,
579  const DtVector& geocentricPosition,
580  DtForceType force,
581  DtReal heading,
582  const std::string& uniqueName,
583  const std::string& label = "",
584  DtAggregateState initialAggregateState = DtDisaggregated,
585  const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
586  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>(),
587  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
588  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
589  bool createSubordinates = true);
590 
592  virtual void aggregateAs(const std::vector<DtUUID>& uuids, const DtEntityType& type,
593  int force, DtAggregateState initialAggregateState, DtSimulationAddress addr, unsigned int requestId = 0);
594 
598  virtual unsigned int aggregateAs(DtVrfObjectCreatedCallbackFunction fcn,
599  const std::vector<DtUUID>& uuids, const DtEntityType& type,
600  int force, DtAggregateState initialAggregateState, DtSimulationAddress addr);
601 
604  virtual void addToOrganization(const DtUUID& child, const DtUUID& superior,
605  DtSimulationAddress addr = DtSimSendToAll);
606 
610  virtual void addToForceLevelOrganization(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
611 
614  virtual void removeFromOrganization(
615  const DtUUID& uuid,
616  const DtSimulationAddress& addr = DtSimSendToAll);
618 
624 
626  virtual void createEnvironmentalObject(DtSimulationAddress addr, DtEntityType, int force, const std::vector<DtVector>&,
628  const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
629  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>());
630 
640  virtual void sendVrfObjectModifyMsg(
641  const DtSimulationAddress& addr,
642  const DtUUID& uuid,
643  const std::string* name = 0,
644  const std::vector<DtVector>& = std::vector<DtVector>(),
645  int* force = 0,
646  double* heading = 0,
647  const std::string* label = 0,
648  DtAppearance* appearance = 0,
649  const std::string* overlayParent = 0,
650  const std::string* userData = 0,
651  const std::map<std::string, std::string>* extendedData = 0,
652  const std::map<int, DtString>* extendedLabels = 0,
653  bool mergeExtendedData = true);
654 
658  virtual void sendVrfObjectCreateMsg(
659  const DtSimulationAddress& addr,
660  unsigned int requestId,
661  const std::string& name,
662  const DtObjectType& type,
663  const std::vector<DtVector>& vertices,
664  const std::string& label,
665  const DtAppearance& appearance,
666  DtForceType force,
667  bool projection,
668  bool closedFigure,
669  DtReal heading,
670  bool createSubObjects,
671  const std::string& overlayParent = "",
672  bool clampToGroundFlag = true,
673  const std::string& initialFormation = "",
674  DtAggregateState initialAggregateState = DtDisaggregated,
675  const std::string& userData = "", const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
676  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>(),
677  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
678  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
679  const DtUUID& uuidForCreation = DtUUID::nullUUID());
680 
683  virtual unsigned int addCreateCallbackFunction(DtVrfObjectCreatedCallbackFunction);
684 
687  virtual unsigned int addCreateComputedRouteCallbackFunction(DtComputedRouteResponseCallbackFunction);
688 
690  virtual void removeCreateComputedRouteCallbackFunction(int rId);
691 
698  virtual void sendVrfOverlayObjectModifyMsg(
699  const DtSimulationAddress& addr,
700  const DtUUID& uuid,
701  int* color = 0,
702  const std::string* parentName = 0,
703  const DtUUID* attachTo = 0,
704  const std::string* userData = 0);
705 
707  virtual void sendVrfIndirectArtilleryObjectModifyMsg(
708  const DtSimulationAddress& addr,
709  const DtUUID& uuid,
710  const DtIfIndirectArtilleryData& mod);
712 
718 
720  virtual void setLabel(
721  const DtUUID& uuid, const std::string& label,
722  const DtSimulationAddress& addr = DtSimSendToAll);
723 
725  virtual void setExtendedLabels(
726  const DtUUID& uuid, const std::map<int, DtString>& extendedLabels,
727  const DtSimulationAddress& addr = DtSimSendToAll);
728 
730  virtual void setOverlayParent(
731  const DtUUID& uuid, const std::string& label,
732  const DtSimulationAddress& addr = DtSimSendToAll);
733 
735  virtual void setAltitude(
736  const DtUUID& uuid, double altitude, bool aboveGroundLevel = false,
737  const DtSimulationAddress& addr = DtSimSendToAll);
738 
740  virtual void setLocation(
741  const DtUUID& uuid, DtVector coord,
742  const DtSimulationAddress& addr = DtSimSendToAll);
743 
747  virtual void setAppearance(
748  const DtUUID& uuid, int appearance,
749  const DtSimulationAddress& addr = DtSimSendToAll);
750 
754  virtual void setCapabilities(
755  const DtUUID& uuid, int capabilities,
756  const DtSimulationAddress& addr = DtSimSendToAll);
757 
759  virtual void setHeading(
760  const DtUUID& uuid, double degrees,
761  const DtSimulationAddress& addr = DtSimSendToAll);
762 
764  virtual void setForce(
765  const DtUUID& uuid, DtForceType force,
766  const DtSimulationAddress& addr = DtSimSendToAll);
767 
769  virtual void setResource(const DtUUID& uuid,
770  const char* resourceType, double value,
771  const DtSimulationAddress& addr = DtSimSendToAll);
772 
776  virtual void setRulesOfEngagement(
777  const DtUUID& uuid, const char* rulesType,
778  const DtSimulationAddress& addr = DtSimSendToAll);
779 
781  virtual void setSectorOfResponsibility(
782  const DtUUID& uuid, double center, double size,
783  const DtSimulationAddress& addr = DtSimSendToAll);
784 
788  virtual void setSpeed(
789  const DtUUID& uuid, double speed,
790  const DtSimulationAddress& addr = DtSimSendToAll);
791 
794  virtual void setCurrentSpeed(
795  const DtUUID& uuid, double speed,
796  const DtSimulationAddress& addr = DtSimSendToAll);
797 
799  virtual void setTarget(
800  const DtUUID& uuid, const DtUUID& target,
801  const DtSimulationAddress& addr = DtSimSendToAll);
802 
805  virtual void setSuperior(
806  const DtUUID& uuid, const DtUUID& superior,
807  const DtSimulationAddress& addr = DtSimSendToAll);
808 
812  virtual void setTaskedBySuperior(const DtUUID& uuid,
813  const DtSimulationAddress& addr = DtSimSendToAll);
814 
816  virtual void setConcealed(const DtUUID& uuid,
817  bool yes, const DtSimulationAddress& addr = DtSimSendToAll);
818 
820  virtual void setEmitter(const DtUUID& uuid,
821  int emitterId, bool on,
822  const DtSimulationAddress& addr = DtSimSendToAll);
823 
825  virtual void setIff(const DtUUID& uuid,
826  bool mode1on, int mode1code,
827  bool mode2on, int mode2code,
828  bool mode3on, int mode3code,
829  bool mode4on, int mode4code,
830  DtIffAtcNavaidsAltParm4 altParm4,
831  bool modeCon, bool useAltModeC,
832  bool modeSon, bool emergency,
833  bool flash, bool sti, bool modeSTcasI,
834  int pin, bool mode5LevelSelection,
835  unsigned int messageFormatsPresent, unsigned int nationalOrigin,
836  unsigned int navigationSource, unsigned int figureOfMerit,
837  const DtSimulationAddress& addr = DtSimSendToAll);
838 
842  virtual void restore(const DtUUID& uuid,
843  const DtSimulationAddress& addr = DtSimSendToAll);
844 
847  virtual void setDestroyed(const DtUUID& uuid,
848  const DtSimulationAddress& addr = DtSimSendToAll);
849 
851  virtual void setLifeformWeaponState(
852  const DtUUID& uuid, DtWeaponState weapon,
853  const DtSimulationAddress& addr = DtSimSendToAll);
854 
856  virtual void setLifeformPosture(
857  const DtUUID& uuid, DtLifeformState posture,
858  const DtSimulationAddress& addr = DtSimSendToAll);
859 
861  virtual void setAggregateFormation(
862  const DtUUID& leader, const std::string& formationName,
863  const DtSimulationAddress& addr = DtSimSendToAll);
864 
868  virtual void reorganizeAggregate(const DtUUID& leader,
869  const DtSimulationAddress& addr = DtSimSendToAll);
870 
874  virtual void disaggregate(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
875 
879  virtual void aggregate(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
880 
883  virtual void sendSetDataMsg(
884  const DtUUID& recipient, DtSetDataRequest* msg,
885  const DtSimulationAddress& addr = DtSimSendToAll,
886  bool updateScenario = true);
887 
890  virtual void sendSetRequest(const DtSetDataRequest& s, const DtUUID& uuid,
891  const DtSimulationAddress& addr = DtSimSendToAll, bool updateScenario = true);
892 
894  virtual void sendSetRequest(const DtSetDataRequest& s, const std::vector<DtUUID>& names,
895  const DtSimulationAddress& addr = DtSimSendToAll, bool updateScenario = true);
896 
902  virtual void requestIndirectArtilleryInformation(const DtUUID&);
904 
908 
911  virtual void moveAlongRoute(
912  const DtUUID& entity, const DtUUID& route,
913  const DtSimulationAddress& addr = DtSimSendToAll);
914 
917  virtual void moveToWaypoint(
918  const DtUUID& entity, const DtUUID& waypoint,
919  const DtSimulationAddress& addr = DtSimSendToAll);
920 
924  virtual void moveToLocation(
925  const DtUUID& entity, const DtVector& destinationLocation,
926  const DtSimulationAddress& addr = DtSimSendToAll);
927 
930  virtual void patrolBetweenWaypoints(
931  const DtUUID& entity,
932  const DtUUID& waypoint1, const DtUUID& waypoint2,
933  const DtSimulationAddress& addr = DtSimSendToAll);
934 
937  virtual void patrolAlongRoute(
938  const DtUUID& entity, const DtUUID& route,
939  const DtSimulationAddress& addr = DtSimSendToAll);
940 
946  virtual void followEntity(
947  const DtUUID& entity,
948  const DtUUID& leader, const DtVector& offset,
949  const DtSimulationAddress& addr = DtSimSendToAll);
950 
953  virtual void wait(
954  const DtUUID& entity,
955  const DtSimulationAddress& addr = DtSimSendToAll);
956 
959  virtual void waitDuration(
960  const DtUUID& entity, DtTime duration,
961  const DtSimulationAddress& addr = DtSimSendToAll);
962 
966  virtual void waitElapsed(
967  const DtUUID& entity, DtTime elapsed,
968  const DtSimulationAddress& addr = DtSimSendToAll);
969 
974  virtual void requestCurrentTasks(const DtUUID& entity);
975 
979  virtual void subscribeForTaskInformation(const DtUUID& entity);
980 
983  virtual void unsubscribeForTaskInformation(const DtUUID& entity);
984 
988  virtual void sendTaskMsg(
989  const DtUUID& recipient, DtSimTask* task,
990  const DtSimulationAddress& addr = DtSimSendToAll);
991 
993  virtual void sendTaskRequest(const DtSimTask& s, const std::vector<DtUUID>& names, const DtSimulationAddress& addr = DtSimSendToAll);
995  virtual void sendTaskRequest(const DtSimTask& s, const DtUUID& uuid, const DtSimulationAddress& addr = DtSimSendToAll);
996 
1001  virtual void requestTasksAndSetsFor(const std::vector<DtUUID>& name);
1003 
1010 
1013  virtual void abandonPlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1014 
1017  virtual void skipTask(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1018 
1020  virtual void cancelReactiveTask(const DtUUID& uuid, std::string scriptId, DtSimulationAddress addr = DtSimSendToAll);
1021 
1024  virtual void restartPlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1025 
1027  virtual void assignPlanByName(const DtUUID& uuid, const DtPlan*, DtSimulationAddress addr = DtSimSendToAll);
1028 
1030  virtual void assignMultiplePlanByName(std::vector<DtUUID> names, const DtPlan*, DtSimulationAddress addr = DtSimSendToAll);
1031 
1037  virtual void requestPlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1038 
1044  virtual void subscribePlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1045 
1052  virtual void requestMultiplePlans(std::vector<DtUUID> names, DtSimulationAddress addr = DtSimSendToAll);
1053 
1058  virtual void requestGlobalPlans(DtSimulationAddress addr = DtSimSendToAll);
1059 
1062  virtual void assignGlobalPlanByName(const DtUUID& name, const DtPlan*, DtSimulationAddress addr);
1063 
1065  virtual void deleteGlobalPlan(const DtUUID&, DtSimulationAddress addr);
1066 
1068  virtual void launchGlobalPlan(const DtUUID&, DtSimulationAddress addr);
1070 
1072  virtual void setTimeoutInterval(int);
1073 
1079  virtual void requestDIGuyAppearancesAndAnimations(const std::vector<DtUUID>& name);
1080 
1087  virtual void requestResourcesFor(std::vector<DtUUID> names, DtSimulationAddress addr = DtSimSendToAll);
1088 
1090  virtual void sendMessageToObject(const DtVrfObjectMessage&, DtSimulationAddress addr = DtSimSendToAll);
1091 
1093  virtual void sendObjectMessageAndDeleteContent(DtVrfObjectMessage* message, DtSimulationAddress addr = DtSimSendToAll);
1094 
1096  virtual void sendSensorFieldOfViewControlInteraction(const DtSensorFieldOfViewControlInteractionData& interData);
1097 
1099  virtual void sendSensorFieldOfViewControlInteractionAndDelete(DtSensorFieldOfViewControlInteractionData* data);
1100 
1102  virtual void sendDetonationInteraction(const DtDetonationInteractionData& interData);
1103 
1105  virtual void sendDetonationInteractionAndDelete(DtDetonationInteractionData* data);
1106 
1108  virtual void requestForces(DtSimulationAddress addr);
1109 
1112  virtual void requestDoctrines();
1113 
1116  virtual void requestAssignedDoctrines();
1117 
1119  virtual unsigned long generateRequestId();
1120 
1122  virtual void quitAllBackends();
1123 
1124  //-------------------------------------------------------
1126  //-------------------------------------------------------
1127 
1132  virtual void takeControlOf(const DtUUID&, const std::set<std::string>& functionalGroups = std::set<std::string>(),
1133  const DtSimulationAddress& addr = DtSimSendToAll);
1134 
1137  virtual void releaseControlOf(const DtUUID&, const std::set<std::string>& functionalGroups = std::set<std::string>(),
1138  const DtSimulationAddress& addr = DtSimSendToAll);
1139 
1142  virtual void sendJoystickControl(const DtUUID&, const std::string& functionGroup,
1143  const std::string& function, double value, bool repeat = false, const DtSimulationAddress& addr = DtSimSendToAll);
1144 
1145  public:
1146 
1148  virtual void addSetCreatorFcn(const DtSetMessageType&, DtSetDataRequestCreatorFcn);
1149 
1151  virtual void addTaskCreatorFcn(const DtSimTaskMessageType&, DtSimTaskCreatorFcn);
1152 
1154  virtual void addInterfaceContentCreatorFcn(int t, DtInterfaceContentCreatorFcn);
1155 
1157  virtual void addAdminContentCreatorFcn(const DtAdminContentMessageType&, DtAdminContentCreatorFcn);
1158 
1160  virtual void addConditionCreatorFcn(std::string, int, DtCondExprCreatorFcn);
1161 
1163  virtual void addReportCreatorFcn(const DtSimReportMessageType&, DtSimReportCreatorFcn);
1164 
1166  virtual void addObjectMessageCreatorFcn(int, DtVrfObjectMessageCreatorFcn);
1167 
1169  virtual void addSimulationCommandCreatorFcn(const DtSimCommandMessageType&, DtSimCommandCreatorFcn);
1170 
1173  virtual void sendMessage(const DtSimInterfaceContent& message, DtSimulationAddress addr = DtSimSendToAll);
1174  virtual void sendMessageAndDeleteContent(DtSimInterfaceContent* message, DtSimulationAddress addr = DtSimSendToAll);
1175 
1182  virtual void embarkOn(const std::vector<DtUUID>& children, const DtUUID& parent,
1183  bool useSlot = true, const DtVector& overridePosition = DtVector::zero(),
1184  int embarkInSlot = -1, const DtString& slotName = "*", const DtString& slotType = "*",
1185  bool chooseAnyIfNotAvailable = true, DtSimulationAddress addr = DtSimSendToAll);
1186 
1188  virtual void disembark(const std::vector<DtUUID>& children, DtSimulationAddress addr = DtSimSendToAll);
1189 
1191  virtual void disembarkAll(const std::vector<DtUUID>& parents, DtSimulationAddress addr = DtSimSendToAll);
1192 
1194  virtual void attachTo(const std::vector<DtUUID>& ids, const DtUUID& parent);
1195 
1197  virtual void detachAll(const std::vector<DtUUID>& ids);
1198 
1201  virtual void logObjectConsoleToFile(const DtUUID& uuid, const std::string& filename);
1202 
1205  virtual void stopLoggingObjectConsoleToFile(const DtUUID& uuid);
1206 
1208  virtual void setObjectNotifyLevel(const DtUUID& uuid, int);
1209 
1211  virtual void setTimeOfDay(time_t seconds);
1212  virtual void setTimeOfDay(int hours, int minutes, int seconds);
1213 
1215  virtual void setDateAndTimeOfDay(time_t seconds);
1216  virtual void setDateAndTimeOfDay(int year, int month, int day, int hours, int minutes, int seconds);
1217 
1219  virtual void setUseDayNightIlluminationModel(bool);
1220 
1222  virtual void setAggregateOnCreate(bool);
1223  bool aggregateOnCreate() const;
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 
1240  public:
1242  virtual void sendLoggerSetFilename(std::string filename);
1243 
1244  virtual void sendLoggerRecordMessage();
1245 
1246  virtual void sendLoggerStopMessage();
1247 
1248  protected:
1250  virtual void processObjectCreated(DtSimMessage*);
1251 
1253  virtual void processComputedRouteCreated(DtSimMessage*);
1254 
1256  virtual void setActivated(bool);
1257 
1265  virtual bool addStatementsAndSendPlan(const DtPlan& plan, DtIfPlan& planMsg,
1266  const DtSimulationAddress& addr = DtSimSendToAll,
1267  int *retiStatus = 0, DtString* retsStmt = 0);
1268 
1270  virtual void indirectArtilleryCreated(DtString, const DtUUID&, const DtEntityIdentifier&, DtIfIndirectArtilleryData);
1271 
1273  virtual void checkIfContentMessageShouldMarkScenarioAsModified(const DtSimInterfaceContent&);
1274 
1275  public:
1279 
1281  boost::signal<void (const DtScenario*)> signal_loadedScenario;
1282 
1284  boost::signal<void ()> signal_communicationDriverStarted;
1285 
1287  boost::signal<void ()> signal_scenarioModified;
1288 
1290  boost::signal<void (const DtScenarioLoadInformation&)> signal_loadScenario;
1291 
1293  boost::signal<void (const DtScenario*, DtPreserveMappingsFcn fcn, void* userData, bool saveToZipFile,
1294  bool queueSave, int putIntoPlayMode)> signal_saveScenario;
1295 
1297  boost::signal<void (double)> signal_rollbackToSnapshot;
1298 
1301  boost::signal<void (std::vector<DtScenario*>, DtFilename)> signal_saveCheckpoints;
1302 
1304  boost::signal<void ()> signal_clearSavingCheckpoints;
1305 
1308  boost::signal<void (const DtUUID&, bool& shouldDelete)> signal_shouldDeleteObject;
1309 
1311  boost::signal<void ()> signal_closeScenario;
1312 
1314  boost::signal<void ()> signal_reinitializeScenario;
1315 
1318  boost::signal<void (DtIfCreateVrfObject&)> signal_aboutToSendCreateMessage;
1319 
1321  boost::signal<void (DtIfModifyVrfObject&)> signal_aboutToSendModifyMessage;
1322 
1324 
1325  protected:
1327  virtual void slot_preTick(makVrv::DtDe* de);
1328 
1329  protected:
1331 
1332  typedef std::map<unsigned int, DtVrfObjectCreatedCallbackFunction> CreateCallbacks;
1333 
1335 
1336  typedef std::map<unsigned int, DtComputedRouteResponseCallbackFunction> ComputedRouteCallbacks;
1337 
1339 
1341  };
1342 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)