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>
15 #include <vrfutil/rwUUID.h>
16 
17 #include <vrvCore/DtUniqueID.h>
22 #include <vlpi/entityType.h>
23 
25 #include <vrvUtil/event_signal.h>
26 
27 #include <QtCore/QString>
28 
29 namespace makVrv
30 {
31  class DtDe;
32  class DtSimObjectEntry;
33  class DtRecordSettingsBackupInterface;
34 }
35 
36 class DtSimMessage;
37 class DtIfSensorData;
38 
39 namespace makVrf
40 {
42  {
44  DtEntityType myType;
45  int myForce;
46  int myCid;
48 
49  typedef struct _DtSensorInformation
50  {
51  std::string mySensorName;
54  std::vector<DtSensorContactInformation> mySensorContacts;
56 
58  {
59  public:
60  typedef std::map<std::string, DtSensorInformation> DtSensorInformationMap;
61 
62  public:
64  virtual ~DtVrfSensorInfoManager();
65 
67  static DtVrfSensorInfoManager& instance(makVrv::DtDe& de);
68 
69  public:
71  virtual DtSensorInformationMap startMonitoring(const DtUUID&);
72 
75  virtual bool stopMonitoring(const DtUUID&);
76 
78  bool monitoring(const DtUUID& uuid) const
79  {
80  return (myMonitoring.find(uuid) != myMonitoring.end());
81  }
82 
83  boost::signals2::signal<void (DtUUID, const DtSensorInformationMap&)> signal_contactInfoReceived;
84 
85  virtual std::string cidLevel(int level) const;
86 
87  virtual void addCidLevel(int l, const std::string& i);
88 
89  virtual DtSensorInformationMap sensorInfoFor(const DtUUID&) const;
90 
92  virtual void setShowForSelected( bool );
93  virtual bool showForSelected() const;
94 
96  virtual void setShowArrow( bool );
97  virtual bool showArrow() const;
98 
100  virtual void setSensorContactLinesColor(int color);
101  virtual void getSensorContactLinesColor(float& r, float& g, float &b, float& a) const;
102  virtual int sensorContactLinesColor() const;
103 
105  virtual void setSensorContactLinesWidth(float);
106  virtual float sensorContactLinesWidth() const;
107 
109  virtual void setArrowEndCapSize(float);
110  virtual float arrowEndCapSize() const;
111 
113  virtual void completeSetup();
114 
116  virtual void loadDefaults(bool fromFactory = false);
117 
119  virtual void saveAsDefaults();
120 
122  {
123  return mySettingsBackup;
124  }
125 
127  {
128  return mySettingsBackup;
129  }
130 
132  void exportSettings(const std::string& fileName);
133 
135  void importSettings(const std::string& fileName);
136 
137  void setAutoSave(bool b);
138  bool autoSave() const;
139 
140  virtual void getRecord(DtSensorContactLinesSettingsRecord& rec) const;
141  virtual void setFromRecord(const DtSensorContactLinesSettingsRecord& rec);
142 
145  virtual void getSplitRecord(std::vector<DtSensorContactLinesSettingsRecord>& rec,
146  std::vector<std::string>& fileNames) {};
147 
151  DtSensorContactLinesSettingsRecord& combinedRec) {};
152 
153  virtual QString beamFunctionName(int) const;
154  virtual QString acousticBeamFunctionName(int) const;
155  virtual QString acousticSystemName(int) const;
156  virtual QString propulsionPlantConfigurationName(int) const;
157 
158  virtual QString activeEmissionsParameterName(int) const;
159  virtual void setActiveEmissionsParameterName(int, const QString&);
160 
161  virtual QString scanPatternName(int) const;
162 
163  virtual void setEmitterSystemName(int, const QString&);
164  virtual QString emitterSystemName(int) const;
165 
166  virtual QString emissionTypeName(int) const;
167 
168  protected:
169  virtual void processSensorData(DtSimMessage*);
170 
171  virtual void slot_simObjectEntryAboutToBeRemoved(makVrv::DtSimObjectEntry& entry);
172 
173  protected:
175 
176  typedef std::map<DtUUID, int> DtMonitoringMap;
178 
179  std::map<int, std::string> myCidLevels;
180 
181  typedef std::map<DtUUID, DtSensorInformationMap> DtEntitySensorMonitorMap;
183 
184  typedef std::map<makVrv::DtUniqueID, DtUUID> MonitoringById;
187 
189 
190  std::map<int, QString> myActiveEmissionsParameterName;
191  std::map<int, QString> myEmitterSystemNames;
192  };
193 
197  {
198  public:
199 
204 
208 
212  static DtSharedSensorContactLinesSettingsSignaler* findInstance(
214 
217 
225 
226  protected:
228 
229  private:
232  };
233 
237  {
238  public:
239 
245 
249  static std::string className();
250 
253 
255  virtual void setShowForSelected( bool );
256  virtual bool showForSelected() const;
257 
259  virtual void setShowArrow( bool );
260  virtual bool showArrow() const;
261 
263  virtual void setSensorContactLinesColor(int color);
264  virtual void getSensorContactLinesColor(float& r, float& g, float &b, float& a) const;
265  virtual int sensorContactLinesColor() const;
266 
268  virtual void setSensorContactLinesWidth(float);
269  virtual float sensorContactLinesWidth() const;
270 
272  virtual void setArrowEndCapSize(float);
273  virtual float arrowEndCapSize() const;
274 
275  virtual void getRecord(DtSensorContactLinesSettingsRecord& rec) const;
276  virtual void setFromRecord(const DtSensorContactLinesSettingsRecord& rec);
277 
278  protected:
279 
282 
283  protected:
285  };
286 }
UUID is a unique ID wrapper class.
Definition: uuid.h:59
DtEntitySensorMonitorMap myEntityToSensorMap
Definition: vrfSensorInfoManager.h:182
DtSensorContactLinesSettingsRecord mySettingsRecord
Definition: vrfSensorInfoManager.h:284
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:190
std::map< DtUUID, int > DtMonitoringMap
Definition: vrfSensorInfoManager.h:176
makVrv::DtDe & myDe
Definition: vrfSensorInfoManager.h:174
std::string mySensorName
Definition: vrfSensorInfoManager.h:51
Definition: vrfSensorInfoManager.h:41
MonitoringById myMonitoringById
Definition: vrfSensorInfoManager.h:185
makVrv::event_signal< void(float)> signal_arrowSizeChanged
Definition: vrfSensorInfoManager.h:223
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:150
std::map< makVrv::DtUniqueID, DtUUID > MonitoringById
Definition: vrfSensorInfoManager.h:184
Contains makVrv:DtSelectionManager class.
bool myIsEnabled
Definition: vrfSensorInfoManager.h:53
bool monitoring(const DtUUID &uuid) const
Returns true if monitoring item.
Definition: vrfSensorInfoManager.h:78
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:60
#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:186
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:236
makVrv::event_signal< void(float)> signal_lineWidthChanged
Definition: vrfSensorInfoManager.h:222
Definition: vrfSensorInfoManager.h:49
The event queue interface is a cross thread event queue used to emit event_signal across thread bound...
Definition: DtEventQueueInterface.h:26
DtMonitoringMap myMonitoring
Definition: vrfSensorInfoManager.h:177
std::map< DtUUID, DtSensorInformationMap > DtEntitySensorMonitorMap
Definition: vrfSensorInfoManager.h:181
Definition: vrfSensorInfoManager.h:57
makVrv::event_signal< void(bool)> signal_showArrowChanged
Definition: vrfSensorInfoManager.h:220
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:145
Contains makVrv::DtVirtualBaseClass class.
int mySensorType
Definition: vrfSensorInfoManager.h:52
boost::signals2::signal< void(DtUUID, const DtSensorInformationMap &)> signal_contactInfoReceived
Definition: vrfSensorInfoManager.h:83
A DtSimObjectEntry is an entry for a persistent simulation object like an entity. ...
Definition: DtSimObjectEntry.h:22
A signaler for the shared sensor contact lines settings.
Definition: vrfSensorInfoManager.h:196
std::vector< DtSensorContactInformation > mySensorContacts
Definition: vrfSensorInfoManager.h:54
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:219
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
std::map< int, std::string > myCidLevels
Definition: vrfSensorInfoManager.h:179
int myForce
Definition: vrfSensorInfoManager.h:45
int myCid
Definition: vrfSensorInfoManager.h:46
makVrv::DtSignalConnectionManager myConnections
Definition: vrfSensorInfoManager.h:188
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
Base class to provide boost signal/slot management.
DtUUID myUUID
Definition: vrfSensorInfoManager.h:43
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:72
The makVrv::DtRecordSettingsBackupInterface provides an interface to record-based backups...
Definition: DtRecordSettingsBackup.h:24
DtEntityType myType
Definition: vrfSensorInfoManager.h:44
makVrv::DtRecordSettingsBackupInterface * settingsBackup()
Definition: vrfSensorInfoManager.h:126
makVrv::event_signal< void(float, float, float, float)> signal_colorChanged
Definition: vrfSensorInfoManager.h:221
std::map< int, QString > myEmitterSystemNames
Definition: vrfSensorInfoManager.h:191
const makVrv::DtRecordSettingsBackupInterface * settingsBackup() const
Definition: vrfSensorInfoManager.h:121

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)