VR-Forces 4.3.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
environmentalFacadeCollection.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 <vrvUtil/signalslib.h>
15 #include <vrfGuiCore/vrfGuiCore.h>
19 
29 #include <vrvVrl/DtForceManager.h>
30 
32 #include <matrix/geodeticCoord.h>
33 
35 #include <string>
36 #include <map>
37 #include <vector>
38 
39 #include <boost/foreach.hpp>
40 
41 namespace makVrv
42 {
43  class DtEnvironmentalVisualizerSet;
44  class DtDe;
45  class DtVisualDefinitionSet;
46 }
47 
49 
50 namespace makVrf
51 {
53  {
54  public:
56  makVrv::DtDe& de) : makVrv::DtTacticalGraphicStateListener(id), DtCommonStateListenerExtensions(id), myDe(de) {};
58 
59  virtual bool isGeocentric() const;
60 
61  protected:
63  };
64 
67  {
68  public:
70  DtEnvironmentalFacadeCollection(makVrv::DtDe&, int modelSet = -1, bool verticesDisabled = false);
72 
73  public:
75 
77  virtual void setVisible( bool visible );
78 
79  virtual void setHidden(bool b);
80 
81  makVrv::DtUniqueID uniqueID() const;
82 
83  virtual void setUniqueID(makVrv::DtUniqueID id);
84 
85  virtual void setIndicatorVisible(bool);
86 
87  virtual void setSceneObjectId(makVrv::DtElementID id);
88 
89  virtual void setDisplayName(const std::string& s);
90  virtual std::string displayName() const;
91 
92  virtual void setLabel(const std::string&);
93  virtual std::string label() const;
94 
95  virtual void setFormattingData(const std::string& s);
96  virtual std::string formattingData() const;
97 
98  virtual void setDropShadow(bool b);
99 
100  virtual void setOverlayName(const std::string& s);
101  virtual std::string overlayName() const;
102 
104  virtual void setHatLineVisible( bool visible );
105 
106  virtual DtVector origin() const;
107 
109  virtual void setWeatherCommand(const DtChangeWeatherCommand&);
110 
112  virtual void setPickable(bool b);
113 
115  virtual void setSelected(bool b);
116 
117  virtual const DtEntityType& environmentalType() const;
118 
120  virtual void setWidgetEventsEnabled(bool b);
121 
123  virtual void setFillStyle(int);
124  virtual int fillStyle() const;
125 
128  virtual void setPenStyle(int);
129 
131  virtual int penStyle() const;
132 
133  virtual double length() const;
134  virtual double width() const;
135 
136  virtual void setLocationOffsetFromPrincipal( const DtGeodeticCoord& offset );
137  virtual void setAltitudeOffsetFromPrincipal( double offset );
138 
139  virtual DtVector geocentricPosition(int i) const;
140 
141  virtual std::vector<DtVector> geocentricPositions() const;
142 
144  template <typename T> void setWidgetEventsEnabled(makVrv::DtEnvironmentalVisualizerSet* v, bool b)
145  {
146  std::vector<T> visualizers;
147  v->findVisualizers(visualizers);
148  typename std::vector<T>::iterator iter = visualizers.begin();
149 
150  while (iter != visualizers.end())
151  {
152  (*iter)->setWidgetEventsEnabled(b);
153  ++iter;
154  }
155  }
156 
158  virtual void realizeFacades();
159 
161  virtual void unrealizeFacades();
162 
163  virtual void setProjected(bool);
164  virtual bool projected() const;
165 
166  virtual void updateGeometry();
167 
168  virtual void setSymbolDecorationPosition(const DtVector& v);
169 
170  virtual void visualize(const makVrv::DtUnicode& type,
172 
174  virtual void setIndicatorModelDefinitions(
175  const std::string& normalTheme,
176  const std::string& activeTheme,
177  const std::string& selectedTheme,
178  const std::string& multiSelectedTheme);
179 
181  virtual void setLockUpdates(bool);
182  bool updatesLocked() const;
183 
184  virtual void setAlwaysRecalculateGeometry(bool);
185  bool alwaysRecalculateGeometry() const;
186 
187  virtual void setArrowStyle(int);
188  virtual int arrowStyle() const;
189 
190  virtual void setArrowHeadPlacement(int);
191  virtual int arrowHeadPlacement() const;
192 
193  virtual void setArrowSize(double);
194  virtual double arrowSize() const;
195 
197  virtual bool fixedWidthSizing() const;
198 
199  virtual void setLocationOffsetFromFirst(const DtGeodeticCoord& geod, int i);
200  const DtGeodeticCoord& locationOffsetFromFirst(int i);
201 
203  virtual void setShapeVertexVisible(bool);
204 
205  virtual void setSymbolDecorationsVisible(bool);
206  virtual void setColor(int rgba);
207  virtual bool colorChanged() const;
208  virtual int color() const;
209  virtual void setColor(float r, float g, float b, float a);
210  virtual bool isPointObject() const;
211  virtual const makVrv::DtUnicode& elementDefinition() const;
212 
213  virtual void setLineWidth(float);
214 
215  virtual double lineWidth() const;
216 
217  virtual void setForce(int);
218 
219  template <typename T> void setForceColor(makVrv::DtVisualizerSet* s, makVrv::DtForceManager::RGBAColor color)
220  {
221  std::vector<T> visualizers;
222  s->findVisualizersByDynamicCast(visualizers);
223  typename std::vector<T>::iterator i = visualizers.begin();
224  typename std::vector<T>::iterator e = visualizers.end();
225  for(;i != e; ++i)
226  {
227  if (*i)
228  {
229  (*i)->setForceColor(color.R, color.G, color.B, color.A);
230  }
231  }
232  }
233 
234  virtual void setVertexSelected(makVrv::DtUniqueID id, bool sel);
235 
236  makVrv::DtBaseConnection& baseConnection() const;
237 
240  virtual void setElementDefinition(const makVrv::DtUnicode& definition);
241  virtual void setElementDefinition(const DtEntityType&, bool preparseOnly = false);
242 
243  makVrv::DtUniqueID uniqueIDForModelSet(int i) const;
244  int positionOfVertex(makVrv::DtUniqueID) const;
245  DtVector position(int index) const;
246 
248  virtual double altitudeForAltitudeType(int) const;
249 
250  virtual void setOrigin(const DtVector&);
251  virtual void setOrigin(const DtGeodeticCoord&);
252 
253  virtual void setPoint(const DtVector&, int);
254  virtual int addPoint(const DtVector&, int index = -1, bool resetLocation = true);
255  virtual void setPoints(const std::vector<DtVector>&);
256  const std::vector<DtVector>& points() const;
257  virtual void removePoint(int);
258  DtGeodeticCoord geodeticPosition(int) const;
259 
260  virtual DtVector reviseLocation(int index, const DtVector& v);
261 
262  void setAltitudeAboveTerrain(int, double, bool resetLocation = true);
263  double altitudeAboveTerrain(int = -1) const;
264 
265  void setAltitudeAboveSeaLevel(int, double, bool resetLocation = true);
266  double altitudeAboveSeaLevel(int = -1) const;
267 
268  int numVertices() const;
269 
270  const DtExtTacticalGraphicStateListener& listener() const
271  {
272  return myListener;
273  }
274 
277  virtual void selectPoint(int);
278  virtual void clearSelectedPoint();
279 
280  int selectedPoint() const;
281 
282  virtual void setIconScale(float);
283 
284  virtual bool appearanceChanged() const;
285 
287  virtual double calculatedHeading() const;
288 
290  virtual DtVector geometricCenter() const;
291 
293  virtual std::vector<DtVector> rotatePointsTo(const std::vector<DtVector>&, double heading) const;
294 
297  virtual void setOrientation(const DtTaitBryan&);
298 
300  virtual void setAltitudeAboveSeaLevel(double);
301  virtual void setAltitudeAboveTerrain(double);
302 
303  virtual DtVector localLocation(const DtGeodeticCoord& geodLocation) const;
304  virtual DtVector localLocation() const;
305 
307  virtual bool isBox() const;
308 
310  virtual bool isTextBox() const;
311 
313  virtual bool isLine() const;
314 
316  virtual bool isArea() const;
317 
319  virtual bool isCircle() const;
320 
323  virtual bool isEllipse() const;
324 
325  virtual void setIsClosedFigure(bool);
326  virtual bool isClosedFigure() const;
327 
330  {
331  return myListener;
332  }
333 
334  virtual void setExtendedData(const std::map<std::string, std::string>&);
335  virtual std::map<std::string, std::string> extendedData() const;
336 
337  virtual void setExtendedLabels(const std::map<int, DtString>&);
338  virtual std::map<int, DtString> extendedLabels() const;
339 
340  virtual void updateOffset(const DtVector& position, int i, bool force = false);
341  virtual void setAltitudeForPoint(const DtVector& v, int index);
342 
343  protected:
345  virtual void preparse(const makVrv::DtUnicode& type,
347 
349  virtual void updateHeading();
350 
351  protected:
353 
354  float myDefaultColor[4];
355 
357 
361  std::vector<double> myAltitudeAboveTerrain;
362  std::vector<double> myAltitudeAboveSeaLevel;
363 
364  typedef std::map<int, makVrv::DtEnvironmentalVisualizerSet*> ModelSetMap;
366 
369 
370  std::vector<DtGeodeticCoord> myLocationOffsetFromFirst;
372 
374  typedef std::vector<makVrv::DtUniqueID> UniqueIDs;
375  std::map<int, UniqueIDs> myIds;
376 
378 
379  int myColor;
387  };
388 }

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)