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 );
130 virtual void setPickable(
bool b);
133 virtual void setSelected(
bool b);
135 virtual const DtEntityType& environmentalType()
const;
138 virtual void setWidgetEventsEnabled(
bool b);
140 virtual void updateSymbolDecorationPosition();
143 virtual void setFillStyle(
int);
144 virtual int fillStyle()
const;
148 virtual void setPenStyle(
int);
151 virtual int penStyle()
const;
153 virtual double length()
const;
154 virtual double width()
const;
156 virtual void setLocationOffsetFromPrincipal(
const DtGeodeticCoord& offset );
157 virtual void setAltitudeOffsetFromPrincipal(
double offset );
159 virtual DtVector geocentricPosition(
int i)
const;
161 virtual std::vector<DtVector> geocentricPositions()
const;
166 std::vector<T> visualizers;
168 typename std::vector<T>::iterator iter = visualizers.begin();
170 while (iter != visualizers.end())
172 (*iter)->setWidgetEventsEnabled(b);
183 virtual void setFloor(
double);
184 virtual void clearFloorSet();
185 virtual double floor()
const;
186 bool floorSet()
const
192 virtual void setCeiling(
double);
193 virtual double ceiling()
const;
194 virtual void clearCeilingSet();
195 bool ceilingSet()
const
203 virtual void realizeFacades();
206 virtual void unrealizeFacades();
208 virtual void setProjected(
bool);
209 virtual bool projected()
const;
211 virtual void updateGeometry();
213 virtual void setSymbolDecorationPosition(
const DtVector& v);
219 virtual void setIndicatorModelDefinitions(
220 const std::string& normalTheme,
221 const std::string& activeTheme,
222 const std::string& selectedTheme,
223 const std::string& multiSelectedTheme);
225 virtual void setAlwaysRecalculateGeometry(
bool);
226 bool alwaysRecalculateGeometry()
const;
228 virtual void setArrowStyle(
int);
229 virtual int arrowStyle()
const;
231 virtual void setArrowHeadPlacement(
int);
232 virtual int arrowHeadPlacement()
const;
234 virtual void setArrowSize(
double);
235 virtual double arrowSize()
const;
238 virtual bool fixedWidthSizing()
const;
240 virtual void setLocationOffsetFromFirst(
const DtGeodeticCoord& geod,
int i);
241 const DtGeodeticCoord& locationOffsetFromFirst(
int i);
244 virtual void setShapeVertexVisible(
bool);
246 virtual void setSymbolDecorationsVisible(
bool);
247 virtual void setColor(
int rgba);
248 virtual bool colorChanged()
const;
249 virtual int color()
const;
250 virtual void setColor(
float r,
float g,
float b,
float a);
251 virtual bool isPointObject()
const;
254 virtual void setPixelLineWidth(
float);
255 virtual float pixelLineWidth()
const;
257 virtual void setPhysicalLineHeight(
float);
258 virtual float physicalLineHeight()
const;
260 virtual void setOffsetPoints(
const std::vector<DtVector>&);
262 virtual void setPhysicalLineWidth(
float);
263 virtual float physicalLineWidth()
const;
265 virtual bool physicalLineHeightChanged()
const;
266 virtual void clearPhysicalLineHeightChanged();
268 virtual bool physicalLineWidthChanged()
const;
269 virtual void clearPhysicalLineWidthChanged();
271 virtual void setDefaultCeilingHeightIfCeilingIsNotSet(
double);
274 virtual void setForce(
int);
279 ModelSetMap::iterator iter = myModelSetMap.begin();
281 while (iter != myModelSetMap.end())
283 std::vector<T*> visualizers;
284 iter->second->findVisualizersByDynamicCast(visualizers);
285 typename std::vector<T*>::iterator i =
287 typename std::vector<T*>::iterator e =
295 (*i)->setAttached(efc->
modelSetMap()[iter->first]->uniqueID());
299 (*i)->setAttached(0);
310 std::vector<T> visualizers;
312 typename std::vector<T>::iterator i = visualizers.begin();
313 typename std::vector<T>::iterator e = visualizers.end();
318 (*i)->setForceColor(color.
R, color.
G, color.
B, color.
A);
330 virtual void setElementDefinition(
const DtEntityType&,
bool preparseOnly =
false);
337 virtual double altitudeForAltitudeType(
int)
const;
339 virtual void setOrigin(
const DtVector&);
340 virtual void setOrigin(
const DtGeodeticCoord&);
342 virtual void setPoint(
const DtVector&,
int);
343 virtual int addPoint(
const DtVector&,
int index = -1,
bool resetLocation =
true);
344 virtual void setPoints(
const std::vector<DtVector>&);
345 const std::vector<DtVector>& points()
const;
346 std::vector<DtVector> geocentricPoints()
const;
347 virtual void removePoint(
int);
348 DtGeodeticCoord geodeticPosition(
int)
const;
349 virtual void updateOffsets();
353 void setAltitudeAboveTerrain(
int,
double,
bool resetLocation =
true);
354 double altitudeAboveTerrain(
int = -1)
const;
356 void setAltitudeAboveSeaLevel(
int,
double,
bool resetLocation =
true);
357 double altitudeAboveSeaLevel(
int = -1)
const;
359 int numVertices()
const;
368 virtual void selectPoint(
int);
369 virtual void clearSelectedPoint();
371 int selectedPoint()
const;
373 virtual void setIconScale(
float);
375 virtual bool appearanceChanged()
const;
378 virtual double calculatedHeading()
const;
381 virtual DtVector geometricCenter()
const;
384 virtual std::vector<DtVector> rotatePointsTo(
const std::vector<DtVector>&,
double heading)
const;
388 virtual void setTopographicOrientation(
const DtTaitBryan&);
389 virtual void setLocalOrientation(
const DtTaitBryan&);
392 virtual void setAltitudeAboveSeaLevel(
double);
393 virtual void setAltitudeAboveTerrain(
double);
395 virtual DtVector localLocation(
const DtGeodeticCoord& geodLocation)
const;
396 virtual DtVector localLocation()
const;
399 virtual bool isBox()
const;
402 virtual bool isTextBox()
const;
405 virtual bool isLine()
const;
408 virtual bool isArea()
const;
411 virtual bool isCircle()
const;
415 virtual bool isEllipse()
const;
417 virtual void setIsClosedFigure(
bool);
418 virtual bool isClosedFigure()
const;
427 virtual void updateHeading();
432 virtual void mergeExtendedData(
const std::map<std::string, std::string>&);
434 virtual void setExtendedData(
const std::map<std::string, std::string>&);
435 virtual std::map<std::string, std::string> extendedData()
const;
437 virtual void setExtendedLabels(
const std::map<int, DtString>&);
438 virtual std::map<int, DtString> extendedLabels()
const;
440 virtual void updateOffset(
const DtVector& position,
int i,
bool force =
false);
441 virtual void setAltitudeForPoint(
const DtVector& v,
int index);
456 float myDefaultColor[4];
466 typedef std::map<int, makVrv::DtEnvironmentalVisualizerSet*>
ModelSetMap;