VR-Forces 4.10 Class Documentation
 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 #include <vrvUtil/signalslib.h>
25 #include <vrvUtil/event_signal.h>
26 
27 namespace makVrv
28 {
29  class DtDe;
30  class DtSimObjectEntry;
31  class DtRecordSettingsBackupInterface;
32 }
33 
34 class DtSimMessage;
35 class DtIfSensorData;
36 
37 namespace makVrf
38 {
40  {
42  DtEntityType myType;
43  int myForce;
44  int myCid;
46 
47  typedef struct _DtSensorInformation
48  {
49  std::string mySensorName;
52  std::vector<DtSensorContactInformation> mySensorContacts;
54 
56  {
57  public:
58  typedef std::map<std::string, DtSensorInformation> DtSensorInformationMap;
59 
60  public:
62  virtual ~DtVrfSensorInfoManager();
63 
65  static DtVrfSensorInfoManager& instance(makVrv::DtDe& de);
66 
67  public:
69  virtual DtSensorInformationMap startMonitoring(const DtUUID&);
70 
73  virtual bool stopMonitoring(const DtUUID&);
74 
76  bool monitoring(const DtUUID& uuid) const
77  {
78  return (myMonitoring.find(uuid) != myMonitoring.end());
79  }
80 
81  boost::signals2::signal<void (DtUUID, const DtSensorInformationMap&)> signal_contactInfoReceived;
82 
83  virtual std::string cidLevel(int level) const;
84 
85  virtual void addCidLevel(int l, const std::string& i);
86 
87  virtual DtSensorInformationMap sensorInfoFor(const DtUUID&) const;
88 
90  virtual void setShowForSelected( bool );
91  virtual bool showForSelected() const;
92 
94  virtual void setShowArrow( bool );
95  virtual bool showArrow() const;
96 
98  virtual void setSensorContactLinesColor(int color);
99  virtual void getSensorContactLinesColor(float& r, float& g, float &b, float& a) const;
100  virtual int sensorContactLinesColor() const;
101 
103  virtual void setSensorContactLinesWidth(float);
104  virtual float sensorContactLinesWidth() const;
105 
107  virtual void setArrowEndCapSize(float);
108  virtual float arrowEndCapSize() const;
109 
111  virtual void completeSetup();
112 
114  virtual void loadDefaults(bool fromFactory = false);
115 
117  virtual void saveAsDefaults();
118 
120  {
121  return mySettingsBackup;
122  }
123 
125  {
126  return mySettingsBackup;
127  }
128 
130  void exportSettings(const std::string& fileName);
131 
133  void importSettings(const std::string& fileName);
134 
135  void setAutoSave(bool b);
136  bool autoSave() const;
137 
138  virtual void getRecord(DtSensorContactLinesSettingsRecord& rec) const;
139  virtual void setFromRecord(const DtSensorContactLinesSettingsRecord& rec);
140 
143  virtual void getSplitRecord(std::vector<DtSensorContactLinesSettingsRecord>& rec,
144  std::vector<std::string>& fileNames) {};
145 
149  DtSensorContactLinesSettingsRecord& combinedRec) {};
150 
151  protected:
152  virtual void processSensorData(DtSimMessage*);
153 
154  virtual void slot_simObjectEntryAboutToBeRemoved(makVrv::DtSimObjectEntry& entry);
155 
156  protected:
158 
159  typedef std::map<DtUUID, int> DtMonitoringMap;
161 
162  std::map<int, std::string> myCidLevels;
163 
164  typedef std::map<DtUUID, DtSensorInformationMap> DtEntitySensorMonitorMap;
166 
167  typedef std::map<makVrv::DtUniqueID, DtUUID> MonitoringById;
170 
172  };
173 
177  {
178  public:
179 
184 
188 
192  static DtSharedSensorContactLinesSettingsSignaler* findInstance(
194 
197 
205 
206  protected:
208 
209  private:
212  };
213 
217  {
218  public:
219 
225 
229  static std::string className();
230 
233 
235  virtual void setShowForSelected( bool );
236  virtual bool showForSelected() const;
237 
239  virtual void setShowArrow( bool );
240  virtual bool showArrow() const;
241 
243  virtual void setSensorContactLinesColor(int color);
244  virtual void getSensorContactLinesColor(float& r, float& g, float &b, float& a) const;
245  virtual int sensorContactLinesColor() const;
246 
248  virtual void setSensorContactLinesWidth(float);
249  virtual float sensorContactLinesWidth() const;
250 
252  virtual void setArrowEndCapSize(float);
253  virtual float arrowEndCapSize() const;
254 
255  virtual void getRecord(DtSensorContactLinesSettingsRecord& rec) const;
256  virtual void setFromRecord(const DtSensorContactLinesSettingsRecord& rec);
257 
258  protected:
259 
262 
263  protected:
265  };
266 }
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
DtEntitySensorMonitorMap myEntityToSensorMap
Definition: vrfSensorInfoManager.h:165
DtSensorContactLinesSettingsRecord mySettingsRecord
Definition: vrfSensorInfoManager.h:264
a read settings lock on a setting object.
Definition: DtReadSettingsLock.h:48
Virtual base class.
Definition: DtVirtualBaseClass.h:19
std::map< DtUUID, int > DtMonitoringMap
Definition: vrfSensorInfoManager.h:159
makVrv::DtDe & myDe
Definition: vrfSensorInfoManager.h:157
std::string mySensorName
Definition: vrfSensorInfoManager.h:49
Definition: vrfSensorInfoManager.h:39
MonitoringById myMonitoringById
Definition: vrfSensorInfoManager.h:168
makVrv::event_signal< void(float)> signal_arrowSizeChanged
Definition: vrfSensorInfoManager.h:203
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:148
std::map< makVrv::DtUniqueID, DtUUID > MonitoringById
Definition: vrfSensorInfoManager.h:167
Contains makVrv:DtSelectionManager class.
bool myIsEnabled
Definition: vrfSensorInfoManager.h:51
bool monitoring(const DtUUID &uuid) const
Returns true if monitoring item.
Definition: vrfSensorInfoManager.h:76
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:58
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
File: ifSensorData.h.
Definition: ifSensorData.h:29
makVrv::DtRecordSettingsBackupInterface * mySettingsBackup
Definition: vrfSensorInfoManager.h:169
Contains makVrv::DtObserverSettingsManager class.
Contains makVrv::event_signal class.
The base class for all shared settings.
Definition: DtSharedSettings.h:45
The shared sensor contact lines settings.
Definition: vrfSensorInfoManager.h:216
makVrv::event_signal< void(float)> signal_lineWidthChanged
Definition: vrfSensorInfoManager.h:202
Definition: vrfSensorInfoManager.h:47
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:160
std::map< DtUUID, DtSensorInformationMap > DtEntitySensorMonitorMap
Definition: vrfSensorInfoManager.h:164
Definition: vrfSensorInfoManager.h:55
makVrv::event_signal< void(bool)> signal_showArrowChanged
Definition: vrfSensorInfoManager.h:200
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:143
Contains makVrv::DtVirtualBaseClass class.
int mySensorType
Definition: vrfSensorInfoManager.h:50
boost::signals2::signal< void(DtUUID, const DtSensorInformationMap &)> signal_contactInfoReceived
Definition: vrfSensorInfoManager.h:81
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:176
std::vector< DtSensorContactInformation > mySensorContacts
Definition: vrfSensorInfoManager.h:52
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:199
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
std::map< int, std::string > myCidLevels
Definition: vrfSensorInfoManager.h:162
int myForce
Definition: vrfSensorInfoManager.h:43
int myCid
Definition: vrfSensorInfoManager.h:44
makVrv::DtSignalConnectionManager myConnections
Definition: vrfSensorInfoManager.h:171
a write settings lock on a setting object.
Definition: DtWriteSettingsLock.h:47
struct makVrf::_DtSensorInformation DtSensorInformation
Base class to provide boost signal/slot management.
DtUUID myUUID
Definition: vrfSensorInfoManager.h:41
Contains makVrv::DtUniqueID type.
Definition: sensorContactLinesSettingsRecord.h:25
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
The makVrv::DtRecordSettingsBackupInterface provides an interface to record-based backups...
Definition: DtRecordSettingsBackup.h:24
DtEntityType myType
Definition: vrfSensorInfoManager.h:42
makVrv::DtRecordSettingsBackupInterface * settingsBackup()
Definition: vrfSensorInfoManager.h:124
makVrv::event_signal< void(float, float, float, float)> signal_colorChanged
Definition: vrfSensorInfoManager.h:201
const makVrv::DtRecordSettingsBackupInterface * settingsBackup() const
Definition: vrfSensorInfoManager.h:119

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)