VR-Forces 4.1 Class Documentation
DtEnvironmentalFacadeCollection.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2011 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
11 
12 #pragma once
13 
14 #include <vrfGuiCore/vrfGuiCore.h>
16 
26 #include <vrvVrl/DtForceManager.h>
27 
29 #include <vlpi/entityType.h>
30 #include <matrix/geodCoord.h>
31 
33 #include <string>
34 #include <map>
35 #include <vector>
36 
37 #include <boost/foreach.hpp>
38 
39 class DtEntityType;
40 
41 namespace makVrv
42 {
43  class DtEnvironmentalVisualizerSet;
44  class DtDe;
45  class DtVisualDefinitionSet;
46 }
47 
48 namespace makVrf
49 {
52  {
53  public:
54  DtEnvironmentalFacadeCollection(makVrv::DtDe&, int modelSet = -1);
56 
57  public:
59 
61  virtual void setVisible( bool visible );
62 
63  virtual void setHidden(bool b);
64 
65  makVrv::DtUniqueID uniqueID() const;
66 
67  virtual void setUniqueID(makVrv::DtUniqueID id);
68 
69  virtual void setIndicatorVisible(bool);
70 
71  virtual void setSceneObjectId(makVrv::DtElementID id);
72 
73  virtual void setDisplayName(const std::string& s);
74  virtual std::string displayName() const;
75 
76  virtual void setLabel(const std::string&);
77  virtual std::string label() const;
78 
79  virtual void setOverlayName(const std::string& s);
80  virtual std::string overlayName() const;
81 
83  virtual void setHatLineVisible( bool visible );
84 
85  virtual DtVector origin() const;
86 
88  virtual void setPickable(bool b);
89 
91  virtual void setSelected(bool b);
92 
94  virtual void setWidgetEventsEnabled(bool b);
95 
97  virtual void setFillStyle(int);
98  virtual int fillStyle() const;
99 
102  virtual void setPenStyle(int);
103 
105  virtual int penStyle() const;
106 
108  template <typename T> void setWidgetEventsEnabled(makVrv::DtEnvironmentalVisualizerSet* v, bool b)
109  {
110  std::vector<T> visualizers;
111  v->findVisualizers(visualizers);
112  typename std::vector<T>::iterator iter = visualizers.begin();
113 
114  while (iter != visualizers.end())
115  {
116  (*iter)->setWidgetEventsEnabled(b);
117  ++iter;
118  }
119  }
120 
122  virtual void realizeFacades();
123 
125  virtual void unrealizeFacades();
126 
127  virtual void setProjected(bool);
128  virtual bool projected() const;
129 
130  virtual void updateGeometry();
131 
132  virtual void visualize(const makVrv::DtUnicode& type,
134 
136  virtual void setIndicatorModelDefinitions(
137  const std::string& normalTheme,
138  const std::string& activeTheme,
139  const std::string& selectedTheme,
140  const std::string& multiSelectedTheme);
141 
143  virtual void setLockUpdates(bool);
144  bool updatesLocked() const;
145 
146  virtual void setAlwaysRecalculateGeometry(bool);
147  bool alwaysRecalculateGeometry() const;
148 
149  virtual void setArrowStyle(int);
150  virtual int arrowStyle() const;
151 
152  virtual void setArrowHeadPlacement(int);
153  virtual int arrowHeadPlacement() const;
154 
155  virtual void setArrowSize(double);
156  virtual double arrowSize() const;
157 
159  virtual bool fixedWidthSizing() const;
160 
161  virtual void setLocationOffsetFromFirst(const DtGeodeticCoord& geod, int i);
162  const DtGeodeticCoord& locationOffsetFromFirst(int i);
163 
164  virtual void setShapeVertexVisible(bool);
165  virtual void setSymbolDecorationsVisible(bool);
166  virtual void setColor(int rgba);
167  virtual bool colorChanged() const;
168  virtual int color() const;
169  virtual void setColor(float r, float g, float b, float a);
170  virtual bool isPointObject() const;
171  virtual const makVrv::DtUnicode& elementDefinition() const;
172 
173  virtual void setLineWidth(float);
174 
175  virtual double lineWidth() const;
176 
177  virtual void setForce(int);
178 
179  template <typename T> void setForceColor(makVrv::DtVisualizerSet* s, makVrv::DtForceManager::RGBAColor color)
180  {
181  std::vector<T> visualizers;
182  s->findVisualizersByDynamicCast(visualizers);
183  typename std::vector<T>::iterator i = visualizers.begin();
184  typename std::vector<T>::iterator e = visualizers.end();
185  for(;i != e; ++i)
186  {
187  if (*i)
188  {
189  (*i)->setForceColor(color.R, color.G, color.B, color.A);
190  }
191  }
192  }
193 
194  virtual void setVertexSelected(makVrv::DtUniqueID id, bool sel);
195 
196  makVrv::DtBaseConnection& baseConnection() const;
197 
200  virtual void setElementDefinition(const makVrv::DtUnicode& definition);
201  virtual void setElementDefinition(const DtEntityType&, bool preparseOnly = false);
202  DtEntityType environmentalType() const;
203 
204  makVrv::DtUniqueID uniqueIDForModelSet(int i) const;
205  int positionOfVertex(makVrv::DtUniqueID) const;
206  DtVector position(int index) const;
207 
209  virtual double altitudeForAltitudeType(int) const;
210 
211  virtual void setOrigin(const DtVector&);
212  virtual void setOrigin(const DtGeodeticCoord&);
213 
214  virtual void setPoint(const DtVector&, int);
215  virtual int addPoint(const DtVector&, int index = -1, bool resetLocation = true);
216  virtual void setPoints(const std::vector<DtVector>&);
217  const std::vector<DtVector>& points() const;
218  virtual void removePoint(int);
219  DtGeodeticCoord geodeticPosition(int) const;
220 
221  virtual DtVector reviseLocation(int index, const DtVector& v);
222 
223  void setAltitudeAboveTerrain(int, double, bool resetLocation = true);
224  double altitudeAboveTerrain(int = -1) const;
225 
226  void setAltitudeAboveSeaLevel(int, double, bool resetLocation = true);
227  double altitudeAboveSeaLevel(int = -1) const;
228 
229  int numVertices() const;
230 
232  {
233  return myListener;
234  }
235 
238  virtual void selectPoint(int);
239  virtual void clearSelectedPoint();
240 
241  int selectedPoint() const;
242 
243  virtual void setIconScale(float);
244 
245  virtual bool appearanceChanged() const;
246 
248  virtual void setOrientation(const DtTaitBryan&);
249 
251  virtual void setAltitudeAboveSeaLevel(double);
252  virtual void setAltitudeAboveTerrain(double);
253 
254  virtual DtVector localLocation(const DtGeodeticCoord& geodLocation) const;
255  virtual DtVector localLocation() const;
256 
258  virtual bool isBox() const;
259 
261  virtual bool isTextBox() const;
262 
264  virtual bool isLine() const;
265 
267  virtual bool isArea() const;
268 
270  virtual bool isCircle() const;
271 
274  virtual bool isEllipse() const;
275 
278  {
279  return myListener;
280  }
281 
282  virtual void updateOffset(const DtVector& position, int i);
283  virtual void setAltitudeForPoint(const DtVector& v, int index);
284 
285  protected:
287  virtual void preparse(const makVrv::DtUnicode& type,
289 
290  protected:
292  DtEntityType myEntityType;
294 
295  float myDefaultColor[4];
296 
298 
302  std::vector<double> myAltitudeAboveTerrain;
303  std::vector<double> myAltitudeAboveSeaLevel;
304 
305  typedef std::map<int, makVrv::DtEnvironmentalVisualizerSet*> ModelSetMap;
309 
310  std::vector<DtGeodeticCoord> myLocationOffsetFromFirst;
312 
314  typedef std::vector<makVrv::DtUniqueID> UniqueIDs;
315  std::map<int, UniqueIDs> myIds;
316 
318 
319  int myColor;
324  };
325 }

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)