VR-Forces Development_Version 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>
23 
26 #include <vrvCore/DtEntityState.h>
27 #include <vrvUtil/signalslib.h>
28 #include <vrvCore/DtDe.h>
29 
30 #include <vlpi/entityType.h>
31 #include <matrix/vlVector.h>
32 
35 #include <vrfplan/plan.h>
36 #include <vrfutil/scenario.h>
37 #include <vrfutil/rwUUID.h>
38 
39 #include <boost/function.hpp>
40 
42 class DtSetDataRequest;
44 class DtSimTask;
45 class DtAdminMessage;
48 class DtIfPlan;
53 
54 typedef boost::function<void (DtString, const DtUUID&, const DtEntityIdentifier&, const DtObjectType&)> DtVrfObjectCreatedCallbackFunction;
55 typedef boost::function<void (bool, DtString, const DtUUID&, const DtEntityIdentifier&)> DtComputedRouteResponseCallbackFunction;
56 
57 namespace makVrf
58 {
59  class DtGuiThreadNetworkCallbackManager;
60 
87  {
88  public:
89 
92 
94  static DtGuiThreadVrfRemoteController& instance(makVrv::DtDe& de);
95 
96  public:
99  DtVrfBackendSettingsManager& backendSettingsManager();
100 
103  DtVrfSimBackendManager& backendManager();
104 
106  DtVrfSpotReportManager& spotReportManager();
107 
109  DtVrfResourceManager& resourceManager();
110 
112  DtGuiThreadNetworkCallbackManager& messageHandler();
113 
114  public:
117 
123  virtual void newScenario(const DtScenario*, time_t startTimeOfDay = 12 * 3600);
125  virtual void newScenario(const DtFilename& terrainDatabase, time_t startTimeOfDay = 12 * 3600);
126 
131  virtual void importScenarioDescriptionFile(const std::string& file, DtSimulationAddress, const std::string& description ,
132  const std::map<std::string, std::string>& importData);
133 
138  virtual void createSimulationObjectGroup(const DtSimulationAddress&, const DtString& simulationObjectGroup,
139  const DtVector& createPosition, double offsetRotation, int createFlags, int force);
140 
143  virtual bool saveSimulationObjectGroup(const DtFilename& smsDirectory, const std::string& groupName,
144  const std::string& groupDescription, int creationFlags, const DtSimulationAddress& addr,
145  const std::map<DtString, DtString>& additionalInformation = std::map<DtString, DtString>());
146 
149  virtual void exportScenarioDescriptionFile(const std::string& file, DtSimulationAddress, const std::string& description,
150  const std::map<std::string, std::string>& importData);
151 
167  virtual void loadScenario(const DtScenarioLoadInformation&);
169  virtual bool loadScenario(const DtFilename&);
170  virtual bool importScenario(const DtFilename&);
171 
184  virtual void saveScenario(const DtScenario*, DtPreserveMappingsFcn fcn = 0, void* userData = 0);
185 
188  virtual void closeScenario(const DtFilename& databaseToOpen = "");
190 
193 
196  virtual void setScenarioRunDuration(double time, bool duration = false);
197 
202  virtual void runScenario(bool useStartStopInteraction = false, DtSimulationAddress addr = DtSimSendToAll);
204  virtual void pauseScenario(bool useStartStopInteraction = false, DtSimulationAddress addr = DtSimSendToAll);
206  virtual void rewindScenario(DtSimulationAddress addr = DtSimSendToAll);
208  virtual void exitServer(DtSimulationAddress addr = DtSimSendToAll);
210  virtual void stepScenario(DtSimulationAddress addr = DtSimSendToAll);
212 
216  virtual void deleteObject(const DtUUID&, DtSimulationAddress addr = DtSimSendToAll);
217 
220 
224  virtual void removeObjectCreatedCallback(unsigned int);
225 
230  virtual void createWaypoint(
231  const DtSimulationAddress& addr,
232  const DtVector& geocentricPosition,
233  const std::string& uniqueName = "",
234  const std::string& label = "",
235  unsigned int requestId = 0);
236 
240  virtual unsigned int createWaypoint(
242  const DtSimulationAddress& addr,
243  const DtVector& geocentricPosition,
244  const std::string& uniqueName = "",
245  const std::string& label = "");
246 
248  virtual void modifyWaypoint(
249  const DtUUID& uuid,
250  std::string* uniqueName = 0,
251  std::string* label = 0,
252  DtVector* geocentricPosition = 0,
253  const DtSimulationAddress& addr = DtSimSendToAll);
254 
259  virtual void createRoute(
260  const DtSimulationAddress& addr,
261  const std::vector<DtVector>& vertices,
262  const std::string& uniqueName = "",
263  const std::string& label = "",
264  unsigned int rId = 0);
265 
269  virtual unsigned int createRoute(
271  const DtSimulationAddress& addr,
272  const std::vector<DtVector>& vertices,
273  const std::string& uniqueName = "",
274  const std::string& label = "");
275 
277  virtual void modifyRoute(
278  const DtUUID& uuid,
279  std::string* uniqueName = 0,
280  std::string* label = 0,
281  std::vector<DtVector>* vertices = 0,
282  const DtSimulationAddress& addr = DtSimSendToAll);
283 
288  virtual void createPhaseLine(
289  const DtSimulationAddress& addr,
290  const DtVector& dbPoint1,
291  const DtVector& dbPoint2,
292  const std::string& uniqueName = "",
293  const std::string& label = "",
294  unsigned int rId = 0);
295 
299  virtual unsigned int createPhaseLine(
301  const DtSimulationAddress& addr,
302  const DtVector& dbPoint1,
303  const DtVector& dbPoint2,
304  const std::string& uniqueName = "",
305  const std::string& label = "");
306 
308  virtual void modifyPhaseLine(
309  const DtUUID& uuid,
310  std::string* uniqueName = 0,
311  std::string* label = 0,
312  DtVector* newDbPoint1 = 0,
313  DtVector* newDbPoint2 = 0,
314  const DtSimulationAddress& addr = DtSimSendToAll);
315 
321  virtual void createControlArea(
322  const DtSimulationAddress& addr,
323  const std::vector<DtVector>& vertices,
324  const std::string& uniqueName = "",
325  const std::string& label = "",
326  unsigned int rId = 0);
327 
331  virtual unsigned int createControlArea(
333  const DtSimulationAddress& addr,
334  const std::vector<DtVector>& vertices,
335  const std::string& uniqueName = "",
336  const std::string& label = "");
337 
339  virtual void modifyControlArea(
340  const DtUUID& uuid,
341  std::string* uniqueName = 0,
342  std::string* label = 0,
343  std::vector<DtVector>* newVertices = 0,
344  const DtSimulationAddress& addr = DtSimSendToAll);
345 
351  virtual void createObstacle(
352  const DtSimulationAddress& addr,
353  const std::vector<DtVector>& vertices,
354  const std::string& uniqueName = "",
355  const std::string& label = "",
356  unsigned int rId = 0);
357 
361  virtual unsigned int createObstacle(
363  const DtSimulationAddress& addr,
364  const std::vector<DtVector>& vertices,
365  const std::string& uniqueName = "",
366  const std::string& label = "") ;
367 
369  virtual void modifyObstacle(
370  const DtUUID& uuid,
371  std::string* uniqueName = 0,
372  std::string* label = 0,
373  std::vector<DtVector>* newVertices = 0,
374  const DtSimulationAddress& addr = DtSimSendToAll);
375 
382  virtual void createDisaggregationArea(
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 
393  virtual unsigned int createDisaggregationArea(
395  const DtSimulationAddress& addr,
396  const std::vector<DtVector>& vertices,
397  const std::string& uniqueName = "",
398  const std::string& label = "") ;
399 
401  virtual void modifyDisaggregationArea(
402  const DtUUID& uuid,
403  std::string* uniqueName = 0,
404  std::string* label = 0,
405  std::vector<DtVector>* newVertices = 0,
406  const DtSimulationAddress& addr = DtSimSendToAll);
407 
418  virtual unsigned int createOverlayObject(
419  const DtSimulationAddress& addr,
420  const DtEntityType& type,
421  const std::vector<DtVector>& vertices,
422  const DtForceType& force,
423  const std::string& name,
424  const std::string& label,
425  int color,
426  const std::string& parentName,
427  bool projection,
428  bool closedFigure,
429  const DtAppearance& appearance = DtAppearance::nullAppearance(),
430  const std::string& attachTo = "",
431  char* userData = 0,
432  int dataSize = 0,
433  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
434  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
436 
438  virtual void setPhysicalLineWidth(const DtSimulationAddress& addr,
439  const DtUUID& entityId, double w);
440 
442  virtual void setPhysicalLineHeight(const DtSimulationAddress& addr,
443  const DtUUID& entityId, double h);
444 
446  virtual void setCeiling(const DtSimulationAddress& addr,
447  const DtUUID& entityId, double c);
448 
451  virtual void createIndirectArtillery(
452  const DtIfIndirectArtilleryData& params,
453  const std::string& overlayParent,
454  const DtSimulationAddress& addr);
455 
460  virtual void createComputedRoute(
461  const DtSimulationAddress& addr,
462  const DtVector& sourcePoint,
463  const DtVector& destPoint,
464  const std::list<std::string>& obstacleTypes,
465  const std::list<std::string>& pathTypes,
466  const std::string& uniqueName = "",
467  const std::string& label = "",
468  const std::string& overlay = "",
469  const int forceId = DtForceOther,
470  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>(),
471  unsigned int requestId = 0);
472 
474  virtual void cancelCreateComputedRoute(
475  const DtSimulationAddress& addr,
476  unsigned int requestId);
477 
481  virtual void createComputedRoute(
483  const DtSimulationAddress& addr,
484  const DtVector& sourcePoint,
485  const DtVector& destPoint,
486  const std::list<std::string>& obstacleTypes,
487  const std::list<std::string>& pathTypes,
488  const std::string& uniqueName = "",
489  const std::string& label = "",
490  const std::string& overlay = "",
491  const int forceId = DtForceOther,
492  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>());
494 
497 
500  virtual unsigned int createEntity(DtVrfObjectCreatedCallbackFunction fcn, DtSimulationAddress addr, DtEntityCreationData,
501  const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
502  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>());
503 
504  virtual void createEntity(DtSimulationAddress addr, DtEntityCreationData,
505  const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
506  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>());
507 
509  virtual void createEntity(
510  const DtSimulationAddress& addr,
511  const DtEntityType& type,
512  const DtVector& geocentricPosition,
513  DtForceType force,
514  DtReal heading,
515  const std::string& uniqueName = "",
516  const std::string& label = "",
517  bool groundClamp = true, const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
518  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>(),
519  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
520  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>());
521 
525  virtual unsigned int createEntity(
527  const DtSimulationAddress& addr,
528  const DtEntityType& type,
529  const DtVector& geocentricPosition,
530  DtForceType force,
531  DtReal heading,
532  const std::string& uniqueName = "",
533  const std::string& label = "",
534  bool groundClamp = true, const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
535  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>(),
536  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
537  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>());
538 
540  virtual unsigned int createAggregate(
542  const DtSimulationAddress& addr,
543  const DtEntityType& type,
544  const DtVector& geocentricPosition,
545  DtForceType force,
546  DtReal heading,
547  const std::string& uniqueName,
548  const std::string& label = "",
549  DtAggregateState initialAggregateState = DtDisaggregated,
550  const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
551  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>(),
552  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
553  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>());
554 
556  virtual void aggregateAs(const std::vector<DtUUID>& uuids, const DtEntityType& type,
557  int force, DtAggregateState initialAggregateState, DtSimulationAddress addr, unsigned int requestId = 0);
558 
562  virtual unsigned int aggregateAs(DtVrfObjectCreatedCallbackFunction fcn,
563  const std::vector<DtUUID>& uuids, const DtEntityType& type,
564  int force, DtAggregateState initialAggregateState, DtSimulationAddress addr);
565 
568  virtual void addToOrganization(const DtUUID& child, const DtUUID& superior,
569  DtSimulationAddress addr = DtSimSendToAll);
570 
574  virtual void addToForceLevelOrganization(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
575 
578  virtual void removeFromOrganization(
579  const DtUUID& uuid,
580  const DtSimulationAddress& addr = DtSimSendToAll);
582 
588 
590  virtual void createEnvironmentalObject(DtSimulationAddress addr, DtEntityType, int force, const std::vector<DtVector>&,
592  const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
593  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>());
594 
604  virtual void sendVrfObjectModifyMsg(
605  const DtSimulationAddress& addr,
606  const DtUUID& uuid,
607  const std::string* name = 0,
608  const std::vector<DtVector>& = std::vector<DtVector>(),
609  int* force = 0,
610  double* heading = 0,
611  const std::string* label = 0,
612  DtAppearance* appearance = 0,
613  const std::string* overlayParent = 0,
614  const std::string* userData = 0,
615  const std::map<std::string, std::string>* extendedData = 0,
616  const std::map<int, DtString>* extendedLabels = 0,
617  bool mergeExtendedData = true);
618 
622  virtual void sendVrfObjectCreateMsg(
623  const DtSimulationAddress& addr,
624  unsigned int requestId,
625  const std::string& name,
626  const DtObjectType& type,
627  const std::vector<DtVector>& vertices,
628  const std::string& label,
629  const DtAppearance& appearance,
630  DtForceType force,
631  bool projection,
632  bool closedFigure,
633  DtReal heading,
634  bool createSubObjects,
635  const std::string& overlayParent = "",
636  bool clampToGroundFlag = true,
637  const std::string& initialFormation = "",
638  DtAggregateState initialAggregateState = DtDisaggregated,
639  const std::string& userData = "", const std::list<DtAdminContent*>& content = std::list<DtAdminContent*>(),
640  const std::list<DtSimInterfaceContent*>& ifaceContent = std::list<DtSimInterfaceContent*>(),
641  const std::map<std::string, std::string>& extendedData = std::map<std::string, std::string>(),
642  const std::map<int, DtString>& extendedLabels = std::map<int, DtString>());
643 
646  virtual unsigned int addCreateCallbackFunction(DtVrfObjectCreatedCallbackFunction);
647 
650  virtual unsigned int addCreateComputedRouteCallbackFunction(DtComputedRouteResponseCallbackFunction);
651 
653  virtual void removeCreateComputedRouteCallbackFunction(int rId);
654 
661  virtual void sendVrfOverlayObjectModifyMsg(
662  const DtSimulationAddress& addr,
663  const DtUUID& uuid,
664  int* color = 0,
665  const std::string* parentName = 0,
666  const DtUUID* attachTo = 0,
667  const std::string* userData = 0);
668 
670  virtual void sendVrfIndirectArtilleryObjectModifyMsg(
671  const DtSimulationAddress& addr,
672  const DtUUID& uuid,
673  const DtIfIndirectArtilleryData& mod);
675 
681 
683  virtual void setLabel(
684  const DtUUID& uuid, const std::string& label,
685  const DtSimulationAddress& addr = DtSimSendToAll);
686 
688  virtual void setExtendedLabels(
689  const DtUUID& uuid, const std::map<int, DtString>& extendedLabels,
690  const DtSimulationAddress& addr = DtSimSendToAll);
691 
693  virtual void setOverlayParent(
694  const DtUUID& uuid, const std::string& label,
695  const DtSimulationAddress& addr = DtSimSendToAll);
696 
698  virtual void setAltitude(
699  const DtUUID& uuid, double altitude, bool aboveGroundLevel = false,
700  const DtSimulationAddress& addr = DtSimSendToAll);
701 
703  virtual void setLocation(
704  const DtUUID& uuid, DtVector coord,
705  const DtSimulationAddress& addr = DtSimSendToAll);
706 
710  virtual void setAppearance(
711  const DtUUID& uuid, int appearance,
712  const DtSimulationAddress& addr = DtSimSendToAll);
713 
717  virtual void setCapabilities(
718  const DtUUID& uuid, int capabilities,
719  const DtSimulationAddress& addr = DtSimSendToAll);
720 
722  virtual void setHeading(
723  const DtUUID& uuid, double degrees,
724  const DtSimulationAddress& addr = DtSimSendToAll);
725 
727  virtual void setForce(
728  const DtUUID& uuid, DtForceType force,
729  const DtSimulationAddress& addr = DtSimSendToAll);
730 
732  virtual void setResource(const DtUUID& uuid,
733  const char* resourceType, double value,
734  const DtSimulationAddress& addr = DtSimSendToAll);
735 
739  virtual void setRulesOfEngagement(
740  const DtUUID& uuid, const char* rulesType,
741  const DtSimulationAddress& addr = DtSimSendToAll);
742 
744  virtual void setSectorOfResponsibility(
745  const DtUUID& uuid, double center, double size,
746  const DtSimulationAddress& addr = DtSimSendToAll);
747 
751  virtual void setSpeed(
752  const DtUUID& uuid, double speed,
753  const DtSimulationAddress& addr = DtSimSendToAll);
754 
757  virtual void setCurrentSpeed(
758  const DtUUID& uuid, double speed,
759  const DtSimulationAddress& addr = DtSimSendToAll);
760 
762  virtual void setTarget(
763  const DtUUID& uuid, const DtUUID& target,
764  const DtSimulationAddress& addr = DtSimSendToAll);
765 
768  virtual void setSuperior(
769  const DtUUID& uuid, const DtUUID& superior,
770  const DtSimulationAddress& addr = DtSimSendToAll);
771 
775  virtual void setTaskedBySuperior(const DtUUID& uuid,
776  const DtSimulationAddress& addr = DtSimSendToAll);
777 
779  virtual void setConcealed(const DtUUID& uuid,
780  bool yes, const DtSimulationAddress& addr = DtSimSendToAll);
781 
783  virtual void setEmitter(const DtUUID& uuid,
784  int emitterId, bool on,
785  const DtSimulationAddress& addr = DtSimSendToAll);
786 
788  virtual void setIff(const DtUUID& uuid,
789  bool mode1on, int mode1code,
790  bool mode2on, int mode2code,
791  bool mode3on, int mode3code,
792  bool mode4on, int mode4code,
793  DtIffAtcNavaidsAltParm4 altParm4,
794  bool modeCon, bool useAltModeC,
795  bool modeSon, bool emergency,
796  bool flash, bool sti, bool modeSTcasI,
797  int pin, bool mode5LevelSelection,
798  unsigned int messageFormatsPresent, unsigned int nationalOrigin,
799  unsigned int navigationSource, unsigned int figureOfMerit,
800  const DtSimulationAddress& addr = DtSimSendToAll);
801 
805  virtual void restore(const DtUUID& uuid,
806  const DtSimulationAddress& addr = DtSimSendToAll);
807 
810  virtual void setDestroyed(const DtUUID& uuid,
811  const DtSimulationAddress& addr = DtSimSendToAll);
812 
814  virtual void setLifeformWeaponState(
815  const DtUUID& uuid, DtWeaponState weapon,
816  const DtSimulationAddress& addr = DtSimSendToAll);
817 
819  virtual void setLifeformPosture(
820  const DtUUID& uuid, DtLifeformState posture,
821  const DtSimulationAddress& addr = DtSimSendToAll);
822 
824  virtual void setAggregateFormation(
825  const DtUUID& leader, const std::string& formationName,
826  const DtSimulationAddress& addr = DtSimSendToAll);
827 
831  virtual void reorganizeAggregate(const DtUUID& leader,
832  const DtSimulationAddress& addr = DtSimSendToAll);
833 
837  virtual void disaggregate(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
838 
842  virtual void aggregate(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
843 
846  virtual void sendSetDataMsg(
847  const DtUUID& recipient, DtSetDataRequest* msg,
848  const DtSimulationAddress& addr = DtSimSendToAll,
849  bool updateScenario = true);
850 
853  virtual void sendSetRequest(const DtSetDataRequest& s, const DtUUID& uuid,
854  const DtSimulationAddress& addr = DtSimSendToAll, bool updateScenario = true);
855 
857  virtual void sendSetRequest(const DtSetDataRequest& s, const std::vector<DtUUID>& names,
858  const DtSimulationAddress& addr = DtSimSendToAll, bool updateScenario = true);
859 
865  virtual void requestIndirectArtilleryInformation(const DtString&);
867 
871 
874  virtual void moveAlongRoute(
875  const DtUUID& entity, const DtUUID& route,
876  const DtSimulationAddress& addr = DtSimSendToAll);
877 
880  virtual void moveToWaypoint(
881  const DtUUID& entity, const DtUUID& waypoint,
882  const DtSimulationAddress& addr = DtSimSendToAll);
883 
887  virtual void moveToLocation(
888  const DtUUID& entity, const DtVector& destinationLocation,
889  const DtSimulationAddress& addr = DtSimSendToAll);
890 
893  virtual void patrolBetweenWaypoints(
894  const DtUUID& entity,
895  const DtUUID& waypoint1, const DtUUID& waypoint2,
896  const DtSimulationAddress& addr = DtSimSendToAll);
897 
900  virtual void patrolAlongRoute(
901  const DtUUID& entity, const DtUUID& route,
902  const DtSimulationAddress& addr = DtSimSendToAll);
903 
909  virtual void followEntity(
910  const DtUUID& entity,
911  const DtUUID& leader, const DtVector& offset,
912  const DtSimulationAddress& addr = DtSimSendToAll);
913 
916  virtual void wait(
917  const DtUUID& entity,
918  const DtSimulationAddress& addr = DtSimSendToAll);
919 
922  virtual void waitDuration(
923  const DtUUID& entity, DtTime duration,
924  const DtSimulationAddress& addr = DtSimSendToAll);
925 
929  virtual void waitElapsed(
930  const DtUUID& entity, DtTime elapsed,
931  const DtSimulationAddress& addr = DtSimSendToAll);
932 
937  virtual void requestCurrentTasks(const DtUUID& entity);
938 
942  virtual void subscribeForTaskInformation(const DtUUID& entity);
943 
946  virtual void unsubscribeForTaskInformation(const DtUUID& entity);
947 
951  virtual void sendTaskMsg(
952  const DtUUID& recipient, DtSimTask* task,
953  const DtSimulationAddress& addr = DtSimSendToAll);
954 
956  virtual void sendTaskRequest(const DtSimTask& s, const std::vector<DtUUID>& names, const DtSimulationAddress& addr = DtSimSendToAll);
958  virtual void sendTaskRequest(const DtSimTask& s, const DtUUID& uuid, const DtSimulationAddress& addr = DtSimSendToAll);
959 
964  virtual void requestTasksAndSetsFor(const std::vector<DtUUID>& name);
966 
973 
976  virtual void abandonPlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
977 
980  virtual void skipTask(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
981 
983  virtual void cancelReactiveTask(const DtUUID& uuid, std::string scriptId, DtSimulationAddress addr = DtSimSendToAll);
984 
987  virtual void restartPlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
988 
990  virtual void assignPlanByName(const DtUUID& uuid, const DtPlan*, DtSimulationAddress addr = DtSimSendToAll);
991 
993  virtual void assignMultiplePlanByName(std::vector<DtUUID> names, const DtPlan*, DtSimulationAddress addr = DtSimSendToAll);
994 
1000  virtual void requestPlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1001 
1007  virtual void subscribePlan(const DtUUID& uuid, DtSimulationAddress addr = DtSimSendToAll);
1008 
1015  virtual void requestMultiplePlans(std::vector<DtUUID> names, DtSimulationAddress addr = DtSimSendToAll);
1016 
1021  virtual void requestGlobalPlans(DtSimulationAddress addr = DtSimSendToAll);
1022 
1025  virtual void assignGlobalPlanByName(const DtUUID& name, const DtPlan*, DtSimulationAddress addr);
1026 
1028  virtual void deleteGlobalPlan(const DtUUID&, DtSimulationAddress addr);
1029 
1031  virtual void launchGlobalPlan(const DtUUID&, DtSimulationAddress addr);
1033 
1035  virtual void setTimeoutInterval(int);
1036 
1042  virtual void requestDIGuyAppearancesAndAnimations(const std::vector<DtUUID>& name);
1043 
1050  virtual void requestResourcesFor(std::vector<DtUUID> names, DtSimulationAddress addr = DtSimSendToAll);
1051 
1053  virtual void sendMessageToObject(const DtVrfObjectMessage&, DtSimulationAddress addr = DtSimSendToAll);
1054 
1056  virtual void sendObjectMessageAndDeleteContent(DtVrfObjectMessage* message, DtSimulationAddress addr = DtSimSendToAll);
1057 
1059  virtual void sendSensorFieldOfViewControlInteraction(const DtSensorFieldOfViewControlInteractionData& interData);
1060 
1062  virtual void sendSensorFieldOfViewControlInteractionAndDelete(DtSensorFieldOfViewControlInteractionData* data);
1063 
1065  virtual void requestForces(DtSimulationAddress addr);
1066 
1069  virtual void requestDoctrines();
1070 
1073  virtual void requestAssignedDoctrines();
1074 
1076  virtual unsigned long generateRequestId();
1077 
1078  //-------------------------------------------------------
1080  //-------------------------------------------------------
1081 
1086  virtual void takeControlOf(const DtUUID&, const std::set<std::string>& functionalGroups = std::set<std::string>(),
1087  const DtSimulationAddress& addr = DtSimSendToAll);
1088 
1091  virtual void releaseControlOf(const DtUUID&, const std::set<std::string>& functionalGroups = std::set<std::string>(),
1092  const DtSimulationAddress& addr = DtSimSendToAll);
1093 
1096  virtual void sendJoystickControl(const DtUUID&, const std::string& functionGroup,
1097  const std::string& function, double value, bool repeat = false, const DtSimulationAddress& addr = DtSimSendToAll);
1098 
1099  public:
1100 
1102  virtual void addSetCreatorFcn(const DtSetMessageType&, DtSetDataRequestCreatorFcn);
1103 
1105  virtual void addTaskCreatorFcn(const DtSimTaskMessageType&, DtSimTaskCreatorFcn);
1106 
1108  virtual void addInterfaceContentCreatorFcn(int t, DtInterfaceContentCreatorFcn);
1109 
1111  virtual void addAdminContentCreatorFcn(const DtAdminContentMessageType&, DtAdminContentCreatorFcn);
1112 
1114  virtual void addConditionCreatorFcn(std::string, int, DtCondExprCreatorFcn);
1115 
1117  virtual void addReportCreatorFcn(const DtSimReportMessageType&, DtSimReportCreatorFcn);
1118 
1120  virtual void addObjectMessageCreatorFcn(int, DtVrfObjectMessageCreatorFcn);
1121 
1123  virtual void addSimulationCommandCreatorFcn(const DtSimCommandMessageType&, DtSimCommandCreatorFcn);
1124 
1127  virtual void sendMessage(const DtSimInterfaceContent& message, DtSimulationAddress addr = DtSimSendToAll);
1128  virtual void sendMessageAndDeleteContent(DtSimInterfaceContent* message, DtSimulationAddress addr = DtSimSendToAll);
1129 
1136  virtual void embarkOn(const std::vector<DtUUID>& children, const DtUUID& parent,
1137  bool useSlot = true, const DtVector& overridePosition = DtVector::zero(), DtSimulationAddress addr = DtSimSendToAll);
1138 
1140  virtual void disembark(const std::vector<DtUUID>& children, DtSimulationAddress addr = DtSimSendToAll);
1141 
1143  virtual void disembarkAll(const std::vector<DtUUID>& parents, DtSimulationAddress addr = DtSimSendToAll);
1144 
1146  virtual void attachTo(const std::vector<DtUUID>& ids, const DtUUID& parent);
1147 
1149  virtual void detachAll(const std::vector<DtUUID>& ids);
1150 
1153  virtual void logObjectConsoleToFile(const DtUUID& uuid, const std::string& filename);
1154 
1157  virtual void stopLoggingObjectConsoleToFile(const DtUUID& uuid);
1158 
1160  virtual void setObjectNotifyLevel(const DtUUID& uuid, int);
1161 
1163  virtual void setTimeOfDay(time_t seconds);
1164  virtual void setTimeOfDay(int hours, int minutes, int seconds);
1165 
1167  virtual void setDateAndTimeOfDay(time_t seconds);
1168  virtual void setDateAndTimeOfDay(int year, int month, int day, int hours, int minutes, int seconds);
1169 
1171  virtual void setUseDayNightIlluminationModel(bool);
1172 
1174  virtual void setAggregateOnCreate(bool);
1175  bool aggregateOnCreate() const;
1176 
1179  virtual void requestScenarioDescription(DtSimulationAddress);
1180 
1182  virtual void setScenarioDescription(const DtString&, DtSimulationAddress addr = DtSimSendToAll);
1183 
1185  virtual void addContentMessagesThatModifyScenario(int);
1186  virtual void removeContentMessagesThatModifyScenario(int);
1187  const std::set<int>& contentMessagesThatModifyScenario() const { return myContentMessagesThatModifyScenario; };
1188 
1189  public:
1191  virtual void sendLoggerSetFilename(std::string filename);
1192 
1193  virtual void sendLoggerRecordMessage();
1194 
1195  virtual void sendLoggerStopMessage();
1196 
1197  protected:
1199  virtual void processObjectCreated(DtSimMessage*);
1200 
1202  virtual void processComputedRouteCreated(DtSimMessage*);
1203 
1205  virtual void setActivated(bool);
1206 
1214  virtual bool addStatementsAndSendPlan(const DtPlan& plan, DtIfPlan& planMsg,
1215  const DtSimulationAddress& addr = DtSimSendToAll,
1216  int *retiStatus = 0, DtString* retsStmt = 0);
1217 
1219  virtual void indirectArtilleryCreated(DtString, const DtUUID&, const DtEntityIdentifier&, DtIfIndirectArtilleryData);
1220 
1222  virtual void checkIfContentMessageShouldMarkScenarioAsModified(const DtSimInterfaceContent&);
1223 
1224  public:
1228 
1230  boost::signal<void (const DtScenario*)> signal_loadedScenario;
1231 
1233  boost::signal<void ()> signal_scenarioModified;
1234 
1236  boost::signal<void (const DtScenarioLoadInformation&)> signal_loadScenario;
1237 
1239  boost::signal<void (const DtScenario*, DtPreserveMappingsFcn fcn, void* userData)> signal_saveScenario;
1240 
1243  boost::signal<void (const DtUUID&, bool& shouldDelete)> signal_shouldDeleteObject;
1244 
1246  boost::signal<void ()> signal_closeScenario;
1247 
1250  boost::signal<void (DtIfCreateVrfObject&)> signal_aboutToSendCreateMessage;
1251 
1253  boost::signal<void (DtIfModifyVrfObject&)> signal_aboutToSendModifyMessage;
1254 
1256 
1257  protected:
1259  virtual void slot_preTick(makVrv::DtDe* de);
1260 
1261  protected:
1263 
1264  typedef std::map<unsigned int, DtVrfObjectCreatedCallbackFunction> CreateCallbacks;
1265 
1267 
1268  typedef std::map<unsigned int, DtComputedRouteResponseCallbackFunction> ComputedRouteCallbacks;
1269 
1271 
1273  };
1274 }

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)