VR-Forces 4.6 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) 2012 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>
20 #include <vlpi/entityType.h>
21 #include <boost/signal.hpp>
23 #include <vrvUtil/event_signal.h>
24 
25 namespace makVrv
26 {
27  class DtDe;
28  class DtSimObjectEntry;
29  class DtRecordSettingsBackupInterface;
30 }
31 
32 class DtSimMessage;
33 class DtIfSensorData;
34 
35 namespace makVrf
36 {
39 
41  {
43  DtEntityType myType;
44  int myForce;
45  int myCid;
47 
48  typedef struct _DtSensorInformation
49  {
50  std::string mySensorName;
53  std::vector<DtSensorContactInformation> mySensorContacts;
55 
57  {
58  public:
59  typedef std::map<std::string, DtSensorInformation> DtSensorInformationMap;
60 
61  public:
63  virtual ~DtVrfSensorInfoManager();
64 
66  static DtVrfSensorInfoManager& instance(makVrv::DtDe& de);
67 
68  public:
70  virtual DtSensorInformationMap startMonitoring(const DtUUID&);
71 
74  virtual bool stopMonitoring(const DtUUID&);
75 
77  bool monitoring(const DtUUID& uuid) const
78  {
79  return (myMonitoring.find(uuid) != myMonitoring.end());
80  }
81 
82  boost::signal<void (DtUUID, const DtSensorInformationMap&)> signal_contactInfoReceived;
83 
84  virtual std::string cidLevel(int level) const;
85 
86  virtual void addCidLevel(int l, const std::string& i);
87 
88  virtual DtSensorInformationMap sensorInfoFor(const DtUUID&) const;
89 
91  virtual void setShowForSelected( bool );
92  virtual bool showForSelected() const;
93 
95  virtual void setSensorContactLinesColor(int color);
96  virtual void getSensorContactLinesColor(float& r, float& g, float &b, float& a) const;
97  virtual int sensorContactLinesColor() const;
98 
100  virtual void setSensorContactLinesWidth(float);
101  virtual float sensorContactLinesWidth() const;
102 
104  virtual void setArrowEndCapSize(float);
105  virtual float arrowEndCapSize() const;
106 
108  virtual void completeSetup();
109 
111  virtual void loadDefaults(bool fromFactory = false);
112 
114  virtual void saveAsDefaults();
115 
116  const makVrv::DtRecordSettingsBackupInterface* settingsBackup() const
117  {
118  return mySettingsBackup;
119  }
120 
122  {
123  return mySettingsBackup;
124  }
125 
127  void exportSettings(const std::string& fileName);
128 
130  void importSettings(const std::string& fileName);
131 
132  void setAutoSave(bool b);
133  bool autoSave() const;
134 
135  virtual void getRecord(DtSensorContactLinesSettingsRecord& rec) const;
136  virtual void setFromRecord(const DtSensorContactLinesSettingsRecord& rec);
137 
140  virtual void getSplitRecord(std::vector<DtSensorContactLinesSettingsRecord>& rec,
141  std::vector<std::string>& fileNames) {};
142 
145  virtual void addRecords(DtSensorContactLinesSettingsRecord& recs,
146  DtSensorContactLinesSettingsRecord& combinedRec) {};
147 
148  protected:
149  virtual void processSensorData(DtSimMessage*);
150 
151  virtual void slot_simObjectEntryAboutToBeRemoved(makVrv::DtSimObjectEntry& entry);
152 
153  protected:
155 
156  typedef std::map<DtUUID, int> DtMonitoringMap;
158 
159  std::map<int, std::string> myCidLevels;
160 
161  typedef std::map<DtUUID, DtSensorInformationMap> DtEntitySensorMonitorMap;
163 
164  typedef std::map<makVrv::DtUniqueID, DtUUID> MonitoringById;
167  };
168 
172  {
173  public:
174 
179 
183 
187  static DtSharedSensorContactLinesSettingsSignaler* findInstance(
189 
192 
199 
200  protected:
202 
203  private:
206  };
207 
211  {
212  public:
213 
219 
223  static std::string className();
224 
227 
229  virtual void setShowForSelected( bool );
230  virtual bool showForSelected() const;
231 
233  virtual void setSensorContactLinesColor(int color);
234  virtual void getSensorContactLinesColor(float& r, float& g, float &b, float& a) const;
235  virtual int sensorContactLinesColor() const;
236 
238  virtual void setSensorContactLinesWidth(float);
239  virtual float sensorContactLinesWidth() const;
240 
242  virtual void setArrowEndCapSize(float);
243  virtual float arrowEndCapSize() const;
244 
245  virtual void getRecord(DtSensorContactLinesSettingsRecord& rec) const;
246  virtual void setFromRecord(const DtSensorContactLinesSettingsRecord& rec);
247 
248  protected:
249 
252 
253  protected:
255  };
256 }

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)