VR-Forces 4.8 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/signals2.hpp>
33 #include "vlpi/entityType.h"
34 
35 class DtVrfObjectMessage;
36 
37 namespace makVrv
38 {
39  class DtDe;
40  class DtRecordSettingsBackupInterface;
41  class DtObjectDictionary;
42  class DtSharedSettingsManager;
43  class DtElementDefinitionNew;
44  class DtVisualizerDefinition;
45 }
46 
47 namespace makVrf
48 {
49  class DtSpotReportDataHandlerCreatorInterface;
50  class DtExternalDataVisualHandlerCreatorInterface;
51  class DtVrfSelectionFilter;
52  struct DtVrfObjectDataState;
53 
55  {
56  public:
58  virtual ~DtVrfSpotReportManager();
59 
61  static DtVrfSpotReportManager& instance(makVrv::DtDe& de);
62 
63  void setAutoSave(bool b);
64  bool autoSave() const;
65 
66  virtual void getRecord(DtVrfSpotReportsSettingsRecord& rec) const;
67 
70  virtual void getSplitRecord(std::vector<DtVrfSpotReportsSettingsRecord>& rec,
71  std::vector<std::string>& fileNames) {};
72 
76  DtVrfSpotReportsSettingsRecord& combinedRec) {};
77 
79  virtual void setFromRecord(const DtVrfSpotReportsSettingsRecord& rec, bool updateFilter = true);
80 
83  virtual void requestSpotReports();
84 
86  virtual void requestSpotReportsFor(std::vector<int> forces);
87 
90  virtual void showPerspectiveForForce(const std::string&, bool autoSave = true);
91 
92  public:
93  //{@
96  virtual void setDisplayReportingName(bool);
97  virtual bool displayReportingName() const;
98 
99  virtual void setDisplayObservedName(bool);
100  virtual bool displayObservedName() const;
101 
102  virtual void setDisplayTimeSinceLastReport(bool);
103  virtual bool displayTimeSinceLastReport() const;
104 
105  virtual void setDisplayLastContact(bool);
106  virtual bool displayLastContact() const;
107 
108  virtual void setDisplayLocation(bool);
109  virtual bool displayLocation() const;
110 
111  virtual void setDisplayVelocity(bool);
112  virtual bool displayVelocity() const;
113 
114  virtual void setDisplayContactRadius(bool);
115  virtual bool displayContactRadius() const;
116 
117  virtual void setDisplayContactRadiusIndicator(bool);
118  virtual bool displayContactRadiusIndicator() const;
119 
120  virtual void setDisplayHeading(bool);
121  virtual bool displayHeading() const;
122 
123  virtual void setDisplayEntityType(bool);
124  virtual bool displayEntityType() const;
125 
126  virtual void setDisplayHeadingIndicator(bool);
127  virtual bool displayHeadingIndicator() const;
128 
129  virtual void setDisplayVelocityIndicator(bool);
130  virtual bool displayVelocityIndicator() const;
131 
132  virtual void setApplyToEnvironmentals(bool);
133  virtual bool applyToEnvironmentals() const;
134 
135  virtual void setShowOnlyActiveEnvironmentals(bool);
136  virtual bool showOnlyActiveEnvironmentals() const;
137 
139  virtual void setShowTrackHistories(bool);
140  virtual bool showTrackHistories() const;
141 
143  virtual void setShowTrackHistoriesForSelected(bool);
144  virtual bool showTrackHistoriesForSelected() const;
145 
147  virtual void setNumberOfTrackReports(int);
148  virtual int numberOfTrackReports() const;
149 
150  const std::vector<int>& certaintyLevels() const;
151  void setCertaintyLevels(const std::vector<int>&);
152  void setCertaintyLevel(int level, int time);
153 
157  virtual bool showSpotReportsForForce(int) const;
158  virtual bool showGroundTruthForForce(int) const;
159 
161  virtual void setSpotReportGatherTime(double);
162  virtual double spotReportGatherTime() const;
163 
165  virtual void setKeepReportsForTimePeriod(bool);
166  virtual bool keepReportsForTimePeriod() const;
167 
169  virtual void setKeepReportsForTime(int);
170  virtual int keepReportsForTime() const;
171 
173  virtual void addShowSpotReportFor(int);
174  virtual void removeShowSpotReportFor(int);
175  void setShowSpotReportsForForce(const std::vector<int>&);
176  const std::vector<int> spotReportsFor() const;
177 
178  virtual void addShowGroundTruthFor(int);
179  virtual void removeShowGroundTruthFor(int);
180  void setShowGroundTruthForForce(const std::vector<int>&);
181  const std::vector<int> groundTruthFor() const;
182 
184  virtual void setDisplayFlag(int, bool);
185 
188  virtual void setSpotReportsGloballyEnabled(bool enabled);
189 
193  void setSystemEnabled(bool);
194  bool systemEnabled() const;
196 
197  public:
199  virtual void loadDefaults(bool fromFactory = false);
200 
202  virtual void saveAsDefaults();
203 
205  {
206  return mySettingsBackup;
207  }
208 
210  {
211  return mySettingsBackup;
212  }
213 
215  void exportSettings(const std::string& fileName);
216 
218  void importSettings(const std::string& fileName);
219 
220  virtual void processReceiveSpotReport(const DtVrfObjectMessage* msg);
221  virtual void processReceiveSpotReports(const DtVrfObjectMessage* msg);
222 
227  virtual bool addOrUpdateSpotReport(const std::string& type, void*, const DtUUID&);
228 
229  public:
232  virtual void addFogOfWarFilter(const DtVrfSelectionFilter&);
233 
236  virtual void removeFogOfWarFilter(const std::string&);
237 
239  virtual bool passesFogOfWarFilters(const makVrv::DtVrlinkSimulatedBaseState*, const DtVrfObjectDataState* objState = 0) const;
240  virtual bool passesFogOfWarFilters(makVrv::DtUniqueID) const;
241 
243  virtual bool canShowScenarioEvent(makVrv::DtUniqueID) const;
244 
246  virtual bool blockSignals(bool);
247 
248  public:
251  virtual void addSpotReportDataHandler(const std::string& s, DtSpotReportDataHandlerCreatorInterface*);
252 
254  virtual void removeSpotReport(makVrv::DtUniqueID);
255 
256  virtual void removeSpotReportDataHandler(const std::string& s);
257 
259  virtual void setSpotReportsSelectable(bool);
260  virtual bool spotReportsSelectable() const;
261 
264  virtual int certaintyLevelForTime(double d) const;
265 
267  virtual void reset();
268 
269  public:
272  virtual void addSpotReportVisualHandler(const std::string& s, DtExternalDataVisualHandlerCreatorInterface*);
273 
274  virtual void removeSpotReportVisualHandler(const std::string& s);
275 
277  virtual bool passesAllFilters(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* s) const;
278  virtual bool passesAllFilters(makVrv::DtUniqueID id) const;
279 
280  public:
282  boost::signals2::signal<void (const DtVrfSpotReportsSettingsRecord&)> signal_spotReportOptionsChanged;
283 
285  boost::signals2::signal<void (bool)> signal_spotReportsSelectableChanged;
286 
288  boost::signals2::signal<void (bool)> signal_showTrackHistoryForSelectedItemsChanged;
289 
291  boost::signals2::signal<void (int)> signal_numberOfTrackReportsChanged;
292 
294  boost::signals2::signal<void (bool)> signal_keepReportsForTimePeriodChanged;
295 
297  boost::signals2::signal<void (int)> signal_keepReportsForTimeChanged;
298 
299  protected:
300 
301  virtual void enableDecoration(const std::string&, bool);
302  virtual bool decorationIsEnabled(const std::string&) const;
303 
304  virtual void slot_observerModeAdded(int);
305 
307  virtual void setTrackHistoriesVisible(bool);
308 
309  protected:
314 
316  std::set<unsigned long> mySpotReportRequestIds;
317  std::set<int> myAlreadyRequested;
318  std::map<std::string, DtVrfSelectionFilter*> myModified;
319  std::set<std::string> myRemoved;
320 
322 
324  DtEntityType myStealthType;
325  };
326 }
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
Definition: vrfSelectionFilters.h:29
Virtual base class.
Definition: DtVirtualBaseClass.h:22
boost::signals2::signal< void(int)> signal_keepReportsForTimeChanged
Sent when when the time to keep reports has changed. Only sent if keeping reports for time period...
Definition: vrfSpotReportManager.h:297
boost::signals2::signal< void(bool)> signal_keepReportsForTimePeriodChanged
Sent when when the way to time out reports have changed.
Definition: vrfSpotReportManager.h:294
std::map< std::string, DtVrfSelectionFilter * > myModified
Definition: vrfSpotReportManager.h:318
DT_DLL_VRVCORE DtTaitBryan level(const DtCoordinateSystem &cs, const DtVector &localOrigin, double topoHeading)
Returns a level orientation with the topographic heading.
The Master Scenario Settings Dialog.
Definition: vrfSpotReportsSettingsRecord.h:33
Contains makVrv:DtSelectionManager class.
boost::signals2::signal< void(const DtVrfSpotReportsSettingsRecord &)> signal_spotReportOptionsChanged
Sent after anything about the spot report options have changed.
Definition: vrfSpotReportManager.h:282
Definition: vrfSpotReportManager.h:54
std::set< std::string > myRemoved
Definition: vrfSpotReportManager.h:319
virtual void getSplitRecord(std::vector< DtVrfSpotReportsSettingsRecord > &rec, std::vector< std::string > &fileNames)
To support writing element definitions in folders as multiple files not implemented.
Definition: vrfSpotReportManager.h:70
DtEntityType myStealthType
Definition: vrfSpotReportManager.h:324
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
std::set< unsigned long > mySpotReportRequestIds
Definition: vrfSpotReportManager.h:316
makVrv::DtRecordSettingsBackupInterface * mySettingsBackup
Definition: vrfSpotReportManager.h:311
Definition: spotReportDataHandler.h:70
makVrv::DtSignalConnectionManager myConnections
Definition: vrfSpotReportManager.h:323
Contains makVrv::DtVirtualBaseClass class.
std::set< int > myAlreadyRequested
Definition: vrfSpotReportManager.h:317
bool mySignalsBlocked
Definition: vrfSpotReportManager.h:312
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
Contains makVrv::DtEntityState class.
The base class for all messages to/from a specific DtVrfObject.
Definition: vrfObjectMessage.h:30
makVrv::DtRecordSettingsBackupInterface * settingsBackup()
Definition: vrfSpotReportManager.h:209
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
boost::signals2::signal< void(int)> signal_numberOfTrackReportsChanged
Sent when when the number of track reports to store have changed.
Definition: vrfSpotReportManager.h:291
Base class to provide boost signal/slot management.
boost::signals2::signal< void(bool)> signal_showTrackHistoryForSelectedItemsChanged
Sent when whether or not track history for selected items have changed.
Definition: vrfSpotReportManager.h:288
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
virtual void addRecords(DtVrfSpotReportsSettingsRecord &recs, DtVrfSpotReportsSettingsRecord &combinedRec)
To support writing element definitions in folders as multiple files not implemented.
Definition: vrfSpotReportManager.h:75
bool mySpotReportsSelectable
Definition: vrfSpotReportManager.h:315
The makVrv::DtRecordSettingsBackupInterface provides an interface to record-based backups...
Definition: DtRecordSettingsBackup.h:27
makVrv::DtDe & myDe
Definition: vrfSpotReportManager.h:310
DtVrfSpotReportsSettingsRecord mySpotReportSettings
Definition: vrfSpotReportManager.h:313
Definition: externalDataVisualHandlerInterface.h:78
boost::signals2::signal< void(bool)> signal_spotReportsSelectableChanged
Sent after selectability of spot reports have changed. This is currently only able to be set via the ...
Definition: vrfSpotReportManager.h:285
DtVrfSelectionFilter * myActiveEnvironmentalsFilter
Definition: vrfSpotReportManager.h:321
Definition: vrfObjectDataState.h:111
const makVrv::DtRecordSettingsBackupInterface * settingsBackup() const
Definition: vrfSpotReportManager.h:204

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)