32 #include <matrix/geodeticCoord.h>
39 #include <boost/foreach.hpp>
43 class DtEnvironmentalVisualizerSet;
45 class DtVisualDefinitionSet;
59 virtual bool isGeocentric()
const;
77 virtual void setVisible(
bool visible );
79 virtual void setHidden(
bool b);
85 virtual void setIndicatorVisible(
bool);
89 virtual void setDisplayName(
const std::string& s);
90 virtual std::string displayName()
const;
92 virtual void setLabel(
const std::string&);
93 virtual std::string label()
const;
95 virtual void setFormattingData(
const std::string& s);
96 virtual std::string formattingData()
const;
98 virtual void setDropShadow(
bool b);
100 virtual void setOverlayName(
const std::string& s);
101 virtual std::string overlayName()
const;
104 virtual void setHatLineVisible(
bool visible );
112 virtual void setPickable(
bool b);
115 virtual void setSelected(
bool b);
117 virtual const DtEntityType& environmentalType()
const;
120 virtual void setWidgetEventsEnabled(
bool b);
123 virtual void setFillStyle(
int);
124 virtual int fillStyle()
const;
128 virtual void setPenStyle(
int);
131 virtual int penStyle()
const;
133 virtual double length()
const;
134 virtual double width()
const;
136 virtual void setLocationOffsetFromPrincipal(
const DtGeodeticCoord& offset );
137 virtual void setAltitudeOffsetFromPrincipal(
double offset );
139 virtual DtVector geocentricPosition(
int i)
const;
141 virtual std::vector<DtVector> geocentricPositions()
const;
146 std::vector<T> visualizers;
148 typename std::vector<T>::iterator iter = visualizers.begin();
150 while (iter != visualizers.end())
152 (*iter)->setWidgetEventsEnabled(b);
158 virtual void realizeFacades();
161 virtual void unrealizeFacades();
163 virtual void setProjected(
bool);
164 virtual bool projected()
const;
166 virtual void updateGeometry();
168 virtual void setSymbolDecorationPosition(
const DtVector& v);
174 virtual void setIndicatorModelDefinitions(
175 const std::string& normalTheme,
176 const std::string& activeTheme,
177 const std::string& selectedTheme,
178 const std::string& multiSelectedTheme);
181 virtual void setLockUpdates(
bool);
182 bool updatesLocked()
const;
184 virtual void setAlwaysRecalculateGeometry(
bool);
185 bool alwaysRecalculateGeometry()
const;
187 virtual void setArrowStyle(
int);
188 virtual int arrowStyle()
const;
190 virtual void setArrowHeadPlacement(
int);
191 virtual int arrowHeadPlacement()
const;
193 virtual void setArrowSize(
double);
194 virtual double arrowSize()
const;
197 virtual bool fixedWidthSizing()
const;
199 virtual void setLocationOffsetFromFirst(
const DtGeodeticCoord& geod,
int i);
200 const DtGeodeticCoord& locationOffsetFromFirst(
int i);
203 virtual void setShapeVertexVisible(
bool);
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;
213 virtual void setLineWidth(
float);
215 virtual double lineWidth()
const;
217 virtual void setForce(
int);
221 std::vector<T> visualizers;
223 typename std::vector<T>::iterator i = visualizers.begin();
224 typename std::vector<T>::iterator e = visualizers.end();
229 (*i)->setForceColor(color.
R, color.
G, color.
B, color.
A);
241 virtual void setElementDefinition(
const DtEntityType&,
bool preparseOnly =
false);
248 virtual double altitudeForAltitudeType(
int)
const;
250 virtual void setOrigin(
const DtVector&);
251 virtual void setOrigin(
const DtGeodeticCoord&);
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;
262 void setAltitudeAboveTerrain(
int,
double,
bool resetLocation =
true);
263 double altitudeAboveTerrain(
int = -1)
const;
265 void setAltitudeAboveSeaLevel(
int,
double,
bool resetLocation =
true);
266 double altitudeAboveSeaLevel(
int = -1)
const;
268 int numVertices()
const;
277 virtual void selectPoint(
int);
278 virtual void clearSelectedPoint();
280 int selectedPoint()
const;
282 virtual void setIconScale(
float);
284 virtual bool appearanceChanged()
const;
287 virtual double calculatedHeading()
const;
290 virtual DtVector geometricCenter()
const;
293 virtual std::vector<DtVector> rotatePointsTo(
const std::vector<DtVector>&,
double heading)
const;
297 virtual void setOrientation(
const DtTaitBryan&);
300 virtual void setAltitudeAboveSeaLevel(
double);
301 virtual void setAltitudeAboveTerrain(
double);
303 virtual DtVector localLocation(
const DtGeodeticCoord& geodLocation)
const;
304 virtual DtVector localLocation()
const;
307 virtual bool isBox()
const;
310 virtual bool isTextBox()
const;
313 virtual bool isLine()
const;
316 virtual bool isArea()
const;
319 virtual bool isCircle()
const;
323 virtual bool isEllipse()
const;
325 virtual void setIsClosedFigure(
bool);
326 virtual bool isClosedFigure()
const;
334 virtual void setExtendedData(
const std::map<std::string, std::string>&);
335 virtual std::map<std::string, std::string> extendedData()
const;
337 virtual void setExtendedLabels(
const std::map<int, DtString>&);
338 virtual std::map<int, DtString> extendedLabels()
const;
340 virtual void updateOffset(
const DtVector& position,
int i,
bool force =
false);
341 virtual void setAltitudeForPoint(
const DtVector& v,
int index);
349 virtual void updateHeading();
354 float myDefaultColor[4];
364 typedef std::map<int, makVrv::DtEnvironmentalVisualizerSet*>
ModelSetMap;