VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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;
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 setSensorContactLinesColor(int color);
95  virtual void getSensorContactLinesColor(float& r, float& g, float &b, float& a) const;
96  virtual int sensorContactLinesColor() const;
97 
99  virtual void setSensorContactLinesWidth(float);
100  virtual float sensorContactLinesWidth() const;
101 
103  virtual void setArrowEndCapSize(float);
104  virtual float arrowEndCapSize() const;
105 
107  virtual void completeSetup();
108 
110  virtual void loadDefaults(bool fromFactory = false);
111 
113  virtual void saveAsDefaults();
114 
115  const makVrv::DtRecordSettingsBackupInterface* settingsBackup() const
116  {
117  return mySettingsBackup;
118  }
119 
121  {
122  return mySettingsBackup;
123  }
124 
126  void exportSettings(const std::string& fileName);
127 
129  void importSettings(const std::string& fileName);
130 
131  void setAutoSave(bool b);
132  bool autoSave() const;
133 
134  virtual void getRecord(DtSensorContactLinesSettingsRecord& rec) const;
135  virtual void setFromRecord(const DtSensorContactLinesSettingsRecord& rec);
136 
137  protected:
138  virtual void processSensorData(DtSimMessage*);
139 
140  virtual void slot_simObjectEntryAboutToBeRemoved(makVrv::DtSimObjectEntry& entry);
141 
142  protected:
144 
145  typedef std::map<DtUUID, int> DtMonitoringMap;
147 
148  std::map<int, std::string> myCidLevels;
149 
150  typedef std::map<DtUUID, DtSensorInformationMap> DtEntitySensorMonitorMap;
152 
153  typedef std::map<makVrv::DtUniqueID, DtUUID> MonitoringById;
156  };
157 
161  {
162  public:
163 
168 
172 
176  static DtSharedSensorContactLinesSettingsSignaler* findInstance(
178 
181 
188 
189  protected:
191 
192  private:
195  };
196 
200  {
201  public:
202 
208 
212  static std::string className();
213 
216 
218  virtual void setShowForSelected( bool );
219  virtual bool showForSelected() const;
220 
222  virtual void setSensorContactLinesColor(int color);
223  virtual void getSensorContactLinesColor(float& r, float& g, float &b, float& a) const;
224  virtual int sensorContactLinesColor() const;
225 
227  virtual void setSensorContactLinesWidth(float);
228  virtual float sensorContactLinesWidth() const;
229 
231  virtual void setArrowEndCapSize(float);
232  virtual float arrowEndCapSize() const;
233 
234  virtual void getRecord(DtSensorContactLinesSettingsRecord& rec) const;
235  virtual void setFromRecord(const DtSensorContactLinesSettingsRecord& rec);
236 
237  protected:
238 
241 
242  protected:
244  };
245 }

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)