VR-Forces 4.7 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 <boost/signal.hpp>
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::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 
119  const makVrv::DtRecordSettingsBackupInterface* settingsBackup() const
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 
148  virtual void addRecords(DtSensorContactLinesSettingsRecord& recs,
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 }

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)