VR-Forces 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 DtElementDefinition;
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 bool isSpotReport(makVrv::DtUniqueID id) const;
183 
184  virtual void addShowGroundTruthFor(int);
185  virtual void removeShowGroundTruthFor(int);
186  void setShowGroundTruthForForce(const std::vector<int>&);
187  const std::vector<int> groundTruthFor() const;
188 
190  virtual void setDisplayFlag(int, bool);
191 
194  virtual void setSpotReportsGloballyEnabled(bool enabled);
195 
199  void setSystemEnabled(bool);
200  bool systemEnabled() const;
202 
203  public:
205  virtual void loadDefaults(bool fromFactory = false);
206 
208  virtual void saveAsDefaults();
209 
211  {
212  return mySettingsBackup;
213  }
214 
216  {
217  return mySettingsBackup;
218  }
219 
221  void exportSettings(const std::string& fileName);
222 
224  void importSettings(const std::string& fileName);
225 
226  virtual void processReceiveSpotReport(const DtVrfObjectMessage* msg);
227  virtual void processReceiveSpotReports(const DtVrfObjectMessage* msg);
228 
233  virtual bool addOrUpdateSpotReport(const std::string& type, void*, const DtUUID&);
234 
235  public:
238  virtual void addFogOfWarFilter(const DtVrfSelectionFilter&);
239 
242  virtual void removeFogOfWarFilter(const std::string&);
243 
245  virtual bool passesFogOfWarFilters(const makVrv::DtVrlinkSimulatedBaseState*, const DtVrfObjectDataState* objState = 0) const;
246  virtual bool passesFogOfWarFilters(makVrv::DtUniqueID) const;
247  virtual bool passesFogOfWarFilters(const DtUUID&) const;
248 
250  virtual bool canShowScenarioEvent(makVrv::DtUniqueID) const;
251 
253  virtual bool blockSignals(bool);
254 
255  public:
258  virtual void addSpotReportDataHandler(const std::string& s, DtSpotReportDataHandlerCreatorInterface*);
259 
261  virtual void removeSpotReport(makVrv::DtUniqueID);
262 
263  virtual void removeSpotReportDataHandler(const std::string& s);
264 
266  virtual void setSpotReportsSelectable(bool);
267  virtual bool spotReportsSelectable() const;
268 
271  virtual int certaintyLevelForTime(double d) const;
272 
274  virtual void reset();
275 
276  public:
279  virtual void addSpotReportVisualHandler(const std::string& s, DtExternalDataVisualHandlerCreatorInterface*);
280 
281  virtual void removeSpotReportVisualHandler(const std::string& s);
282 
284  virtual bool passesAllFilters(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>* s) const;
285  virtual bool passesAllFilters(makVrv::DtUniqueID id) const;
286 
287  public:
289  boost::signals2::signal<void (const DtVrfSpotReportsSettingsRecord&)> signal_spotReportOptionsChanged;
290 
292  boost::signals2::signal<void (bool)> signal_spotReportsSelectableChanged;
293 
295  boost::signals2::signal<void (bool)> signal_showTrackHistoryForSelectedItemsChanged;
296 
298  boost::signals2::signal<void (int)> signal_numberOfTrackReportsChanged;
299 
301  boost::signals2::signal<void (bool)> signal_keepReportsForTimePeriodChanged;
302 
304  boost::signals2::signal<void (int)> signal_keepReportsForTimeChanged;
305 
306  protected:
307 
308  virtual void enableDecoration(const std::string&, bool);
309  virtual bool decorationIsEnabled(const std::string&) const;
310 
311  virtual void slot_observerModeAdded(int);
312 
314  virtual void setTrackHistoriesVisible(bool);
315  virtual void slot_organizedCategoriesInitialized();
316 
317  virtual void showOnlyActiveEnvironmentalsChanged();
318 
319  protected:
324 
326  std::set<unsigned long> mySpotReportRequestIds;
327  std::set<int> myAlreadyRequested;
328  std::map<std::string, DtVrfSelectionFilter*> myModified;
329  std::set<std::string> myRemoved;
330 
331  boost::signals2::scoped_connection myShowOnlyActiveEnvironmentalsChangedConnection;
333 
335  DtEntityType myStealthType;
336  };
337 }
UUID is a unique ID wrapper class.
Definition: uuid.h:59
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:304
boost::signals2::signal< void(bool)> signal_keepReportsForTimePeriodChanged
Sent when when the way to time out reports have changed.
Definition: vrfSpotReportManager.h:301
std::map< std::string, DtVrfSelectionFilter * > myModified
Definition: vrfSpotReportManager.h:328
DT_DLL_VRVCORE DtTaitBryan level(const DtCoordinateSystem &cs, const DtVector &localOrigin, double topoHeading)
Returns a level orientation with the topographic heading.
boost::signals2::scoped_connection myShowOnlyActiveEnvironmentalsChangedConnection
Definition: vrfSpotReportManager.h:331
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:289
Definition: vrfSpotReportManager.h:58
std::set< std::string > myRemoved
Definition: vrfSpotReportManager.h:329
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:335
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
std::set< unsigned long > mySpotReportRequestIds
Definition: vrfSpotReportManager.h:326
makVrv::DtRecordSettingsBackupInterface * mySettingsBackup
Definition: vrfSpotReportManager.h:321
Definition: spotReportDataHandler.h:69
makVrv::DtSignalConnectionManager myConnections
Definition: vrfSpotReportManager.h:334
Contains makVrv::DtVirtualBaseClass class.
std::set< int > myAlreadyRequested
Definition: vrfSpotReportManager.h:327
bool mySignalsBlocked
Definition: vrfSpotReportManager.h:322
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:215
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:298
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:295
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:72
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:325
The makVrv::DtRecordSettingsBackupInterface provides an interface to record-based backups...
Definition: DtRecordSettingsBackup.h:24
makVrv::DtDe & myDe
Definition: vrfSpotReportManager.h:320
DtVrfSpotReportsSettingsRecord mySpotReportSettings
Definition: vrfSpotReportManager.h:323
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:292
DtVrfSelectionFilter * myActiveEnvironmentalsFilter
Definition: vrfSpotReportManager.h:332
Definition: vrfObjectDataState.h:87
const makVrv::DtRecordSettingsBackupInterface * settingsBackup() const
Definition: vrfSpotReportManager.h:210

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)