VR-Forces 4.6.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfSpotReportManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
17 
18 #pragma once
19 
20 #include <vrfGuiCore/vrfGuiCore.h>
24 #include <vrvUtil/signalslib.h>
25 #include <vrfutil/rwUUID.h>
28 
30 #include <vrvCore/DtEntityState.h>
31 
32 #include <boost/signal.hpp>
33 
34 class DtVrfObjectMessage;
35 
36 namespace makVrv
37 {
38  class DtDe;
39  class DtRecordSettingsBackupInterface;
40  class DtObjectDictionary;
41  class DtSharedSettingsManager;
42  class DtElementDefinitionNew;
43  class DtVisualizerDefinition;
44 }
45 
46 namespace makVrf
47 {
48  class DtSpotReportDataHandlerCreatorInterface;
49  class DtExternalDataVisualHandlerCreatorInterface;
50  class DtVrfSelectionFilter;
51  struct DtVrfObjectDataState;
52 
54  {
55  public:
57  virtual ~DtVrfSpotReportManager();
58 
60  static DtVrfSpotReportManager& instance(makVrv::DtDe& de);
61 
62  void setAutoSave(bool b);
63  bool autoSave() const;
64 
65  virtual void getRecord(DtVrfSpotReportsSettingsRecord& rec) const;
66 
69  virtual void getSplitRecord(std::vector<DtVrfSpotReportsSettingsRecord>& rec,
70  std::vector<std::string>& fileNames) {};
71 
74  virtual void addRecords(DtVrfSpotReportsSettingsRecord& recs,
75  DtVrfSpotReportsSettingsRecord& combinedRec) {};
76 
78  virtual void setFromRecord(const DtVrfSpotReportsSettingsRecord& rec, bool updateFilter = true);
79 
82  virtual void requestSpotReports();
83 
85  virtual void requestSpotReportsFor(std::vector<int> forces);
86 
89  virtual void showPerspectiveForForce(const std::string&, bool autoSave = true);
90 
91  public:
92  //{@
95  virtual void setDisplayReportingName(bool);
96  virtual bool displayReportingName() const;
97 
98  virtual void setDisplayObservedName(bool);
99  virtual bool displayObservedName() const;
100 
101  virtual void setDisplayTimeSinceLastReport(bool);
102  virtual bool displayTimeSinceLastReport() const;
103 
104  virtual void setDisplayLastContact(bool);
105  virtual bool displayLastContact() const;
106 
107  virtual void setDisplayLocation(bool);
108  virtual bool displayLocation() const;
109 
110  virtual void setDisplayVelocity(bool);
111  virtual bool displayVelocity() const;
112 
113  virtual void setDisplayContactRadius(bool);
114  virtual bool displayContactRadius() const;
115 
116  virtual void setDisplayContactRadiusIndicator(bool);
117  virtual bool displayContactRadiusIndicator() const;
118 
119  virtual void setDisplayHeading(bool);
120  virtual bool displayHeading() const;
121 
122  virtual void setDisplayEntityType(bool);
123  virtual bool displayEntityType() const;
124 
125  virtual void setDisplayHeadingIndicator(bool);
126  virtual bool displayHeadingIndicator() const;
127 
128  virtual void setDisplayVelocityIndicator(bool);
129  virtual bool displayVelocityIndicator() const;
130 
131  virtual void setApplyToEnvironmentals(bool);
132  virtual bool applyToEnvironmentals() const;
133 
134  virtual void setShowOnlyActiveEnvironmentals(bool);
135  virtual bool showOnlyActiveEnvironmentals() const;
136 
138  virtual void setShowTrackHistories(bool);
139  virtual bool showTrackHistories() const;
140 
142  virtual void setShowTrackHistoriesForSelected(bool);
143  virtual bool showTrackHistoriesForSelected() const;
144 
146  virtual void setNumberOfTrackReports(int);
147  virtual int numberOfTrackReports() const;
148 
149  const std::vector<int>& certaintyLevels() const;
150  void setCertaintyLevels(const std::vector<int>&);
151  void setCertaintyLevel(int level, int time);
152 
156  virtual bool showSpotReportsForForce(int) const;
157  virtual bool showGroundTruthForForce(int) const;
158 
160  virtual void setSpotReportGatherTime(double);
161  virtual double spotReportGatherTime() const;
162 
164  virtual void setKeepReportsForTimePeriod(bool);
165  virtual bool keepReportsForTimePeriod() const;
166 
168  virtual void setKeepReportsForTime(int);
169  virtual int keepReportsForTime() const;
170 
172  virtual void addShowSpotReportFor(int);
173  virtual void removeShowSpotReportFor(int);
174  void setShowSpotReportsForForce(const std::vector<int>&);
175  const std::vector<int> spotReportsFor() const;
176 
177  virtual void addShowGroundTruthFor(int);
178  virtual void removeShowGroundTruthFor(int);
179  void setShowGroundTruthForForce(const std::vector<int>&);
180  const std::vector<int> groundTruthFor() const;
181 
183  virtual void setDisplayFlag(int, bool);
184 
187  virtual void setSpotReportsGloballyEnabled(bool enabled);
188 
192  void setSystemEnabled(bool);
193  bool systemEnabled() const;
195 
196  public:
198  virtual void loadDefaults(bool fromFactory = false);
199 
201  virtual void saveAsDefaults();
202 
203  const makVrv::DtRecordSettingsBackupInterface* settingsBackup() const
204  {
205  return mySettingsBackup;
206  }
207 
209  {
210  return mySettingsBackup;
211  }
212 
214  void exportSettings(const std::string& fileName);
215 
217  void importSettings(const std::string& fileName);
218 
219  virtual void processReceiveSpotReport(const DtVrfObjectMessage* msg);
220  virtual void processReceiveSpotReports(const DtVrfObjectMessage* msg);
221 
226  virtual bool addOrUpdateSpotReport(const std::string& type, void*, const DtUUID&);
227 
228  public:
231  virtual void addFogOfWarFilter(const DtVrfSelectionFilter&);
232 
235  virtual void removeFogOfWarFilter(const std::string&);
236 
238  virtual bool passesFogOfWarFilters(const makVrv::DtVrlinkSimulatedBaseState*, const DtVrfObjectDataState* objState = 0) const;
239  virtual bool passesFogOfWarFilters(makVrv::DtUniqueID) const;
240 
242  virtual bool canShowScenarioEvent(makVrv::DtUniqueID) const;
243 
245  virtual bool blockSignals(bool);
246 
247  public:
250  virtual void addSpotReportDataHandler(const std::string& s, DtSpotReportDataHandlerCreatorInterface*);
251 
253  virtual void removeSpotReport(makVrv::DtUniqueID);
254 
255  virtual void removeSpotReportDataHandler(const std::string& s);
256 
258  virtual void setSpotReportsSelectable(bool);
259  virtual bool spotReportsSelectable() const;
260 
263  virtual int certaintyLevelForTime(double d) const;
264 
266  virtual void reset();
267 
268  public:
271  virtual void addSpotReportVisualHandler(const std::string& s, DtExternalDataVisualHandlerCreatorInterface*);
272 
273  virtual void removeSpotReportVisualHandler(const std::string& s);
274 
275  public:
277  boost::signal<void (const DtVrfSpotReportsSettingsRecord&)> signal_spotReportOptionsChanged;
278 
280  boost::signal<void (bool)> signal_spotReportsSelectableChanged;
281 
284 
286  boost::signal<void (int)> signal_numberOfTrackReportsChanged;
287 
289  boost::signal<void (bool)> signal_keepReportsForTimePeriodChanged;
290 
292  boost::signal<void (int)> signal_keepReportsForTimeChanged;
293 
294  protected:
295 
296  virtual void enableDecoration(const std::string&, bool);
297  virtual bool decorationIsEnabled(const std::string&) const;
298 
299  virtual void slot_observerModeAdded(int);
300 
302  virtual void setTrackHistoriesVisible(bool);
303 
304  protected:
309 
311  std::set<unsigned long> mySpotReportRequestIds;
312  std::set<int> myAlreadyRequested;
313  std::map<std::string, DtVrfSelectionFilter*> myModified;
314  std::set<std::string> myRemoved;
315 
317 
319  };
320 }

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)