VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfSensorInfoManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2018 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <vrfGuiCore/vrfGuiCore.h>
16 #include <vrfutil/rwUUID.h>
17 
18 #include <vrvCore/DtUniqueID.h>
23 #include <vlpi/entityType.h>
24 
26 #include <vrvUtil/event_signal.h>
27 
28 #include <QtCore/QString>
29 
30 namespace makVrv
31 {
32  class DtDe;
33  class DtSimObjectEntry;
34  class DtRecordSettingsBackupInterface;
35 }
36 
37 class DtSimMessage;
38 class DtIfSensorData;
39 
40 namespace makVrf
41 {
43  {
45  DtEntityType myType;
46  int myForce;
47  int myCid;
49 
50  typedef struct _DtSensorInformation
51  {
52  std::string mySensorName;
55  std::vector<DtSensorContactInformation> mySensorContacts;
57 
59  {
60  public:
61  typedef std::map<std::string, DtSensorInformation> DtSensorInformationMap;
62 
63  public:
65  virtual ~DtVrfSensorInfoManager() override;
66 
68  static DtVrfSensorInfoManager& instance(makVrv::DtDe& de);
69 
70  public:
72  virtual DtSensorInformationMap startMonitoring(const DtUUID&);
73 
76  virtual bool stopMonitoring(const DtUUID&);
77 
79  bool monitoring(const DtUUID& uuid) const
80  {
81  return (myMonitoring.find(uuid) != myMonitoring.end());
82  }
83 
84  boost::signals2::signal<void (DtUUID, const DtSensorInformationMap&)> signal_contactInfoReceived;
85 
86  virtual std::string cidLevel(int level) const;
87 
88  virtual void addCidLevel(int l, const std::string& i);
89 
90  virtual DtSensorInformationMap sensorInfoFor(const DtUUID&) const;
91 
93  virtual void setShowForSelected( bool );
94  virtual bool showForSelected() const;
95 
97  virtual void setShowArrow( bool );
98  virtual bool showArrow() const;
99 
101  virtual void setSensorContactLinesColor(int color);
102  virtual void getSensorContactLinesColor(float& r, float& g, float &b, float& a) const;
103  virtual int sensorContactLinesColor() const;
104 
106  virtual void setSensorContactLinesWidth(float);
107  virtual float sensorContactLinesWidth() const;
108 
110  virtual void setArrowEndCapSize(float);
111  virtual float arrowEndCapSize() const;
112 
114  virtual void completeSetup();
115 
117  virtual void loadDefaults(bool fromFactory = false);
118 
120  virtual void saveAsDefaults();
121 
123  {
124  return mySettingsBackup;
125  }
126 
128  {
129  return mySettingsBackup;
130  }
131 
133  void exportSettings(const std::string& fileName);
134 
136  void importSettings(const std::string& fileName);
137 
138  void setAutoSave(bool b);
139  bool autoSave() const;
140 
141  virtual void getRecord(DtSensorContactLinesSettingsRecord& rec) const;
142  virtual void setFromRecord(const DtSensorContactLinesSettingsRecord& rec);
143 
146  virtual void getSplitRecord(std::vector<DtSensorContactLinesSettingsRecord>& rec,
147  std::vector<std::string>& fileNames) {};
148 
152  DtSensorContactLinesSettingsRecord& combinedRec) {};
153 
154  virtual QString beamFunctionName(int) const;
155  virtual QString acousticBeamFunctionName(int) const;
156  virtual QString acousticSystemName(int) const;
157  virtual QString propulsionPlantConfigurationName(int) const;
158 
159  virtual QString activeEmissionsParameterName(int) const;
160  virtual void setActiveEmissionsParameterName(int, const QString&);
161 
162  virtual QString scanPatternName(int) const;
163 
164  virtual void setEmitterSystemName(int, const QString&);
165  virtual QString emitterSystemName(int) const;
166 
167  virtual QString emissionTypeName(int) const;
168 
169  protected:
170  virtual void processSensorData(DtSimMessage*);
171 
172  virtual void slot_simObjectEntryAboutToBeRemoved(DtSimObjectReference entry);
173  virtual void slot_objectAdded(DtSimObjectReference);
174 
175  protected:
177 
178  typedef std::map<DtUUID, int> DtMonitoringMap;
180 
181  std::map<int, std::string> myCidLevels;
182 
183  typedef std::map<DtUUID, DtSensorInformationMap> DtEntitySensorMonitorMap;
185 
186  typedef std::map<makVrv::DtUniqueID, DtUUID> MonitoringById;
189 
191 
192  std::map<int, QString> myActiveEmissionsParameterName;
193  std::map<int, QString> myEmitterSystemNames;
194 
195  boost::signals2::connection myStateViewAddedConnection;
196  std::set<DtUUID> myWaitingForStateView;
197  };
198 
202  {
203  public:
204 
209 
213 
217  static DtSharedSensorContactLinesSettingsSignaler* findInstance(
219 
221  virtual ~DtSharedSensorContactLinesSettingsSignaler() override;
222 
230 
231  protected:
233 
234  private:
237  };
238 
242  {
243  public:
244 
250 
254  static std::string className();
255 
257  virtual ~DtSharedSensorContactLinesSettings() override;
258 
260  virtual void setShowForSelected( bool );
261  virtual bool showForSelected() const;
262 
264  virtual void setShowArrow( bool );
265  virtual bool showArrow() const;
266 
268  virtual void setSensorContactLinesColor(int color);
269  virtual void getSensorContactLinesColor(float& r, float& g, float &b, float& a) const;
270  virtual int sensorContactLinesColor() const;
271 
273  virtual void setSensorContactLinesWidth(float);
274  virtual float sensorContactLinesWidth() const;
275 
277  virtual void setArrowEndCapSize(float);
278  virtual float arrowEndCapSize() const;
279 
280  virtual void getRecord(DtSensorContactLinesSettingsRecord& rec) const;
281  virtual void setFromRecord(const DtSensorContactLinesSettingsRecord& rec);
282 
283  protected:
284 
287 
288  protected:
290  };
291 
292 }
UUID is a unique ID wrapper class.
Definition: uuid.h:59
DtEntitySensorMonitorMap myEntityToSensorMap
Definition: vrfSensorInfoManager.h:184
DtSensorContactLinesSettingsRecord mySettingsRecord
Definition: vrfSensorInfoManager.h:289
a read settings lock on a setting object. The object can only get read access aka const functions...
Definition: DtReadSettingsLock.h:48
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
std::map< int, QString > myActiveEmissionsParameterName
Definition: vrfSensorInfoManager.h:192
std::map< DtUUID, int > DtMonitoringMap
Definition: vrfSensorInfoManager.h:178
makVrv::DtDe & myDe
Definition: vrfSensorInfoManager.h:176
std::string mySensorName
Definition: vrfSensorInfoManager.h:52
Definition: vrfSensorInfoManager.h:42
MonitoringById myMonitoringById
Definition: vrfSensorInfoManager.h:187
makVrv::event_signal< void(float)> signal_arrowSizeChanged
Definition: vrfSensorInfoManager.h:228
DT_DLL_VRVCORE DtTaitBryan level(const DtCoordinateSystem &cs, const DtVector &localOrigin, double topoHeading)
Returns a level orientation with the topographic heading.
virtual void addRecords(DtSensorContactLinesSettingsRecord &recs, DtSensorContactLinesSettingsRecord &combinedRec)
To support writing element definitions in folders as multiple files not implemented.
Definition: vrfSensorInfoManager.h:151
std::map< makVrv::DtUniqueID, DtUUID > MonitoringById
Definition: vrfSensorInfoManager.h:186
Contains makVrv:DtSelectionManager class.
bool myIsEnabled
Definition: vrfSensorInfoManager.h:54
bool monitoring(const DtUUID &uuid) const
Returns true if monitoring item.
Definition: vrfSensorInfoManager.h:79
Contains the DtUUID class declaration.
The shared settings manager, is the global object responsible for managing any shared settings object...
Definition: DtSharedSettingsManager.h:42
std::map< std::string, DtSensorInformation > DtSensorInformationMap
Definition: vrfSensorInfoManager.h:61
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
File: ifSensorData.h.
Definition: ifSensorData.h:28
makVrv::DtRecordSettingsBackupInterface * mySettingsBackup
Definition: vrfSensorInfoManager.h:188
Contains makVrv::DtObserverSettingsManager class.
Contains makVrv::event_signal class.
The base class for all shared settings. Actual settings class should have the following members/decla...
Definition: DtSharedSettings.h:45
The shared sensor contact lines settings.
Definition: vrfSensorInfoManager.h:241
makVrv::event_signal< void(float)> signal_lineWidthChanged
Definition: vrfSensorInfoManager.h:227
Definition: vrfSensorInfoManager.h:50
The event queue interface is a cross thread event queue used to emit event_signal across thread bound...
Definition: DtEventQueueInterface.h:27
DtMonitoringMap myMonitoring
Definition: vrfSensorInfoManager.h:179
std::map< DtUUID, DtSensorInformationMap > DtEntitySensorMonitorMap
Definition: vrfSensorInfoManager.h:183
Definition: vrfSensorInfoManager.h:58
makVrv::event_signal< void(bool)> signal_showArrowChanged
Definition: vrfSensorInfoManager.h:225
virtual void getSplitRecord(std::vector< DtSensorContactLinesSettingsRecord > &rec, std::vector< std::string > &fileNames)
To support writing element definitions in folders as multiple files not implemented.
Definition: vrfSensorInfoManager.h:146
Contains makVrv::DtVirtualBaseClass class.
int mySensorType
Definition: vrfSensorInfoManager.h:53
boost::signals2::signal< void(DtUUID, const DtSensorInformationMap &)> signal_contactInfoReceived
Definition: vrfSensorInfoManager.h:84
A signaler for the shared sensor contact lines settings.
Definition: vrfSensorInfoManager.h:201
std::vector< DtSensorContactInformation > mySensorContacts
Definition: vrfSensorInfoManager.h:55
File: simMsg.h.
Definition: simMessage.h:35
struct makVrf::_DtSensorContactInformation DtSensorContactInformation
Contains the DtSharedSettings class declaration.
makVrv::event_signal< void(bool)> signal_showForSelectedChanged
Definition: vrfSensorInfoManager.h:224
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
std::map< int, std::string > myCidLevels
Definition: vrfSensorInfoManager.h:181
int myForce
Definition: vrfSensorInfoManager.h:46
int myCid
Definition: vrfSensorInfoManager.h:47
makVrv::DtSignalConnectionManager myConnections
Definition: vrfSensorInfoManager.h:190
a write settings lock on a setting object. The object can be read and modified, but no other threads ...
Definition: DtWriteSettingsLock.h:47
struct makVrf::_DtSensorInformation DtSensorInformation
boost::signals2::connection myStateViewAddedConnection
Definition: vrfSensorInfoManager.h:195
Base class to provide boost signal/slot management.
DtUUID myUUID
Definition: vrfSensorInfoManager.h:44
Contains makVrv::DtUniqueID type.
Definition: sensorContactLinesSettingsRecord.h:25
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:76
The makVrv::DtRecordSettingsBackupInterface provides an interface to record-based backups...
Definition: DtRecordSettingsBackup.h:23
DtEntityType myType
Definition: vrfSensorInfoManager.h:45
makVrv::DtRecordSettingsBackupInterface * settingsBackup()
Definition: vrfSensorInfoManager.h:127
makVrv::event_signal< void(float, float, float, float)> signal_colorChanged
Definition: vrfSensorInfoManager.h:226
std::map< int, QString > myEmitterSystemNames
Definition: vrfSensorInfoManager.h:193
std::set< DtUUID > myWaitingForStateView
Definition: vrfSensorInfoManager.h:196
const makVrv::DtRecordSettingsBackupInterface * settingsBackup() const
Definition: vrfSensorInfoManager.h:122

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)