VR-Forces 4.2 Class Documentation
DtEnvironmentalFacadeCollection.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 
12 #pragma once
13 
14 #include <vrfGuiCore/vrfGuiCore.h>
16 
18 #include <vrvCore/DtTacticalGraphicStateListener.h>
19 #include <vrvCore/DtBaseConnection.h>
20 #include <vrvCore/DtModelSetRealizationManager.h>
21 #include <vrvCore/DtSharedModelSetSettings.h>
22 #include <vrvCore/DtVisualizerSet.h>
23 #include <vrvCore/DtEnvironmentalVisualizerSet.h>
24 #include <vrvCore/DtEnvironmentalIndicatorVisualizer.h>
25 #include <vrvCore/DtEnvironmentalVertexVisualizer.h>
26 #include <vrvVrl/DtForceManager.h>
27 
29 #include <matrix/geodCoord.h>
30 
32 #include <string>
33 #include <map>
34 #include <vector>
35 
36 #include <boost/foreach.hpp>
37 
38 namespace makVrv
39 {
40  class DtEnvironmentalVisualizerSet;
41  class DtDe;
42  class DtVisualDefinitionSet;
43 }
44 
45 namespace makVrf
46 {
49  {
50  public:
51  DtEnvironmentalFacadeCollection(makVrv::DtDe&, int modelSet = -1);
53 
54  public:
56 
58  virtual void setVisible( bool visible );
59 
60  virtual void setHidden(bool b);
61 
62  makVrv::DtUniqueID uniqueID() const;
63 
64  virtual void setUniqueID(makVrv::DtUniqueID id);
65 
66  virtual void setIndicatorVisible(bool);
67 
68  virtual void setSceneObjectId(makVrv::DtElementID id);
69 
70  virtual void setDisplayName(const std::string& s);
71  virtual std::string displayName() const;
72 
73  virtual void setLabel(const std::string&);
74  virtual std::string label() const;
75 
76  virtual void setOverlayName(const std::string& s);
77  virtual std::string overlayName() const;
78 
80  virtual void setHatLineVisible( bool visible );
81 
82  virtual DtVector origin() const;
83 
85  virtual void setPickable(bool b);
86 
88  virtual void setSelected(bool b);
89 
90  virtual const DtEntityType& environmentalType() const;
91 
93  virtual void setWidgetEventsEnabled(bool b);
94 
96  virtual void setFillStyle(int);
97  virtual int fillStyle() const;
98 
101  virtual void setPenStyle(int);
102 
104  virtual int penStyle() const;
105 
107  template <typename T> void setWidgetEventsEnabled(makVrv::DtEnvironmentalVisualizerSet* v, bool b)
108  {
109  std::vector<T> visualizers;
110  v->findVisualizers(visualizers);
111  typename std::vector<T>::iterator iter = visualizers.begin();
112 
113  while (iter != visualizers.end())
114  {
115  (*iter)->setWidgetEventsEnabled(b);
116  ++iter;
117  }
118  }
119 
121  virtual void realizeFacades();
122 
124  virtual void unrealizeFacades();
125 
126  virtual void setProjected(bool);
127  virtual bool projected() const;
128 
129  virtual void updateGeometry();
130 
131  virtual void visualize(const makVrv::DtUnicode& type,
132  const makVrv::DtSharedModelSetSettings::ModelSetVisualizedMap& sets);
133 
135  virtual void setIndicatorModelDefinitions(
136  const std::string& normalTheme,
137  const std::string& activeTheme,
138  const std::string& selectedTheme,
139  const std::string& multiSelectedTheme);
140 
142  virtual void setLockUpdates(bool);
143  bool updatesLocked() const;
144 
145  virtual void setAlwaysRecalculateGeometry(bool);
146  bool alwaysRecalculateGeometry() const;
147 
148  virtual void setArrowStyle(int);
149  virtual int arrowStyle() const;
150 
151  virtual void setArrowHeadPlacement(int);
152  virtual int arrowHeadPlacement() const;
153 
154  virtual void setArrowSize(double);
155  virtual double arrowSize() const;
156 
158  virtual bool fixedWidthSizing() const;
159 
160  virtual void setLocationOffsetFromFirst(const DtGeodeticCoord& geod, int i);
161  const DtGeodeticCoord& locationOffsetFromFirst(int i);
162 
163  virtual void setShapeVertexVisible(bool);
164  virtual void setSymbolDecorationsVisible(bool);
165  virtual void setColor(int rgba);
166  virtual bool colorChanged() const;
167  virtual int color() const;
168  virtual void setColor(float r, float g, float b, float a);
169  virtual bool isPointObject() const;
170  virtual const makVrv::DtUnicode& elementDefinition() const;
171 
172  virtual void setLineWidth(float);
173 
174  virtual double lineWidth() const;
175 
176  virtual void setForce(int);
177 
178  template <typename T> void setForceColor(makVrv::DtVisualizerSet* s, makVrv::DtForceManager::RGBAColor color)
179  {
180  std::vector<T> visualizers;
181  s->findVisualizersByDynamicCast(visualizers);
182  typename std::vector<T>::iterator i = visualizers.begin();
183  typename std::vector<T>::iterator e = visualizers.end();
184  for(;i != e; ++i)
185  {
186  if (*i)
187  {
188  (*i)->setForceColor(color.R, color.G, color.B, color.A);
189  }
190  }
191  }
192 
193  virtual void setVertexSelected(makVrv::DtUniqueID id, bool sel);
194 
195  makVrv::DtBaseConnection& baseConnection() const;
196 
199  virtual void setElementDefinition(const makVrv::DtUnicode& definition);
200  virtual void setElementDefinition(const DtEntityType&, bool preparseOnly = false);
201 
202  makVrv::DtUniqueID uniqueIDForModelSet(int i) const;
203  int positionOfVertex(makVrv::DtUniqueID) const;
204  DtVector position(int index) const;
205 
207  virtual double altitudeForAltitudeType(int) const;
208 
209  virtual void setOrigin(const DtVector&);
210  virtual void setOrigin(const DtGeodeticCoord&);
211 
212  virtual void setPoint(const DtVector&, int);
213  virtual int addPoint(const DtVector&, int index = -1, bool resetLocation = true);
214  virtual void setPoints(const std::vector<DtVector>&);
215  const std::vector<DtVector>& points() const;
216  virtual void removePoint(int);
217  DtGeodeticCoord geodeticPosition(int) const;
218 
219  virtual DtVector reviseLocation(int index, const DtVector& v);
220 
221  void setAltitudeAboveTerrain(int, double, bool resetLocation = true);
222  double altitudeAboveTerrain(int = -1) const;
223 
224  void setAltitudeAboveSeaLevel(int, double, bool resetLocation = true);
225  double altitudeAboveSeaLevel(int = -1) const;
226 
227  int numVertices() const;
228 
229  const makVrv::DtTacticalGraphicStateListener& listener() const
230  {
231  return myListener;
232  }
233 
236  virtual void selectPoint(int);
237  virtual void clearSelectedPoint();
238 
239  int selectedPoint() const;
240 
241  virtual void setIconScale(float);
242 
243  virtual bool appearanceChanged() const;
244 
246  virtual void setOrientation(const DtTaitBryan&);
247 
249  virtual void setAltitudeAboveSeaLevel(double);
250  virtual void setAltitudeAboveTerrain(double);
251 
252  virtual DtVector localLocation(const DtGeodeticCoord& geodLocation) const;
253  virtual DtVector localLocation() const;
254 
256  virtual bool isBox() const;
257 
259  virtual bool isTextBox() const;
260 
262  virtual bool isLine() const;
263 
265  virtual bool isArea() const;
266 
268  virtual bool isCircle() const;
269 
272  virtual bool isEllipse() const;
273 
275  makVrv::DtTacticalGraphicStateListener& listener()
276  {
277  return myListener;
278  }
279 
280  virtual void updateOffset(const DtVector& position, int i);
281  virtual void setAltitudeForPoint(const DtVector& v, int index);
282 
283  protected:
285  virtual void preparse(const makVrv::DtUnicode& type,
286  const makVrv::DtSharedModelSetSettings::ModelSetVisualizedMap& sets);
287 
288  protected:
289  makVrv::DtUnicode myElementDefinition;
290 
291  float myDefaultColor[4];
292 
293  makVrv::DtBaseConnection* myConnection;
294 
297  makVrv::DtTacticalGraphicStateListener myListener;
298  std::vector<double> myAltitudeAboveTerrain;
299  std::vector<double> myAltitudeAboveSeaLevel;
300 
301  typedef std::map<int, makVrv::DtEnvironmentalVisualizerSet*> ModelSetMap;
305 
306  std::vector<DtGeodeticCoord> myLocationOffsetFromFirst;
308 
310  typedef std::vector<makVrv::DtUniqueID> UniqueIDs;
311  std::map<int, UniqueIDs> myIds;
312 
314 
315  int myColor;
320  };
321 }

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)