VR-Forces 4.10 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 "vlpi/entityType.h"
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 
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 
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 
276  virtual bool passesAllFilters(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* s) const;
277  virtual bool passesAllFilters(makVrv::DtUniqueID id) const;
278 
279  public:
281  boost::signals2::signal<void (const DtVrfSpotReportsSettingsRecord&)> signal_spotReportOptionsChanged;
282 
284  boost::signals2::signal<void (bool)> signal_spotReportsSelectableChanged;
285 
287  boost::signals2::signal<void (bool)> signal_showTrackHistoryForSelectedItemsChanged;
288 
290  boost::signals2::signal<void (int)> signal_numberOfTrackReportsChanged;
291 
293  boost::signals2::signal<void (bool)> signal_keepReportsForTimePeriodChanged;
294 
296  boost::signals2::signal<void (int)> signal_keepReportsForTimeChanged;
297 
298  protected:
299 
300  virtual void enableDecoration(const std::string&, bool);
301  virtual bool decorationIsEnabled(const std::string&) const;
302 
303  virtual void slot_observerModeAdded(int);
304 
306  virtual void setTrackHistoriesVisible(bool);
307  virtual void slot_organizedCategoriesInitialized();
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:19
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:296
boost::signals2::signal< void(bool)> signal_keepReportsForTimePeriodChanged
Sent when when the way to time out reports have changed.
Definition: vrfSpotReportManager.h:293
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:281
Definition: vrfSpotReportManager.h:53
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:69
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:69
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:20
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:208
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
boost::signals2::signal< void(int)> signal_numberOfTrackReportsChanged
Sent when when the number of track reports to store have changed.
Definition: vrfSpotReportManager.h:290
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:287
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:74
bool mySpotReportsSelectable
Definition: vrfSpotReportManager.h:315
The makVrv::DtRecordSettingsBackupInterface provides an interface to record-based backups...
Definition: DtRecordSettingsBackup.h:24
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:284
DtVrfSelectionFilter * myActiveEnvironmentalsFilter
Definition: vrfSpotReportManager.h:321
Definition: vrfObjectDataState.h:111
const makVrv::DtRecordSettingsBackupInterface * settingsBackup() const
Definition: vrfSpotReportManager.h:203

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)