33 #include <matrix/geodeticCoord.h>
40 #include <boost/foreach.hpp>
44 class DtEnvironmentalVisualizerSet;
46 class DtVisualDefinitionSet;
60 virtual bool isGeocentric()
const;
78 virtual void setVisible(
bool visible );
79 virtual void setVisible(
bool,
int context);
80 virtual bool isVisible()
const;
83 virtual void setUseHighestTerrainLod(
bool);
85 virtual void setHidden(
bool b);
88 virtual void setSymbolNameVisible(
bool);
91 virtual void setupNodeMaskFlags();
94 virtual std::vector<makVrv::DtUniqueID> modelUniqueIDs()
const;
98 virtual void setIndicatorVisible(
bool);
104 virtual DtVector centerOfMass()
const;
106 virtual void setDisplayName(
const std::string& s);
107 virtual std::string displayName()
const;
109 virtual void setLabel(
const std::string&);
110 virtual std::string label()
const;
112 virtual void setFormattingData(
const std::string& s);
113 virtual std::string formattingData()
const;
115 virtual void setDropShadow(
bool b);
117 virtual void setOverlayName(
const std::string& s);
118 virtual std::string overlayName()
const;
121 virtual void setHatLineVisible(
bool visible );
126 virtual void setDictionaryToDisplay(
int);
135 virtual void setPickable(
bool b);
138 virtual void setSelected(
bool b);
140 virtual const DtEntityType& environmentalType()
const;
143 virtual void setWidgetEventsEnabled(
bool b);
145 virtual void updateSymbolDecorationPosition();
148 virtual void setFillStyle(
int);
149 virtual int fillStyle()
const;
153 virtual void setPenStyle(
int);
156 virtual int penStyle()
const;
158 virtual double length()
const;
159 virtual double width()
const;
161 virtual void setLocationOffsetFromPrincipal(
const DtGeodeticCoord& offset );
162 virtual void setAltitudeOffsetFromPrincipal(
double offset );
164 virtual DtVector geocentricPosition(
int i)
const;
166 virtual std::vector<DtVector> geocentricPositions()
const;
171 std::vector<T> visualizers;
173 typename std::vector<T>::iterator iter = visualizers.begin();
175 while (iter != visualizers.end())
177 (*iter)->setWidgetEventsEnabled(b);
188 virtual void setFloor(
double);
189 virtual void clearFloorSet();
190 virtual double floor()
const;
191 bool floorSet()
const
197 virtual void setCeiling(
double);
198 virtual double ceiling()
const;
199 virtual void clearCeilingSet();
200 bool ceilingSet()
const
208 virtual void realizeFacades();
211 virtual void unrealizeFacades();
213 virtual void setProjected(
bool);
214 virtual bool projected()
const;
216 virtual void updateGeometry();
218 virtual void setSymbolDecorationPosition(
const DtVector& v);
224 virtual void setIndicatorModelDefinitions(
225 const std::string& normalTheme,
226 const std::string& activeTheme,
227 const std::string& selectedTheme,
228 const std::string& multiSelectedTheme);
230 virtual void setAlwaysRecalculateGeometry(
bool);
231 bool alwaysRecalculateGeometry()
const;
233 virtual void setArrowStyle(
int);
234 virtual int arrowStyle()
const;
236 virtual void setArrowHeadPlacement(
int);
237 virtual int arrowHeadPlacement()
const;
239 virtual void setArrowSize(
double);
240 virtual double arrowSize()
const;
243 virtual bool fixedWidthSizing()
const;
245 virtual void setLocationOffsetFromFirst(
const DtGeodeticCoord& geod,
int i);
246 const DtGeodeticCoord& locationOffsetFromFirst(
int i);
249 virtual void setShapeVertexVisible(
bool);
251 virtual void setSymbolDecorationsVisible(
bool);
252 virtual void setColor(
int rgba);
253 virtual bool colorChanged()
const;
254 virtual int color()
const;
255 virtual void setColor(
float r,
float g,
float b,
float a);
256 virtual bool isPointObject()
const;
259 virtual void setPixelLineWidth(
float);
260 virtual float pixelLineWidth()
const;
262 virtual void setPhysicalLineHeight(
float);
263 virtual float physicalLineHeight()
const;
265 virtual void setOffsetPoints(
const std::vector<DtVector>&);
267 virtual void setPhysicalLineWidth(
float);
268 virtual float physicalLineWidth()
const;
270 virtual bool physicalLineHeightChanged()
const;
271 virtual void clearPhysicalLineHeightChanged();
273 virtual bool physicalLineWidthChanged()
const;
274 virtual void clearPhysicalLineWidthChanged();
276 virtual void setDefaultCeilingHeightIfCeilingIsNotSet(
double);
279 virtual void setForce(
int);
284 ModelSetMap::iterator iter = myModelSetMap.begin();
286 while (iter != myModelSetMap.end())
288 std::vector<T*> visualizers;
289 iter->second->findVisualizersByDynamicCast(visualizers);
290 typename std::vector<T*>::iterator i =
292 typename std::vector<T*>::iterator e =
300 (*i)->setAttached(efc->
modelSetMap()[iter->first]->uniqueID());
304 (*i)->setAttached(0);
315 std::vector<T> visualizers;
317 typename std::vector<T>::iterator i = visualizers.begin();
318 typename std::vector<T>::iterator e = visualizers.end();
323 (*i)->setForceColor(color.
R, color.
G, color.
B, color.
A);
335 virtual void setElementDefinition(
const DtEntityType&,
bool preparseOnly =
false);
342 virtual double altitudeForAltitudeType(
int)
const;
344 virtual void setOrigin(
const DtVector&);
345 virtual void setOrigin(
const DtGeodeticCoord&);
347 virtual void setPoint(
const DtVector&,
int,
bool andUpdateOffset =
true);
348 virtual int addPoint(
const DtVector&,
int index = -1,
bool resetLocation =
true);
349 virtual void setPoints(
const std::vector<DtVector>&);
350 const std::vector<DtVector>& points()
const;
351 std::vector<DtVector> geocentricPoints()
const;
352 virtual void removePoint(
int);
353 DtGeodeticCoord geodeticPosition(
int)
const;
354 virtual void updateOffsets();
358 void setAltitudeAboveTerrain(
int,
double,
bool resetLocation =
true);
359 double altitudeAboveTerrain(
int = -1)
const;
361 void setAltitudeAboveSeaLevel(
int,
double,
bool resetLocation =
true);
362 double altitudeAboveSeaLevel(
int = -1)
const;
364 int numVertices()
const;
373 virtual void selectPoint(
int);
374 virtual void clearSelectedPoint();
376 int selectedPoint()
const;
378 virtual void setIconScale(
float);
380 virtual bool appearanceChanged()
const;
383 virtual double calculatedHeading()
const;
386 virtual DtVector geometricCenter()
const;
389 virtual std::vector<DtVector> rotatePointsTo(
const std::vector<DtVector>&,
double heading)
const;
393 virtual void setTopographicOrientation(
const DtTaitBryan&);
394 virtual void setLocalOrientation(
const DtTaitBryan&);
397 virtual void setAltitudeAboveSeaLevel(
double);
398 virtual void setAltitudeAboveTerrain(
double);
400 virtual DtVector localLocation(
const DtGeodeticCoord& geodLocation)
const;
401 virtual DtVector localLocation()
const;
404 virtual bool isBox()
const;
407 virtual bool isTextBox()
const;
410 virtual bool isLine()
const;
413 virtual bool isArea()
const;
416 virtual bool isCircle()
const;
420 virtual bool isEllipse()
const;
422 virtual void setIsClosedFigure(
bool);
423 virtual bool isClosedFigure()
const;
432 virtual void updateHeading();
437 virtual void mergeExtendedData(
const std::map<std::string, std::string>&);
439 virtual void setExtendedData(
const std::map<std::string, std::string>&);
440 virtual std::map<std::string, std::string> extendedData()
const;
442 virtual void setExtendedLabels(
const std::map<int, DtString>&);
443 virtual std::map<int, DtString> extendedLabels()
const;
445 virtual void updateOffset(
const DtVector& position,
int i,
bool force =
false);
446 virtual void setAltitudeForPoint(
const DtVector& v,
int index);
467 float myDefaultColor[4];
477 typedef std::map<int, makVrv::DtEnvironmentalVisualizerSet*>
ModelSetMap;