VR-Forces 5.0.1 Developer's Guide
 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 
22 
23 #pragma once
24 
25 #include <vrfGuiCore/vrfGuiCore.h>
29 
30 #include <vrfutil/rwUUID.h>
33 
35 #include <vrvCore/DtEntityState.h>
36 
37 #include "vlpi/entityType.h"
38 
39 class DtVrfObjectMessage;
40 
41 namespace makVrv
42 {
43  class DtDe;
44  class DtRecordSettingsBackupInterface;
45  class DtObjectDictionary;
46  class DtSharedSettingsManager;
47  class DtElementDefinitionNew;
48  class DtVisualizerDefinition;
49 }
50 
51 namespace makVrf
52 {
53  class DtSpotReportDataHandlerCreatorInterface;
54  class DtExternalDataVisualHandlerCreatorInterface;
55  class DtVrfSelectionFilter;
56  struct DtVrfObjectDataState;
57 
59  {
60  public:
62  virtual ~DtVrfSpotReportManager();
63 
65  static DtVrfSpotReportManager& instance(makVrv::DtDe& de);
66 
67  void setAutoSave(bool b);
68  bool autoSave() const;
69 
70  virtual void getRecord(DtVrfSpotReportsSettingsRecord& rec) const;
71 
74  virtual void getSplitRecord(std::vector<DtVrfSpotReportsSettingsRecord>& rec,
75  std::vector<std::string>& fileNames) {};
76 
80  DtVrfSpotReportsSettingsRecord& combinedRec) {};
81 
83  virtual void setFromRecord(const DtVrfSpotReportsSettingsRecord& rec, bool updateFilter = true);
84 
87  virtual void requestSpotReports();
88 
90  virtual void requestSpotReportsFor(std::vector<int> forces);
91 
94  virtual void showPerspectiveForForce(const std::string&, bool autoSave = true);
95 
96  public:
97  //{@
100  virtual void setDisplayReportingName(bool);
101  virtual bool displayReportingName() const;
102 
103  virtual void setDisplayObservedName(bool);
104  virtual bool displayObservedName() const;
105 
106  virtual void setDisplayTimeSinceLastReport(bool);
107  virtual bool displayTimeSinceLastReport() const;
108 
109  virtual void setDisplayLastContact(bool);
110  virtual bool displayLastContact() const;
111 
112  virtual void setDisplayLocation(bool);
113  virtual bool displayLocation() const;
114 
115  virtual void setDisplayVelocity(bool);
116  virtual bool displayVelocity() const;
117 
118  virtual void setDisplayContactRadius(bool);
119  virtual bool displayContactRadius() const;
120 
121  virtual void setDisplayContactRadiusIndicator(bool);
122  virtual bool displayContactRadiusIndicator() const;
123 
124  virtual void setDisplayHeading(bool);
125  virtual bool displayHeading() const;
126 
127  virtual void setDisplayEntityType(bool);
128  virtual bool displayEntityType() const;
129 
130  virtual void setDisplayHeadingIndicator(bool);
131  virtual bool displayHeadingIndicator() const;
132 
133  virtual void setDisplayVelocityIndicator(bool);
134  virtual bool displayVelocityIndicator() const;
135 
136  virtual void setApplyToEnvironmentals(bool);
137  virtual bool applyToEnvironmentals() const;
138 
139  virtual void setShowOnlyActiveEnvironmentals(bool);
140  virtual bool showOnlyActiveEnvironmentals() const;
141 
143  virtual void setShowTrackHistories(bool);
144  virtual bool showTrackHistories() const;
145 
147  virtual void setShowTrackHistoriesForSelected(bool);
148  virtual bool showTrackHistoriesForSelected() const;
149 
151  virtual void setNumberOfTrackReports(int);
152  virtual int numberOfTrackReports() const;
153 
154  const std::vector<int>& certaintyLevels() const;
155  void setCertaintyLevels(const std::vector<int>&);
156  void setCertaintyLevel(int level, int time);
157 
161  virtual bool showSpotReportsForForce(int) const;
162  virtual bool showGroundTruthForForce(int) const;
163 
165  virtual void setSpotReportGatherTime(double);
166  virtual double spotReportGatherTime() const;
167 
169  virtual void setKeepReportsForTimePeriod(bool);
170  virtual bool keepReportsForTimePeriod() const;
171 
173  virtual void setKeepReportsForTime(int);
174  virtual int keepReportsForTime() const;
175 
177  virtual void addShowSpotReportFor(int);
178  virtual void removeShowSpotReportFor(int);
179  void setShowSpotReportsForForce(const std::vector<int>&);
180  const std::vector<int> spotReportsFor() const;
181 
182  virtual void addShowGroundTruthFor(int);
183  virtual void removeShowGroundTruthFor(int);
184  void setShowGroundTruthForForce(const std::vector<int>&);
185  const std::vector<int> groundTruthFor() const;
186 
188  virtual void setDisplayFlag(int, bool);
189 
192  virtual void setSpotReportsGloballyEnabled(bool enabled);
193 
197  void setSystemEnabled(bool);
198  bool systemEnabled() const;
200 
201  public:
203  virtual void loadDefaults(bool fromFactory = false);
204 
206  virtual void saveAsDefaults();
207 
209  {
210  return mySettingsBackup;
211  }
212 
214  {
215  return mySettingsBackup;
216  }
217 
219  void exportSettings(const std::string& fileName);
220 
222  void importSettings(const std::string& fileName);
223 
224  virtual void processReceiveSpotReport(const DtVrfObjectMessage* msg);
225  virtual void processReceiveSpotReports(const DtVrfObjectMessage* msg);
226 
231  virtual bool addOrUpdateSpotReport(const std::string& type, void*, const DtUUID&);
232 
233  public:
236  virtual void addFogOfWarFilter(const DtVrfSelectionFilter&);
237 
240  virtual void removeFogOfWarFilter(const std::string&);
241 
243  virtual bool passesFogOfWarFilters(const makVrv::DtVrlinkSimulatedBaseState*, const DtVrfObjectDataState* objState = 0) const;
244  virtual bool passesFogOfWarFilters(makVrv::DtUniqueID) const;
245  virtual bool passesFogOfWarFilters(const DtUUID&) const;
246 
248  virtual bool canShowScenarioEvent(makVrv::DtUniqueID) const;
249 
251  virtual bool blockSignals(bool);
252 
253  public:
256  virtual void addSpotReportDataHandler(const std::string& s, DtSpotReportDataHandlerCreatorInterface*);
257 
259  virtual void removeSpotReport(makVrv::DtUniqueID);
260 
261  virtual void removeSpotReportDataHandler(const std::string& s);
262 
264  virtual void setSpotReportsSelectable(bool);
265  virtual bool spotReportsSelectable() const;
266 
269  virtual int certaintyLevelForTime(double d) const;
270 
272  virtual void reset();
273 
274  public:
277  virtual void addSpotReportVisualHandler(const std::string& s, DtExternalDataVisualHandlerCreatorInterface*);
278 
279  virtual void removeSpotReportVisualHandler(const std::string& s);
280 
282  virtual bool passesAllFilters(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* s) const;
283  virtual bool passesAllFilters(makVrv::DtUniqueID id) const;
284 
285  public:
287  boost::signals2::signal<void (const DtVrfSpotReportsSettingsRecord&)> signal_spotReportOptionsChanged;
288 
290  boost::signals2::signal<void (bool)> signal_spotReportsSelectableChanged;
291 
293  boost::signals2::signal<void (bool)> signal_showTrackHistoryForSelectedItemsChanged;
294 
296  boost::signals2::signal<void (int)> signal_numberOfTrackReportsChanged;
297 
299  boost::signals2::signal<void (bool)> signal_keepReportsForTimePeriodChanged;
300 
302  boost::signals2::signal<void (int)> signal_keepReportsForTimeChanged;
303 
304  protected:
305 
306  virtual void enableDecoration(const std::string&, bool);
307  virtual bool decorationIsEnabled(const std::string&) const;
308 
309  virtual void slot_observerModeAdded(int);
310 
312  virtual void setTrackHistoriesVisible(bool);
313  virtual void slot_organizedCategoriesInitialized();
314 
315  protected:
320 
322  std::set<unsigned long> mySpotReportRequestIds;
323  std::set<int> myAlreadyRequested;
324  std::map<std::string, DtVrfSelectionFilter*> myModified;
325  std::set<std::string> myRemoved;
326 
328 
330  DtEntityType myStealthType;
331  };
332 }
UUID is a unique ID wrapper class.
Definition: rwUUID.h:226
class DtVrfSelectionFilter
Definition: vrfSelectionFilters.h:32
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
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:302
boost::signals2::signal< void(bool)> signal_keepReportsForTimePeriodChanged
Sent when when the way to time out reports have changed.
Definition: vrfSpotReportManager.h:299
std::map< std::string, DtVrfSelectionFilter * > myModified
Definition: vrfSpotReportManager.h:324
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:287
Definition: vrfSpotReportManager.h:58
std::set< std::string > myRemoved
Definition: vrfSpotReportManager.h:325
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:74
Contains the DtUUID class declaration.
DtEntityType myStealthType
Definition: vrfSpotReportManager.h:330
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
std::set< unsigned long > mySpotReportRequestIds
Definition: vrfSpotReportManager.h:322
makVrv::DtRecordSettingsBackupInterface * mySettingsBackup
Definition: vrfSpotReportManager.h:317
Definition: spotReportDataHandler.h:69
makVrv::DtSignalConnectionManager myConnections
Definition: vrfSpotReportManager.h:329
Contains makVrv::DtVirtualBaseClass class.
std::set< int > myAlreadyRequested
Definition: vrfSpotReportManager.h:323
bool mySignalsBlocked
Definition: vrfSpotReportManager.h:318
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Contains makVrv::DtVrlinkSimulatedEntityState class.
The base class for all messages to/from a specific DtVrfObject. Various subclasses of this class will...
Definition: vrfObjectMessage.h:30
makVrv::DtRecordSettingsBackupInterface * settingsBackup()
Definition: vrfSpotReportManager.h:213
boost::signals2::signal< void(int)> signal_numberOfTrackReportsChanged
Sent when when the number of track reports to store have changed.
Definition: vrfSpotReportManager.h:296
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:293
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
virtual void addRecords(DtVrfSpotReportsSettingsRecord &recs, DtVrfSpotReportsSettingsRecord &combinedRec)
To support writing element definitions in folders as multiple files not implemented.
Definition: vrfSpotReportManager.h:79
bool mySpotReportsSelectable
Definition: vrfSpotReportManager.h:321
The makVrv::DtRecordSettingsBackupInterface provides an interface to record-based backups...
Definition: DtRecordSettingsBackup.h:24
makVrv::DtDe & myDe
Definition: vrfSpotReportManager.h:316
DtVrfSpotReportsSettingsRecord mySpotReportSettings
Definition: vrfSpotReportManager.h:319
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:290
DtVrfSelectionFilter * myActiveEnvironmentalsFilter
Definition: vrfSpotReportManager.h:327
Definition: vrfObjectDataState.h:87
const makVrv::DtRecordSettingsBackupInterface * settingsBackup() const
Definition: vrfSpotReportManager.h:208

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)