VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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&, 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, 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, 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 
677  virtual unsigned int addCreateCallbackFunction(DtVrfObjectCreatedCallbackFunction);
678 
681  virtual unsigned int addCreateComputedRouteCallbackFunction(DtComputedRouteResponseCallbackFunction);
682 
684  virtual void removeCreateComputedRouteCallbackFunction(int rId);
685 
692  virtual void sendVrfOverlayObjectModifyMsg(
693  const DtSimulationAddress& addr,
694  const DtUUID& uuid,
695  int* color = 0,
696  const std::string* parentName = 0,
697  const DtUUID* attachTo = 0,
698  const std::string* userData = 0);
699 
701  virtual void sendVrfIndirectArtilleryObjectModifyMsg(
702  const DtSimulationAddress& addr,
703  const DtUUID& uuid,
704  const DtIfIndirectArtilleryData& mod);
706 
712 
714  virtual void setLabel(
715  const DtUUID& uuid, const std::string& label,
716  const DtSimulationAddress& addr = DtSimSendToAll);
717 
719  virtual void setExtendedLabels(
720  const DtUUID& uuid, const std::map<int, DtString>& extendedLabels,
721  const DtSimulationAddress& addr = DtSimSendToAll);
722 
724  virtual void setOverlayParent(
725  const DtUUID& uuid, const std::string& label,
726  const DtSimulationAddress& addr = DtSimSendToAll);
727 
729  virtual void setAltitude(
730  const DtUUID& uuid, double altitude, bool aboveGroundLevel = false,
731  const DtSimulationAddress& addr = DtSimSendToAll);
732 
734  virtual void setLocation(
735  const DtUUID& uuid, DtVector coord,
736  const DtSimulationAddress& addr = DtSimSendToAll);
737 
741  virtual void setAppearance(
742  const DtUUID& uuid, int appearance,
743  const DtSimulationAddress& addr = DtSimSendToAll);
744 
748  virtual void setCapabilities(
749  const DtUUID& uuid, int capabilities,
750  const DtSimulationAddress& addr = DtSimSendToAll);
751 
753  virtual void setHeading(
754  const DtUUID& uuid, double degrees,
755  const DtSimulationAddress& addr = DtSimSendToAll);
756 
758  virtual void setForce(
759  const DtUUID& uuid, DtForceType force,
760  const DtSimulationAddress& addr = DtSimSendToAll);
761 
763  virtual void setResource(const DtUUID& uuid,
764  const char* resourceType, double value,
765  const DtSimulationAddress& addr = DtSimSendToAll);
766 
770  virtual void setRulesOfEngagement(
771  const DtUUID& uuid, const char* rulesType,
772  const DtSimulationAddress& addr = DtSimSendToAll);
773 
775  virtual void setSectorOfResponsibility(
776  const DtUUID& uuid, double center, double size,
777  const DtSimulationAddress& addr = DtSimSendToAll);
778 
782  virtual void setSpeed(
783  const DtUUID& uuid, double speed,
784  const DtSimulationAddress& addr = DtSimSendToAll);
785 
788  virtual void setCurrentSpeed(
789  const DtUUID& uuid, double speed,
790  const DtSimulationAddress& addr = DtSimSendToAll);
791 
793  virtual void setTarget(
794  const DtUUID& uuid, const DtUUID& target,
795  const DtSimulationAddress& addr = DtSimSendToAll);
796 
799  virtual void setSuperior(
800  const DtUUID& uuid, const DtUUID& superior,
801  const DtSimulationAddress& addr = DtSimSendToAll);
802 
806  virtual void setTaskedBySuperior(const DtUUID& uuid,
807  const DtSimulationAddress& addr = DtSimSendToAll);
808 
810  virtual void setConcealed(const DtUUID& uuid,
811  bool yes, const DtSimulationAddress& addr = DtSimSendToAll);
812 
814  virtual void setEmitter(const DtUUID& uuid,
815  int emitterId, bool on,
816  const DtSimulationAddress& addr = DtSimSendToAll);
817 
819  virtual void setIff(const DtUUID& uuid,
820  bool mode1on, int mode1code,
821  bool mode2on, int mode2code,
822  bool mode3on, int mode3code,
823  bool mode4on, int mode4code,
824  DtIffAtcNavaidsAltParm4 altParm4,
825  bool modeCon, bool useAltModeC,
826  bool modeSon, bool emergency,
827  bool flash, bool sti, bool modeSTcasI,
828  int pin, bool mode5LevelSelection,
829  unsigned int messageFormatsPresent, unsigned int nationalOrigin,
830  unsigned int navigationSource, unsigned int figureOfMerit,
831  const DtSimulationAddress& addr = DtSimSendToAll);
832 
836  virtual void restore(const DtUUID& uuid,
837  const DtSimulationAddress& addr = DtSimSendToAll);
838 
841  virtual void setDestroyed(const DtUUID& uuid,
842  const DtSimulationAddress& addr = DtSimSendToAll);
843 
845  virtual void setLifeformWeaponState(
846  const DtUUID& uuid, DtWeaponState weapon,
847  const DtSimulationAddress& addr = DtSimSendToAll);
848 
850  virtual void setLifeformPosture(
851  const DtUUID& uuid, DtLifeformState posture,
852  const DtSimulationAddress& addr = DtSimSendToAll);
853 
855  virtual void setAggregateFormation(
856  const DtUUID& leader, const std::string& formationName,
857  const DtSimulationAddress& addr = DtSimSendToAll);
858 
862  virtual void reorganizeAggregate(const DtUUID& leader,
863  const DtSimulationAddress& addr = DtSimSendToAll);
864 
868  virtual void disaggregate(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
869 
873  virtual void aggregate(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
874 
877  virtual void sendSetDataMsg(
878  const DtUUID& recipient, DtSetDataRequest* msg,
879  const DtSimulationAddress& addr = DtSimSendToAll,
880  bool updateScenario = true);
881 
884  virtual void sendSetRequest(const DtSetDataRequest& s, const DtUUID& uuid,
885  const DtSimulationAddress& addr = DtSimSendToAll, bool updateScenario = true);
886 
888  virtual void sendSetRequest(const DtSetDataRequest& s, const std::vector<DtUUID>& names,
889  const DtSimulationAddress& addr = DtSimSendToAll, bool updateScenario = true);
890 
896  virtual void requestIndirectArtilleryInformation(const DtUUID&);
898 
902 
905  virtual void moveAlongRoute(
906  const DtUUID& entity, const DtUUID& route,
907  const DtSimulationAddress& addr = DtSimSendToAll);
908 
911  virtual void moveToWaypoint(
912  const DtUUID& entity, const DtUUID& waypoint,
913  const DtSimulationAddress& addr = DtSimSendToAll);
914 
918  virtual void moveToLocation(
919  const DtUUID& entity, const DtVector& destinationLocation,
920  const DtSimulationAddress& addr = DtSimSendToAll);
921 
924  virtual void patrolBetweenWaypoints(
925  const DtUUID& entity,
926  const DtUUID& waypoint1, const DtUUID& waypoint2,
927  const DtSimulationAddress& addr = DtSimSendToAll);
928 
931  virtual void patrolAlongRoute(
932  const DtUUID& entity, const DtUUID& route,
933  const DtSimulationAddress& addr = DtSimSendToAll);
934 
940  virtual void followEntity(
941  const DtUUID& entity,
942  const DtUUID& leader, const DtVector& offset,
943  const DtSimulationAddress& addr = DtSimSendToAll);
944 
947  virtual void wait(
948  const DtUUID& entity,
949  const DtSimulationAddress& addr = DtSimSendToAll);
950 
953  virtual void waitDuration(
954  const DtUUID& entity, DtTime duration,
955  const DtSimulationAddress& addr = DtSimSendToAll);
956 
960  virtual void waitElapsed(
961  const DtUUID& entity, DtTime elapsed,
962  const DtSimulationAddress& addr = DtSimSendToAll);
963 
968  virtual void requestCurrentTasks(const DtUUID& entity);
969 
973  virtual void subscribeForTaskInformation(const DtUUID& entity);
974 
977  virtual void unsubscribeForTaskInformation(const DtUUID& entity);
978 
982  virtual void sendTaskMsg(
983  const DtUUID& recipient, DtSimTask* task,
984  const DtSimulationAddress& addr = DtSimSendToAll);
985 
987  virtual void sendTaskRequest(const DtSimTask& s, const std::vector<DtUUID>& names, const DtSimulationAddress& addr = DtSimSendToAll);
989  virtual void sendTaskRequest(const DtSimTask& s, const DtUUID& uuid, const DtSimulationAddress& addr = DtSimSendToAll);
990 
995  virtual void requestTasksAndSetsFor(const std::vector<DtUUID>& name);
997 
1004 
1007  virtual void abandonPlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1008 
1011  virtual void skipTask(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1012 
1014  virtual void cancelReactiveTask(const DtUUID& uuid, std::string scriptId, DtSimulationAddress addr = DtSimSendToAll);
1015 
1018  virtual void restartPlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1019 
1021  virtual void assignPlanByName(const DtUUID& uuid, const DtPlan*, DtSimulationAddress addr = DtSimSendToAll);
1022 
1024  virtual void assignMultiplePlanByName(std::vector<DtUUID> names, const DtPlan*, DtSimulationAddress addr = DtSimSendToAll);
1025 
1031  virtual void requestPlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1032 
1038  virtual void subscribePlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1039 
1046  virtual void requestMultiplePlans(std::vector<DtUUID> names, DtSimulationAddress addr = DtSimSendToAll);
1047 
1052  virtual void requestGlobalPlans(DtSimulationAddress addr = DtSimSendToAll);
1053 
1056  virtual void assignGlobalPlanByName(const DtUUID& name, const DtPlan*, DtSimulationAddress addr);
1057 
1059  virtual void deleteGlobalPlan(const DtUUID&, DtSimulationAddress addr);
1060 
1062  virtual void launchGlobalPlan(const DtUUID&, DtSimulationAddress addr);
1064 
1066  virtual void setTimeoutInterval(int);
1067 
1073  virtual void requestDIGuyAppearancesAndAnimations(const std::vector<DtUUID>& name);
1074 
1081  virtual void requestResourcesFor(std::vector<DtUUID> names, DtSimulationAddress addr = DtSimSendToAll);
1082 
1084  virtual void sendMessageToObject(const DtVrfObjectMessage&, DtSimulationAddress addr = DtSimSendToAll);
1085 
1087  virtual void sendObjectMessageAndDeleteContent(DtVrfObjectMessage* message, DtSimulationAddress addr = DtSimSendToAll);
1088 
1090  virtual void sendSensorFieldOfViewControlInteraction(const DtSensorFieldOfViewControlInteractionData& interData);
1091 
1093  virtual void sendSensorFieldOfViewControlInteractionAndDelete(DtSensorFieldOfViewControlInteractionData* data);
1094 
1096  virtual void sendDetonationInteraction(const DtDetonationInteractionData& interData);
1097 
1099  virtual void sendDetonationInteractionAndDelete(DtDetonationInteractionData* data);
1100 
1102  virtual void requestForces(DtSimulationAddress addr);
1103 
1106  virtual void requestDoctrines();
1107 
1110  virtual void requestAssignedDoctrines();
1111 
1113  virtual unsigned long generateRequestId();
1114 
1115  //-------------------------------------------------------
1117  //-------------------------------------------------------
1118 
1123  virtual void takeControlOf(const DtUUID&, const std::set<std::string>& functionalGroups = std::set<std::string>(),
1124  const DtSimulationAddress& addr = DtSimSendToAll);
1125 
1128  virtual void releaseControlOf(const DtUUID&, const std::set<std::string>& functionalGroups = std::set<std::string>(),
1129  const DtSimulationAddress& addr = DtSimSendToAll);
1130 
1133  virtual void sendJoystickControl(const DtUUID&, const std::string& functionGroup,
1134  const std::string& function, double value, bool repeat = false, const DtSimulationAddress& addr = DtSimSendToAll);
1135 
1136  public:
1137 
1139  virtual void addSetCreatorFcn(const DtSetMessageType&, DtSetDataRequestCreatorFcn);
1140 
1142  virtual void addTaskCreatorFcn(const DtSimTaskMessageType&, DtSimTaskCreatorFcn);
1143 
1145  virtual void addInterfaceContentCreatorFcn(int t, DtInterfaceContentCreatorFcn);
1146 
1148  virtual void addAdminContentCreatorFcn(const DtAdminContentMessageType&, DtAdminContentCreatorFcn);
1149 
1151  virtual void addConditionCreatorFcn(std::string, int, DtCondExprCreatorFcn);
1152 
1154  virtual void addReportCreatorFcn(const DtSimReportMessageType&, DtSimReportCreatorFcn);
1155 
1157  virtual void addObjectMessageCreatorFcn(int, DtVrfObjectMessageCreatorFcn);
1158 
1160  virtual void addSimulationCommandCreatorFcn(const DtSimCommandMessageType&, DtSimCommandCreatorFcn);
1161 
1164  virtual void sendMessage(const DtSimInterfaceContent& message, DtSimulationAddress addr = DtSimSendToAll);
1165  virtual void sendMessageAndDeleteContent(DtSimInterfaceContent* message, DtSimulationAddress addr = DtSimSendToAll);
1166 
1173  virtual void embarkOn(const std::vector<DtUUID>& children, const DtUUID& parent,
1174  bool useSlot = true, const DtVector& overridePosition = DtVector::zero(),
1175  int embarkInSlot = -1, bool chooseAnyIfNotAvailable = true, DtSimulationAddress addr = DtSimSendToAll);
1176 
1178  virtual void disembark(const std::vector<DtUUID>& children, DtSimulationAddress addr = DtSimSendToAll);
1179 
1181  virtual void disembarkAll(const std::vector<DtUUID>& parents, DtSimulationAddress addr = DtSimSendToAll);
1182 
1184  virtual void attachTo(const std::vector<DtUUID>& ids, const DtUUID& parent);
1185 
1187  virtual void detachAll(const std::vector<DtUUID>& ids);
1188 
1191  virtual void logObjectConsoleToFile(const DtUUID& uuid, const std::string& filename);
1192 
1195  virtual void stopLoggingObjectConsoleToFile(const DtUUID& uuid);
1196 
1198  virtual void setObjectNotifyLevel(const DtUUID& uuid, int);
1199 
1201  virtual void setTimeOfDay(time_t seconds);
1202  virtual void setTimeOfDay(int hours, int minutes, int seconds);
1203 
1205  virtual void setDateAndTimeOfDay(time_t seconds);
1206  virtual void setDateAndTimeOfDay(int year, int month, int day, int hours, int minutes, int seconds);
1207 
1209  virtual void setUseDayNightIlluminationModel(bool);
1210 
1212  virtual void setAggregateOnCreate(bool);
1213  bool aggregateOnCreate() const;
1214 
1217  virtual void requestScenarioDescription(DtSimulationAddress);
1218 
1220  virtual void setScenarioDescription(const DtString&, DtSimulationAddress addr = DtSimSendToAll);
1221 
1223  virtual void addContentMessagesThatModifyScenario(int);
1224  virtual void removeContentMessagesThatModifyScenario(int);
1225  const std::set<int>& contentMessagesThatModifyScenario() const { return myContentMessagesThatModifyScenario; };
1226 
1227  public:
1229  virtual void sendLoggerSetFilename(std::string filename);
1230 
1231  virtual void sendLoggerRecordMessage();
1232 
1233  virtual void sendLoggerStopMessage();
1234 
1235  protected:
1237  virtual void processObjectCreated(DtSimMessage*);
1238 
1240  virtual void processComputedRouteCreated(DtSimMessage*);
1241 
1243  virtual void setActivated(bool);
1244 
1252  virtual bool addStatementsAndSendPlan(const DtPlan& plan, DtIfPlan& planMsg,
1253  const DtSimulationAddress& addr = DtSimSendToAll,
1254  int *retiStatus = 0, DtString* retsStmt = 0);
1255 
1257  virtual void indirectArtilleryCreated(DtString, const DtUUID&, const DtEntityIdentifier&, DtIfIndirectArtilleryData);
1258 
1260  virtual void checkIfContentMessageShouldMarkScenarioAsModified(const DtSimInterfaceContent&);
1261 
1262  public:
1266 
1268  boost::signal<void (const DtScenario*)> signal_loadedScenario;
1269 
1271  boost::signal<void ()> signal_scenarioModified;
1272 
1274  boost::signal<void (const DtScenarioLoadInformation&)> signal_loadScenario;
1275 
1277  boost::signal<void (const DtScenario*, DtPreserveMappingsFcn fcn, void* userData, bool saveToZipFile,
1278  bool queueSave, int putIntoPlayMode)> signal_saveScenario;
1279 
1281  boost::signal<void (double)> signal_rollbackToSnapshot;
1282 
1285  boost::signal<void (std::vector<DtScenario*>, DtFilename)> signal_saveCheckpoints;
1286 
1288  boost::signal<void ()> signal_clearSavingCheckpoints;
1289 
1292  boost::signal<void (const DtUUID&, bool& shouldDelete)> signal_shouldDeleteObject;
1293 
1295  boost::signal<void ()> signal_closeScenario;
1296 
1299  boost::signal<void (DtIfCreateVrfObject&)> signal_aboutToSendCreateMessage;
1300 
1302  boost::signal<void (DtIfModifyVrfObject&)> signal_aboutToSendModifyMessage;
1303 
1305 
1306  protected:
1308  virtual void slot_preTick(makVrv::DtDe* de);
1309 
1310  protected:
1312 
1313  typedef std::map<unsigned int, DtVrfObjectCreatedCallbackFunction> CreateCallbacks;
1314 
1316 
1317  typedef std::map<unsigned int, DtComputedRouteResponseCallbackFunction> ComputedRouteCallbacks;
1318 
1320 
1322  };
1323 }

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)