VR-Forces 4.6 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) 2015 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 void 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);
221 
224 
227  virtual void setScenarioRunDuration(double time, bool duration = false);
228 
233  virtual void runScenario(bool useStartStopInteraction = false, DtSimulationAddress addr = DtSimSendToAll);
235  virtual void pauseScenario(bool useStartStopInteraction = false, DtSimulationAddress addr = DtSimSendToAll);
237  virtual void rewindScenario(DtSimulationAddress addr = DtSimSendToAll);
239  virtual void exitServer(DtSimulationAddress addr = DtSimSendToAll);
241  virtual void stepScenario(DtSimulationAddress addr = DtSimSendToAll);
243 
247  virtual void deleteObject(const DtUUID&, bool andDeleteFromOrbat = false, DtSimulationAddress addr = DtSimSendToAll);
248 
251 
255  virtual void removeObjectCreatedCallback(unsigned int);
256 
261  virtual void createWaypoint(
262  const DtSimulationAddress& addr,
263  const DtVector& geocentricPosition,
264  const std::string& uniqueName = "",
265  const std::string& label = "",
266  unsigned int requestId = 0);
267 
271  virtual unsigned int createWaypoint(
273  const DtSimulationAddress& addr,
274  const DtVector& geocentricPosition,
275  const std::string& uniqueName = "",
276  const std::string& label = "");
277 
279  virtual void modifyWaypoint(
280  const DtUUID& uuid,
281  std::string* uniqueName = 0,
282  std::string* label = 0,
283  DtVector* geocentricPosition = 0,
284  const DtSimulationAddress& addr = DtSimSendToAll);
285 
290  virtual void createRoute(
291  const DtSimulationAddress& addr,
292  const std::vector<DtVector>& vertices,
293  const std::string& uniqueName = "",
294  const std::string& label = "",
295  unsigned int rId = 0);
296 
300  virtual unsigned int createRoute(
302  const DtSimulationAddress& addr,
303  const std::vector<DtVector>& vertices,
304  const std::string& uniqueName = "",
305  const std::string& label = "");
306 
308  virtual void modifyRoute(
309  const DtUUID& uuid,
310  std::string* uniqueName = 0,
311  std::string* label = 0,
312  std::vector<DtVector>* vertices = 0,
313  const DtSimulationAddress& addr = DtSimSendToAll);
314 
319  virtual void createPhaseLine(
320  const DtSimulationAddress& addr,
321  const DtVector& dbPoint1,
322  const DtVector& dbPoint2,
323  const std::string& uniqueName = "",
324  const std::string& label = "",
325  unsigned int rId = 0);
326 
330  virtual unsigned int createPhaseLine(
332  const DtSimulationAddress& addr,
333  const DtVector& dbPoint1,
334  const DtVector& dbPoint2,
335  const std::string& uniqueName = "",
336  const std::string& label = "");
337 
339  virtual void modifyPhaseLine(
340  const DtUUID& uuid,
341  std::string* uniqueName = 0,
342  std::string* label = 0,
343  DtVector* newDbPoint1 = 0,
344  DtVector* newDbPoint2 = 0,
345  const DtSimulationAddress& addr = DtSimSendToAll);
346 
352  virtual void createControlArea(
353  const DtSimulationAddress& addr,
354  const std::vector<DtVector>& vertices,
355  const std::string& uniqueName = "",
356  const std::string& label = "",
357  unsigned int rId = 0);
358 
362  virtual unsigned int createControlArea(
364  const DtSimulationAddress& addr,
365  const std::vector<DtVector>& vertices,
366  const std::string& uniqueName = "",
367  const std::string& label = "");
368 
370  virtual void modifyControlArea(
371  const DtUUID& uuid,
372  std::string* uniqueName = 0,
373  std::string* label = 0,
374  std::vector<DtVector>* newVertices = 0,
375  const DtSimulationAddress& addr = DtSimSendToAll);
376 
382  virtual void createObstacle(
383  const DtSimulationAddress& addr,
384  const std::vector<DtVector>& vertices,
385  const std::string& uniqueName = "",
386  const std::string& label = "",
387  unsigned int rId = 0);
388 
392  virtual unsigned int createObstacle(
394  const DtSimulationAddress& addr,
395  const std::vector<DtVector>& vertices,
396  const std::string& uniqueName = "",
397  const std::string& label = "") ;
398 
400  virtual void modifyObstacle(
401  const DtUUID& uuid,
402  std::string* uniqueName = 0,
403  std::string* label = 0,
404  std::vector<DtVector>* newVertices = 0,
405  const DtSimulationAddress& addr = DtSimSendToAll);
406 
413  virtual void createDisaggregationArea(
414  const DtSimulationAddress& addr,
415  const std::vector<DtVector>& vertices,
416  const std::string& uniqueName = "",
417  const std::string& label = "",
418  unsigned int rId = 0);
419 
424  virtual unsigned int createDisaggregationArea(
426  const DtSimulationAddress& addr,
427  const std::vector<DtVector>& vertices,
428  const std::string& uniqueName = "",
429  const std::string& label = "") ;
430 
432  virtual void modifyDisaggregationArea(
433  const DtUUID& uuid,
434  std::string* uniqueName = 0,
435  std::string* label = 0,
436  std::vector<DtVector>* newVertices = 0,
437  const DtSimulationAddress& addr = DtSimSendToAll);
438 
449  virtual unsigned int createOverlayObject(
450  const DtSimulationAddress& addr,
451  const DtEntityType& type,
452  const std::vector<DtVector>& vertices,
453  const DtForceType& force,
454  const std::string& name,
455  const std::string& label,
456  int color,
457  const std::string& parentName,
458  bool projection,
459  bool closedFigure,
460  const DtAppearance& appearance = DtAppearance::nullAppearance(),
461  const std::string& attachTo = "",
462  char* userData = 0,
463  int dataSize = 0,
464  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
465  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
467 
469  virtual void setPhysicalLineWidth(const DtSimulationAddress& addr,
470  const DtUUID& entityId, double w);
471 
473  virtual void setPhysicalLineHeight(const DtSimulationAddress& addr,
474  const DtUUID& entityId, double h);
475 
477  virtual void setCeiling(const DtSimulationAddress& addr,
478  const DtUUID& entityId, double c);
479 
482  virtual void createIndirectArtillery(
483  const DtIfIndirectArtilleryData& params,
484  const std::string& overlayParent,
485  const DtSimulationAddress& addr);
486 
491  virtual void createComputedRoute(
492  const DtSimulationAddress& addr,
493  const DtVector& sourcePoint,
494  const DtVector& destPoint,
495  const std::list<std::string>& obstacleTypes,
496  const std::list<std::string>& pathTypes,
497  const std::string& uniqueName = "",
498  const std::string& label = "",
499  const std::string& overlay = "",
500  const int forceId = DtForceOther,
501  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
502  unsigned int requestId = 0);
503 
505  virtual void cancelCreateComputedRoute(
506  const DtSimulationAddress& addr,
507  unsigned int requestId);
508 
512  virtual void createComputedRoute(
514  const DtSimulationAddress& addr,
515  const DtVector& sourcePoint,
516  const DtVector& destPoint,
517  const std::list<std::string>& obstacleTypes,
518  const std::list<std::string>& pathTypes,
519  const std::string& uniqueName = "",
520  const std::string& label = "",
521  const std::string& overlay = "",
522  const int forceId = DtForceOther,
523  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>());
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 
587  virtual void aggregateAs(const std::vector<DtUUID>& uuids, const DtEntityType& type,
588  int force, DtAggregateState initialAggregateState, DtSimulationAddress addr, unsigned int requestId = 0);
589 
593  virtual unsigned int aggregateAs(DtVrfObjectCreatedCallbackFunction fcn,
594  const std::vector<DtUUID>& uuids, const DtEntityType& type,
595  int force, DtAggregateState initialAggregateState, DtSimulationAddress addr);
596 
599  virtual void addToOrganization(const DtUUID& child, const DtUUID& superior,
600  DtSimulationAddress addr = DtSimSendToAll);
601 
605  virtual void addToForceLevelOrganization(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
606 
609  virtual void removeFromOrganization(
610  const DtUUID& uuid,
611  const DtSimulationAddress& addr = DtSimSendToAll);
613 
619 
621  virtual void createEnvironmentalObject(DtSimulationAddress addr, DtEntityType, int force, const std::vector<DtVector>&,
623  const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
624  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>());
625 
635  virtual void sendVrfObjectModifyMsg(
636  const DtSimulationAddress& addr,
637  const DtUUID& uuid,
638  const std::string* name = 0,
639  const std::vector<DtVector>& = std::vector<DtVector>(),
640  int* force = 0,
641  double* heading = 0,
642  const std::string* label = 0,
643  DtAppearance* appearance = 0,
644  const std::string* overlayParent = 0,
645  const std::string* userData = 0,
646  const std::map<std::string, std::string>* extendedData = 0,
647  const std::map<int, DtString>* extendedLabels = 0,
648  bool mergeExtendedData = true);
649 
653  virtual void sendVrfObjectCreateMsg(
654  const DtSimulationAddress& addr,
655  unsigned int requestId,
656  const std::string& name,
657  const DtObjectType& type,
658  const std::vector<DtVector>& vertices,
659  const std::string& label,
660  const DtAppearance& appearance,
661  DtForceType force,
662  bool projection,
663  bool closedFigure,
664  DtReal heading,
665  bool createSubObjects,
666  const std::string& overlayParent = "",
667  bool clampToGroundFlag = true,
668  const std::string& initialFormation = "",
669  DtAggregateState initialAggregateState = DtDisaggregated,
670  const std::string& userData = "", const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
671  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>(),
672  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
673  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
674  const DtUUID& uuidForCreation = DtUUID::nullUUID());
675 
678  virtual unsigned int addCreateCallbackFunction(DtVrfObjectCreatedCallbackFunction);
679 
682  virtual unsigned int addCreateComputedRouteCallbackFunction(DtComputedRouteResponseCallbackFunction);
683 
685  virtual void removeCreateComputedRouteCallbackFunction(int rId);
686 
693  virtual void sendVrfOverlayObjectModifyMsg(
694  const DtSimulationAddress& addr,
695  const DtUUID& uuid,
696  int* color = 0,
697  const std::string* parentName = 0,
698  const DtUUID* attachTo = 0,
699  const std::string* userData = 0);
700 
702  virtual void sendVrfIndirectArtilleryObjectModifyMsg(
703  const DtSimulationAddress& addr,
704  const DtUUID& uuid,
705  const DtIfIndirectArtilleryData& mod);
707 
713 
715  virtual void setLabel(
716  const DtUUID& uuid, const std::string& label,
717  const DtSimulationAddress& addr = DtSimSendToAll);
718 
720  virtual void setExtendedLabels(
721  const DtUUID& uuid, const std::map<int, DtString>& extendedLabels,
722  const DtSimulationAddress& addr = DtSimSendToAll);
723 
725  virtual void setOverlayParent(
726  const DtUUID& uuid, const std::string& label,
727  const DtSimulationAddress& addr = DtSimSendToAll);
728 
730  virtual void setAltitude(
731  const DtUUID& uuid, double altitude, bool aboveGroundLevel = false,
732  const DtSimulationAddress& addr = DtSimSendToAll);
733 
735  virtual void setLocation(
736  const DtUUID& uuid, DtVector coord,
737  const DtSimulationAddress& addr = DtSimSendToAll);
738 
742  virtual void setAppearance(
743  const DtUUID& uuid, int appearance,
744  const DtSimulationAddress& addr = DtSimSendToAll);
745 
749  virtual void setCapabilities(
750  const DtUUID& uuid, int capabilities,
751  const DtSimulationAddress& addr = DtSimSendToAll);
752 
754  virtual void setHeading(
755  const DtUUID& uuid, double degrees,
756  const DtSimulationAddress& addr = DtSimSendToAll);
757 
759  virtual void setForce(
760  const DtUUID& uuid, DtForceType force,
761  const DtSimulationAddress& addr = DtSimSendToAll);
762 
764  virtual void setResource(const DtUUID& uuid,
765  const char* resourceType, double value,
766  const DtSimulationAddress& addr = DtSimSendToAll);
767 
771  virtual void setRulesOfEngagement(
772  const DtUUID& uuid, const char* rulesType,
773  const DtSimulationAddress& addr = DtSimSendToAll);
774 
776  virtual void setSectorOfResponsibility(
777  const DtUUID& uuid, double center, double size,
778  const DtSimulationAddress& addr = DtSimSendToAll);
779 
783  virtual void setSpeed(
784  const DtUUID& uuid, double speed,
785  const DtSimulationAddress& addr = DtSimSendToAll);
786 
789  virtual void setCurrentSpeed(
790  const DtUUID& uuid, double speed,
791  const DtSimulationAddress& addr = DtSimSendToAll);
792 
794  virtual void setTarget(
795  const DtUUID& uuid, const DtUUID& target,
796  const DtSimulationAddress& addr = DtSimSendToAll);
797 
800  virtual void setSuperior(
801  const DtUUID& uuid, const DtUUID& superior,
802  const DtSimulationAddress& addr = DtSimSendToAll);
803 
807  virtual void setTaskedBySuperior(const DtUUID& uuid,
808  const DtSimulationAddress& addr = DtSimSendToAll);
809 
811  virtual void setConcealed(const DtUUID& uuid,
812  bool yes, const DtSimulationAddress& addr = DtSimSendToAll);
813 
815  virtual void setEmitter(const DtUUID& uuid,
816  int emitterId, bool on,
817  const DtSimulationAddress& addr = DtSimSendToAll);
818 
820  virtual void setIff(const DtUUID& uuid,
821  bool mode1on, int mode1code,
822  bool mode2on, int mode2code,
823  bool mode3on, int mode3code,
824  bool mode4on, int mode4code,
825  DtIffAtcNavaidsAltParm4 altParm4,
826  bool modeCon, bool useAltModeC,
827  bool modeSon, bool emergency,
828  bool flash, bool sti, bool modeSTcasI,
829  int pin, bool mode5LevelSelection,
830  unsigned int messageFormatsPresent, unsigned int nationalOrigin,
831  unsigned int navigationSource, unsigned int figureOfMerit,
832  const DtSimulationAddress& addr = DtSimSendToAll);
833 
837  virtual void restore(const DtUUID& uuid,
838  const DtSimulationAddress& addr = DtSimSendToAll);
839 
842  virtual void setDestroyed(const DtUUID& uuid,
843  const DtSimulationAddress& addr = DtSimSendToAll);
844 
846  virtual void setLifeformWeaponState(
847  const DtUUID& uuid, DtWeaponState weapon,
848  const DtSimulationAddress& addr = DtSimSendToAll);
849 
851  virtual void setLifeformPosture(
852  const DtUUID& uuid, DtLifeformState posture,
853  const DtSimulationAddress& addr = DtSimSendToAll);
854 
856  virtual void setAggregateFormation(
857  const DtUUID& leader, const std::string& formationName,
858  const DtSimulationAddress& addr = DtSimSendToAll);
859 
863  virtual void reorganizeAggregate(const DtUUID& leader,
864  const DtSimulationAddress& addr = DtSimSendToAll);
865 
869  virtual void disaggregate(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
870 
874  virtual void aggregate(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
875 
878  virtual void sendSetDataMsg(
879  const DtUUID& recipient, DtSetDataRequest* msg,
880  const DtSimulationAddress& addr = DtSimSendToAll,
881  bool updateScenario = true);
882 
885  virtual void sendSetRequest(const DtSetDataRequest& s, const DtUUID& uuid,
886  const DtSimulationAddress& addr = DtSimSendToAll, bool updateScenario = true);
887 
889  virtual void sendSetRequest(const DtSetDataRequest& s, const std::vector<DtUUID>& names,
890  const DtSimulationAddress& addr = DtSimSendToAll, bool updateScenario = true);
891 
897  virtual void requestIndirectArtilleryInformation(const DtUUID&);
899 
903 
906  virtual void moveAlongRoute(
907  const DtUUID& entity, const DtUUID& route,
908  const DtSimulationAddress& addr = DtSimSendToAll);
909 
912  virtual void moveToWaypoint(
913  const DtUUID& entity, const DtUUID& waypoint,
914  const DtSimulationAddress& addr = DtSimSendToAll);
915 
919  virtual void moveToLocation(
920  const DtUUID& entity, const DtVector& destinationLocation,
921  const DtSimulationAddress& addr = DtSimSendToAll);
922 
925  virtual void patrolBetweenWaypoints(
926  const DtUUID& entity,
927  const DtUUID& waypoint1, const DtUUID& waypoint2,
928  const DtSimulationAddress& addr = DtSimSendToAll);
929 
932  virtual void patrolAlongRoute(
933  const DtUUID& entity, const DtUUID& route,
934  const DtSimulationAddress& addr = DtSimSendToAll);
935 
941  virtual void followEntity(
942  const DtUUID& entity,
943  const DtUUID& leader, const DtVector& offset,
944  const DtSimulationAddress& addr = DtSimSendToAll);
945 
948  virtual void wait(
949  const DtUUID& entity,
950  const DtSimulationAddress& addr = DtSimSendToAll);
951 
954  virtual void waitDuration(
955  const DtUUID& entity, DtTime duration,
956  const DtSimulationAddress& addr = DtSimSendToAll);
957 
961  virtual void waitElapsed(
962  const DtUUID& entity, DtTime elapsed,
963  const DtSimulationAddress& addr = DtSimSendToAll);
964 
969  virtual void requestCurrentTasks(const DtUUID& entity);
970 
974  virtual void subscribeForTaskInformation(const DtUUID& entity);
975 
978  virtual void unsubscribeForTaskInformation(const DtUUID& entity);
979 
983  virtual void sendTaskMsg(
984  const DtUUID& recipient, DtSimTask* task,
985  const DtSimulationAddress& addr = DtSimSendToAll);
986 
988  virtual void sendTaskRequest(const DtSimTask& s, const std::vector<DtUUID>& names, const DtSimulationAddress& addr = DtSimSendToAll);
990  virtual void sendTaskRequest(const DtSimTask& s, const DtUUID& uuid, const DtSimulationAddress& addr = DtSimSendToAll);
991 
996  virtual void requestTasksAndSetsFor(const std::vector<DtUUID>& name);
998 
1005 
1008  virtual void abandonPlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1009 
1012  virtual void skipTask(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1013 
1015  virtual void cancelReactiveTask(const DtUUID& uuid, std::string scriptId, DtSimulationAddress addr = DtSimSendToAll);
1016 
1019  virtual void restartPlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1020 
1022  virtual void assignPlanByName(const DtUUID& uuid, const DtPlan*, DtSimulationAddress addr = DtSimSendToAll);
1023 
1025  virtual void assignMultiplePlanByName(std::vector<DtUUID> names, const DtPlan*, DtSimulationAddress addr = DtSimSendToAll);
1026 
1032  virtual void requestPlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1033 
1039  virtual void subscribePlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1040 
1047  virtual void requestMultiplePlans(std::vector<DtUUID> names, DtSimulationAddress addr = DtSimSendToAll);
1048 
1053  virtual void requestGlobalPlans(DtSimulationAddress addr = DtSimSendToAll);
1054 
1057  virtual void assignGlobalPlanByName(const DtUUID& name, const DtPlan*, DtSimulationAddress addr);
1058 
1060  virtual void deleteGlobalPlan(const DtUUID&, DtSimulationAddress addr);
1061 
1063  virtual void launchGlobalPlan(const DtUUID&, DtSimulationAddress addr);
1065 
1067  virtual void setTimeoutInterval(int);
1068 
1074  virtual void requestDIGuyAppearancesAndAnimations(const std::vector<DtUUID>& name);
1075 
1082  virtual void requestResourcesFor(std::vector<DtUUID> names, DtSimulationAddress addr = DtSimSendToAll);
1083 
1085  virtual void sendMessageToObject(const DtVrfObjectMessage&, DtSimulationAddress addr = DtSimSendToAll);
1086 
1088  virtual void sendObjectMessageAndDeleteContent(DtVrfObjectMessage* message, DtSimulationAddress addr = DtSimSendToAll);
1089 
1091  virtual void sendSensorFieldOfViewControlInteraction(const DtSensorFieldOfViewControlInteractionData& interData);
1092 
1094  virtual void sendSensorFieldOfViewControlInteractionAndDelete(DtSensorFieldOfViewControlInteractionData* data);
1095 
1097  virtual void sendDetonationInteraction(const DtDetonationInteractionData& interData);
1098 
1100  virtual void sendDetonationInteractionAndDelete(DtDetonationInteractionData* data);
1101 
1103  virtual void requestForces(DtSimulationAddress addr);
1104 
1107  virtual void requestDoctrines();
1108 
1111  virtual void requestAssignedDoctrines();
1112 
1114  virtual unsigned long generateRequestId();
1115 
1116  //-------------------------------------------------------
1118  //-------------------------------------------------------
1119 
1124  virtual void takeControlOf(const DtUUID&, const std::set<std::string>& functionalGroups = std::set<std::string>(),
1125  const DtSimulationAddress& addr = DtSimSendToAll);
1126 
1129  virtual void releaseControlOf(const DtUUID&, const std::set<std::string>& functionalGroups = std::set<std::string>(),
1130  const DtSimulationAddress& addr = DtSimSendToAll);
1131 
1134  virtual void sendJoystickControl(const DtUUID&, const std::string& functionGroup,
1135  const std::string& function, double value, bool repeat = false, const DtSimulationAddress& addr = DtSimSendToAll);
1136 
1137  public:
1138 
1140  virtual void addSetCreatorFcn(const DtSetMessageType&, DtSetDataRequestCreatorFcn);
1141 
1143  virtual void addTaskCreatorFcn(const DtSimTaskMessageType&, DtSimTaskCreatorFcn);
1144 
1146  virtual void addInterfaceContentCreatorFcn(int t, DtInterfaceContentCreatorFcn);
1147 
1149  virtual void addAdminContentCreatorFcn(const DtAdminContentMessageType&, DtAdminContentCreatorFcn);
1150 
1152  virtual void addConditionCreatorFcn(std::string, int, DtCondExprCreatorFcn);
1153 
1155  virtual void addReportCreatorFcn(const DtSimReportMessageType&, DtSimReportCreatorFcn);
1156 
1158  virtual void addObjectMessageCreatorFcn(int, DtVrfObjectMessageCreatorFcn);
1159 
1161  virtual void addSimulationCommandCreatorFcn(const DtSimCommandMessageType&, DtSimCommandCreatorFcn);
1162 
1165  virtual void sendMessage(const DtSimInterfaceContent& message, DtSimulationAddress addr = DtSimSendToAll);
1166  virtual void sendMessageAndDeleteContent(DtSimInterfaceContent* message, DtSimulationAddress addr = DtSimSendToAll);
1167 
1174  virtual void embarkOn(const std::vector<DtUUID>& children, const DtUUID& parent,
1175  bool useSlot = true, const DtVector& overridePosition = DtVector::zero(),
1176  int embarkInSlot = -1, bool chooseAnyIfNotAvailable = true, DtSimulationAddress addr = DtSimSendToAll);
1177 
1179  virtual void disembark(const std::vector<DtUUID>& children, DtSimulationAddress addr = DtSimSendToAll);
1180 
1182  virtual void disembarkAll(const std::vector<DtUUID>& parents, DtSimulationAddress addr = DtSimSendToAll);
1183 
1185  virtual void attachTo(const std::vector<DtUUID>& ids, const DtUUID& parent);
1186 
1188  virtual void detachAll(const std::vector<DtUUID>& ids);
1189 
1192  virtual void logObjectConsoleToFile(const DtUUID& uuid, const std::string& filename);
1193 
1196  virtual void stopLoggingObjectConsoleToFile(const DtUUID& uuid);
1197 
1199  virtual void setObjectNotifyLevel(const DtUUID& uuid, int);
1200 
1202  virtual void setTimeOfDay(time_t seconds);
1203  virtual void setTimeOfDay(int hours, int minutes, int seconds);
1204 
1206  virtual void setDateAndTimeOfDay(time_t seconds);
1207  virtual void setDateAndTimeOfDay(int year, int month, int day, int hours, int minutes, int seconds);
1208 
1210  virtual void setUseDayNightIlluminationModel(bool);
1211 
1213  virtual void setAggregateOnCreate(bool);
1214  bool aggregateOnCreate() const;
1215 
1218  virtual void requestScenarioDescription(DtSimulationAddress);
1219 
1221  virtual void setScenarioDescription(const DtString&, DtSimulationAddress addr = DtSimSendToAll);
1222 
1224  virtual void setScenarioName(const DtString&, DtSimulationAddress addr = DtSimSendToAll);
1225 
1227  virtual void addContentMessagesThatModifyScenario(int);
1228  virtual void removeContentMessagesThatModifyScenario(int);
1229  const std::set<int>& contentMessagesThatModifyScenario() const { return myContentMessagesThatModifyScenario; };
1230 
1231  public:
1233  virtual void sendLoggerSetFilename(std::string filename);
1234 
1235  virtual void sendLoggerRecordMessage();
1236 
1237  virtual void sendLoggerStopMessage();
1238 
1239  protected:
1241  virtual void processObjectCreated(DtSimMessage*);
1242 
1244  virtual void processComputedRouteCreated(DtSimMessage*);
1245 
1247  virtual void setActivated(bool);
1248 
1256  virtual bool addStatementsAndSendPlan(const DtPlan& plan, DtIfPlan& planMsg,
1257  const DtSimulationAddress& addr = DtSimSendToAll,
1258  int *retiStatus = 0, DtString* retsStmt = 0);
1259 
1261  virtual void indirectArtilleryCreated(DtString, const DtUUID&, const DtEntityIdentifier&, DtIfIndirectArtilleryData);
1262 
1264  virtual void checkIfContentMessageShouldMarkScenarioAsModified(const DtSimInterfaceContent&);
1265 
1266  public:
1270 
1272  boost::signal<void (const DtScenario*)> signal_loadedScenario;
1273 
1275  boost::signal<void ()> signal_scenarioModified;
1276 
1278  boost::signal<void (const DtScenarioLoadInformation&)> signal_loadScenario;
1279 
1281  boost::signal<void (const DtScenario*, DtPreserveMappingsFcn fcn, void* userData, bool saveToZipFile,
1282  bool queueSave, int putIntoPlayMode)> signal_saveScenario;
1283 
1285  boost::signal<void (double)> signal_rollbackToSnapshot;
1286 
1289  boost::signal<void (std::vector<DtScenario*>, DtFilename)> signal_saveCheckpoints;
1290 
1292  boost::signal<void ()> signal_clearSavingCheckpoints;
1293 
1296  boost::signal<void (const DtUUID&, bool& shouldDelete)> signal_shouldDeleteObject;
1297 
1299  boost::signal<void ()> signal_closeScenario;
1300 
1303  boost::signal<void (DtIfCreateVrfObject&)> signal_aboutToSendCreateMessage;
1304 
1306  boost::signal<void (DtIfModifyVrfObject&)> signal_aboutToSendModifyMessage;
1307 
1309 
1310  protected:
1312  virtual void slot_preTick(makVrv::DtDe* de);
1313 
1314  protected:
1316 
1317  typedef std::map<unsigned int, DtVrfObjectCreatedCallbackFunction> CreateCallbacks;
1318 
1320 
1321  typedef std::map<unsigned int, DtComputedRouteResponseCallbackFunction> ComputedRouteCallbacks;
1322 
1324 
1326  };
1327 }

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)