33 #include <matrix/geodeticCoord.h>
40 #include <boost/foreach.hpp>
44 class DtEnvironmentalVisualizerSet;
46 class DtVisualDefinitionSet;
47 class DtTacticalGraphicElement;
48 class DtVertexTacticalGraphicElement;
62 virtual bool isGeocentric()
const;
110 virtual bool isVisible()
const override;
113 virtual void setUseHighestTerrainLod(
bool);
115 virtual void setHidden(
bool b);
119 return myTacticalGraphicElement;
123 virtual void setSymbolNameVisible(
bool);
127 virtual void setRespectPointAltitudePosition(
bool);
128 bool respectPointAltitudePosition()
const;
131 virtual void setupNodeMaskFlags();
134 virtual std::vector<makVrv::DtUniqueID> modelUniqueIDs()
const;
137 virtual void setLabelIndicatorVisible(
bool);
139 virtual void setIndicatorVisible(
bool);
140 virtual void setIndicatorVisible(
int index,
bool);
142 virtual void setAltitudeToOrigin(
DtVector&)
const;
148 virtual DtVector centerOfMass()
const;
150 virtual void setDisplayName(
const std::string& s);
151 virtual std::string displayName()
const;
153 virtual void setLabel(
const std::string&);
154 virtual std::string label()
const;
156 virtual void setFormattingData(
const std::string& s);
157 virtual std::string formattingData()
const;
159 virtual void setDropShadow(
bool b);
161 virtual void setOverlayName(
const std::string& s);
162 virtual std::string overlayName()
const;
165 virtual void setHatLineVisible(
bool visible );
166 virtual void setHatLineVisible(
int vertex,
bool visible );
171 virtual void setDictionaryToDisplay(
int);
176 virtual void setMaxCeilingOffsetFromFloor(
double d);
177 virtual double maxCeilingOffsetFromFloor()
const;
178 virtual void clearMaxCeilingOffsetFromFloor();
184 virtual void setPickable(
bool b);
187 virtual void setSelected(
bool b);
189 virtual const DtEntityType& environmentalType()
const;
192 virtual void setWidgetEventsEnabled(
bool b);
194 virtual void updateSymbolDecorationPosition();
201 virtual void setFillStyle(
int);
205 int style = (
int)myListener.fillStyle();
206 std::vector<T_Class*> visualizers;
207 myTacticalGraphicElement->findVisualizersByDynamicCast(visualizers);
208 typename std::vector<T_Class*>::iterator i =
210 typename std::vector<T_Class*>::iterator e =
217 style = (
int)(*i)->fillStyle();
225 virtual int fillStyle()
const;
229 virtual void setPenStyle(
int);
232 virtual int penStyle()
const;
234 virtual double length()
const;
235 virtual double width()
const;
237 virtual void setTopographicOffsetBetweenPoints(
const DtGeodeticCoord&
origin,
const DtGeodeticCoord& originWithOffset,
bool resetLocation =
true);
238 virtual void setAltitudeOffsetFromPrincipal(
double offset );
240 virtual void updateTopographicOffsets();
242 virtual DtVector geocentricPosition(
int i)
const;
244 virtual std::vector<DtVector> geocentricPositions()
const;
248 virtual void setNumberOfSpiderWebSpokes(
int);
251 virtual void setNumberOfSpiderWebRings(
int);
253 virtual void getSpiderWebInformation(
double& radius,
int& spokes,
int& rings)
const;
257 virtual void setWindSpeed(
double);
258 virtual double windSpeed()
const;
260 virtual void setAirTurbulence(
int);
261 virtual int airTurbulence()
const;
266 int style = (
int)myListener.penStyle();
267 std::vector<T_Class*> visualizers;
268 myTacticalGraphicElement->findVisualizersByDynamicCast(visualizers);
269 typename std::vector<T_Class*>::iterator i =
271 typename std::vector<T_Class*>::iterator e =
278 style = (*i)->stipplePattern();
286 template <
typename T_Class>
void color(
float &r,
float& g,
float& b,
float& a)
const
288 std::vector<T_Class*> visualizers;
289 myTacticalGraphicElement->findVisualizersByDynamicCast(visualizers);
290 typename std::vector<T_Class*>::iterator i =
292 typename std::vector<T_Class*>::iterator e =
299 (*i)->getColor(r, g, b, a);
308 std::vector<T> visualizers;
309 myTacticalGraphicElement->findVisualizers(visualizers);
310 typename std::vector<T>::iterator iter = visualizers.begin();
312 while (iter != visualizers.end())
314 (*iter)->setWidgetEventsEnabled(b);
325 virtual void setFloor(
double);
326 virtual void clearFloorSet();
327 virtual double floor()
const;
334 virtual void setCeiling(
double);
335 virtual double ceiling()
const;
336 virtual void clearCeilingSet();
345 virtual void realizeFacades();
348 virtual void unrealizeFacades(
bool willRecreate =
false);
350 virtual void setProjected(
bool);
351 virtual bool projected()
const;
353 virtual void updateGeometry();
355 virtual void setSymbolDecorationPosition(
const DtVector& v);
361 virtual void setIndicatorModelDefinitions(
362 const std::string& normalTheme,
363 const std::string& activeTheme,
364 const std::string& selectedTheme,
365 const std::string& multiSelectedTheme);
368 virtual void setIndicatorModelDefinitions(
int vertex,
369 const std::string& normalTheme,
370 const std::string& activeTheme,
371 const std::string& selectedTheme,
372 const std::string& multiSelectedTheme);
374 virtual void setAlwaysRecalculateGeometry(
bool);
375 bool alwaysRecalculateGeometry()
const;
377 virtual void setArrowStyle(
int);
378 virtual int arrowStyle()
const;
380 virtual void setArrowHeadPlacement(
int);
381 virtual int arrowHeadPlacement()
const;
383 virtual void setArrowSize(
double);
384 virtual double arrowSize()
const;
387 virtual bool fixedWidthSizing()
const;
389 virtual void setTopographicOffsetFromOrigin(
const DtVector& geod,
int i);
390 const DtVector& topographicOffsetFromOrigin(
int i);
393 virtual void setShapeVertexVisible(VertexVisibleMode);
395 virtual void setSymbolDecorationsVisible(
bool);
396 virtual void setColor(
int rgba);
397 virtual bool colorChanged()
const;
398 virtual int color()
const;
399 virtual void setColor(
float r,
float g,
float b,
float a);
400 virtual bool isPointObject()
const;
403 virtual void setPixelLineWidth(
float);
404 virtual float pixelLineWidth()
const;
406 virtual void setPhysicalLineHeight(
float);
407 virtual float physicalLineHeight()
const;
409 virtual void setOffsetPoints(
const std::vector<DtVector>&);
411 virtual void setPhysicalLineWidth(
float);
412 virtual float physicalLineWidth()
const;
414 virtual bool physicalLineHeightChanged()
const;
415 virtual void clearPhysicalLineHeightChanged();
417 virtual bool physicalLineWidthChanged()
const;
418 virtual void clearPhysicalLineWidthChanged();
420 virtual void setDefaultCeilingHeightIfCeilingIsNotSet(
double);
423 virtual void setForceType(DtForceType);
427 std::vector<T> visualizers;
429 typename std::vector<T>::iterator i = visualizers.begin();
430 typename std::vector<T>::iterator e = visualizers.end();
435 (*i)->setForceColor(color.
R, color.
G, color.
B, color.
A);
441 virtual void selectVertex(
int index,
bool sel);
442 virtual void clearSelectedVertices();
444 virtual DtGeodeticCoord locationFromTopographicOffsetLocation(
const DtGeodeticCoord&
origin,
int index)
const;
451 virtual void setElementDefinition(
const DtEntityType&,
bool preparseOnly =
false);
458 virtual double altitudeForAltitudeType(
int)
const;
460 virtual void setOrigin(
const DtVector&);
461 virtual void setOrigin(
const DtGeodeticCoord&);
463 virtual void setPoint(
const DtVector&,
int,
bool andUpdateOffset =
true);
464 virtual int addPoint(
const DtVector&,
int index = -1,
bool resetLocation =
true,
bool notifyOfAddedPoint =
false);
465 virtual void setPoints(
const std::vector<DtVector>&,
bool updateOffsets =
true,
bool notifyOfAddedPoint =
false);
466 const std::vector<DtVector>& points()
const;
467 std::vector<DtVector> geocentricPoints()
const;
468 virtual void removePoint(
int);
469 DtGeodeticCoord geodeticPosition(
int)
const;
470 virtual void updateOffsets();
474 void setAltitudeAboveTerrain(
int,
double,
bool resetLocation =
true);
475 double altitudeAboveTerrain(
int = -1)
const;
477 void setAltitudeAboveSeaLevel(
int,
double,
bool resetLocation =
true);
478 double altitudeAboveSeaLevel(
int = -1)
const;
480 int numVertices()
const;
489 virtual void selectPoint(
int);
490 virtual void clearSelectedPoint();
492 int selectedPoint()
const;
494 virtual void setIconScale(
float);
496 virtual bool appearanceChanged()
const;
499 virtual double calculatedHeading()
const;
502 virtual DtVector geometricCenter()
const;
505 virtual DtGeodeticCoord geodeticCenter()
const;
508 virtual std::vector<DtVector> rotatePointsTo(
const std::vector<DtVector>&,
double heading)
const;
512 virtual void setTopographicOrientation(
const DtTaitBryan&);
513 virtual void setLocalOrientation(
const DtTaitBryan&);
516 virtual void updateSymbolRotation(
const DtTaitBryan&);
519 virtual void updateSymbolRotation(
double);
522 virtual void setAltitudeAboveSeaLevel(
double);
523 virtual void setAltitudeAboveTerrain(
double);
525 virtual DtVector localLocation(
const DtGeodeticCoord& geodLocation)
const;
526 virtual DtVector localLocation()
const;
529 virtual bool isBox()
const;
532 virtual bool isTextBox()
const;
535 virtual bool isLine()
const;
538 virtual bool isArea()
const;
541 virtual bool isUnknown()
const;
544 virtual bool isCircle()
const;
547 virtual bool isWedge()
const;
550 virtual bool isSpiderWeb()
const;
554 virtual bool isEllipse()
const;
558 virtual bool isArc()
const;
560 virtual void setIsClosedFigure(
bool);
561 virtual bool isClosedFigure()
const;
570 virtual void updateHeading();
575 virtual void mergeExtendedData(
const std::map<std::string, std::string>&);
577 virtual void setExtendedData(
const std::map<std::string, std::string>&);
578 virtual std::map<std::string, std::string> extendedData()
const;
580 virtual void setExtendedLabels(
const std::map<int, DtString>&);
581 virtual std::map<int, DtString> extendedLabels()
const;
583 virtual void updateOffset(
const DtVector& position,
int i,
bool force =
false);
584 virtual void setAltitudeForPoint(
const DtVector& v,
int index);
595 virtual int clampTypeFor(
int index)
const;
598 virtual DtGeodeticCoord modifyPointByTopographicOffset(
const DtGeodeticCoord&
origin,
const DtVector& topographicOffset)
const override;
607 virtual void setSpiderWebRadius(
double);
613 virtual void finalizeSetup();
615 virtual void updateSpiderWebRadius();
620 float myDefaultColor[4];
640 std::vector<makVrv::DtVertexTacticalGraphicElement*>
myIds;
boost::signals2::connection myFinalizeConnection
Definition: environmentalFacadeCollection.h:684
IntersectProperties
The IntersectProperties enum is a flag set that indicates the types of nodes to be considered for int...
Definition: DtIntersector.h:31
Contains makVrv::DtModelSetRealizationManager class.
makVrv::DtBaseConnection * myConnection
Definition: environmentalFacadeCollection.h:622
double myWindSpeed
Definition: environmentalFacadeCollection.h:678
class DtEnvironmentalFacadeCollection
Definition: environmentalFacadeCollection.h:74
int myColor
Definition: environmentalFacadeCollection.h:644
Definition: vrfObjectManipulationHandlerBaseClass.h:55
bool myHatLinesVisible
Definition: environmentalFacadeCollection.h:650
boost::signals2::signal< void(DtEnvironmentalFacadeCollection *)> signal_locationsChanged
Definition: environmentalFacadeCollection.h:600
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
double myMaxCeilingOffsetFromFloor
Definition: environmentalFacadeCollection.h:682
bool myAppearanceChanged
Definition: environmentalFacadeCollection.h:648
bool myCeilingSet
Definition: environmentalFacadeCollection.h:656
Contains the makVrf::DtEntityFacadeCollection class declaration.
voidpf uLong int origin
Definition: ioapi.h:42
bool myRespectPointAltitudePosition
Definition: environmentalFacadeCollection.h:676
void setForceColor(makVrv::DtVisualizerSet *s, makVrv::DtForceManager::RGBAColor color)
Definition: environmentalFacadeCollection.h:425
Definition: DtForceManager.h:44
bool myIsClosedFigure
Definition: environmentalFacadeCollection.h:649
makVrv::DtDe & myDe
Definition: environmentalFacadeCollection.h:67
boost::signals2::signal< void(DtEnvironmentalFacadeCollection *, int, bool)> signal_vertexSelected
Definition: environmentalFacadeCollection.h:601
std::vector< double > myAltitudeAboveSeaLevel
Definition: environmentalFacadeCollection.h:628
ShowHideContext
Definition: DtShowHideContext.h:18
bool myIndicatorsVisible
Definition: environmentalFacadeCollection.h:671
VertexVisibleMode
Definition: environmentalFacadeCollection.h:78
Contains makVrv::DtTacticalGraphicElement class.
bool mySetupNodeMaskFlags
Definition: environmentalFacadeCollection.h:667
makVrv::DtUnicode myElementDefinition
Definition: environmentalFacadeCollection.h:618
char myEnvironmentType
Definition: environmentalFacadeCollection.h:642
typedef int(ZCALLBACK *close_file_func) OF((voidpf opaque
The DtTacticalGraphicStateListener is a class that deals with basic TacticalGraphic process code (suc...
Definition: DtTacticalGraphicStateListener.h:24
std::vector< double > myAltitudeAboveTerrain
Definition: environmentalFacadeCollection.h:627
The shared settings manager, is the global object responsible for managing any shared settings object...
Definition: DtSharedSettingsManager.h:42
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
DtExtTacticalGraphicStateListener(makVrv::DtUniqueID id, makVrv::DtSharedSettingsManager &settingsManager, makVrv::DtDe &de)
Definition: environmentalFacadeCollection.h:58
bool myUseHighestTerrainLOD
Definition: environmentalFacadeCollection.h:666
int myDictionaryToDisplay
Definition: environmentalFacadeCollection.h:675
Definition: entityStateListenerExtensions.h:36
const DtExtTacticalGraphicStateListener & listener() const
Definition: environmentalFacadeCollection.h:482
bool floorSet() const
Valid only for areal objects that are volumetric, get/set floor/ceiling of area. Note that any volume...
Definition: environmentalFacadeCollection.h:328
bool myNeedsGeometryUpdate
Definition: environmentalFacadeCollection.h:665
Contains makVrv:DtEnvironmentalIndicatorVisualizer.h class.
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:38
int mySelectedPoint
Definition: environmentalFacadeCollection.h:634
std::vector< int > myClampType
Definition: environmentalFacadeCollection.h:629
double myFloor
Definition: environmentalFacadeCollection.h:653
int myFillStyle
Definition: environmentalFacadeCollection.h:660
boost::signals2::signal< void(DtEnvironmentalFacadeCollection *)> signal_geometryUpdated
Definition: environmentalFacadeCollection.h:602
bool myColorChanged
Definition: environmentalFacadeCollection.h:645
bool myAttached
Definition: environmentalFacadeCollection.h:664
bool myWidgetEventsEnabled
Definition: environmentalFacadeCollection.h:669
Contains makVrv::DtSharedModelSetSettings class.
Contains makVrv:DtTacticalGraphicStateListener class.
Definition: vrfObjectFacadeInterface.h:53
bool myAlwaysRecalculateGeometry
Definition: environmentalFacadeCollection.h:637
The declaration of the makArchives::DtEnvironmentRecord class.
std::vector< DtVector > myTopographicOffsetFromOrigin
Definition: environmentalFacadeCollection.h:636
float B
Definition: DtForceManager.h:56
bool myPhysicalLineWidthChanged
Definition: environmentalFacadeCollection.h:657
Definition: DtIntersector.h:35
bool myDisplayVertices
Definition: environmentalFacadeCollection.h:646
int myAirTurbulence
Definition: environmentalFacadeCollection.h:680
Definition: vrfObjectManipulationHandlerBaseClass.h:60
void color(float &r, float &g, float &b, float &a) const
Definition: environmentalFacadeCollection.h:286
double myDefaultCeilingHeightIfCeilingIsNotSet
Definition: environmentalFacadeCollection.h:673
double myDefaultWidth
Definition: environmentalFacadeCollection.h:633
NetworkKindToElementTypeMap myElementTypeMappings
Definition: environmentalFacadeCollection.h:687
float R
Definition: DtForceManager.h:56
int penStyle() const
Definition: environmentalFacadeCollection.h:264
bool myIsVolumetric
Definition: environmentalFacadeCollection.h:663
A DtSimCommand subclass which specifies a change to the weather settings for the specified weather ar...
Definition: changeWeatherCommand.h:29
bool myPhysicalLineHeightChanged
Definition: environmentalFacadeCollection.h:658
bool myPickable
Definition: environmentalFacadeCollection.h:670
DtExtTacticalGraphicStateListener & listener()
Returns the listener of this class.
Definition: environmentalFacadeCollection.h:564
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:40
void setNeedsUpdate(bool b)
Definition: environmentalFacadeCollection.h:572
This contains all the DtVisualizers used to visualize an element in a particular model set...
Definition: DtVisualizerSet.h:32
Definition: environmentalFacadeCollection.h:690
A single tactical graphic element. A tactical graphic element may be visualized using multiple visual...
Definition: DtTacticalGraphicElement.h:35
Contains makVrv:DtBaseConnection class.
Contains makVrv::DtForceManager class.
makVrv::DtDe & myDe
Definition: environmentalFacadeCollection.h:703
bool myMaxCeilingOffsetFromFloorSet
Definition: environmentalFacadeCollection.h:683
bool mySymbolDecorationsVisible
Definition: environmentalFacadeCollection.h:672
bool myShapeVerticesDisabled
Definition: environmentalFacadeCollection.h:651
makVrv::DtTacticalGraphicElement * tacticalGraphicElement()
Definition: environmentalFacadeCollection.h:117
void findVisualizersByDynamicCast(std::vector< VisualizerClass * > &visualizers)
Find all instance of a visualizer by dynamically casting to the class type rather than doing the fast...
Definition: DtVisualizerSet.h:209
Definition: vrfObjectManipulationHandlerBaseClass.h:54
virtual ~DtExtTacticalGraphicStateListener()
Definition: environmentalFacadeCollection.h:60
float G
Definition: DtForceManager.h:56
std::map< int, makVrv::DtElementEntry::ElementType > NetworkKindToElementTypeMap
Definition: environmentalFacadeCollection.h:686
float A
Definition: DtForceManager.h:56
EnviornmentalTypes
Definition: environmentalFacadeCollection.h:85
void setWidgetEventsEnabled(bool b)
Template to enable mouse events on each visualizer.
Definition: environmentalFacadeCollection.h:306
VertexVisibleMode myShowVertices
Definition: environmentalFacadeCollection.h:647
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
Contains makVrv:DtEnvironmentalVisualizerSet class. This class will contain and manage state visualiz...
bool myFloorSet
Definition: environmentalFacadeCollection.h:654
double defaultCeilingHeightIfCeilingIsNotSet()
Definition: environmentalFacadeCollection.h:421
std::vector< makVrv::DtVertexTacticalGraphicElement * > myIds
Local vertex ids.
Definition: environmentalFacadeCollection.h:640
bool ceilingSet() const
Valid only for areal objects that are volumetric, get/set floor/ceiling of area. Note that any volume...
Definition: environmentalFacadeCollection.h:337
voidpf uLong offset
Definition: ioapi.h:42
DtExtTacticalGraphicStateListener myListener
Aggregate is also an entity state listener, so, it can be used.
Definition: environmentalFacadeCollection.h:626
int fillStyle() const
Definition: environmentalFacadeCollection.h:203
bool myNeedsNodeMaskUpdate
Definition: environmentalFacadeCollection.h:668
Definition: environmentalFacadeCollection.h:55
double myArrowSize
Definition: environmentalFacadeCollection.h:662
bool dictionaryToDisplay() const
Definition: environmentalFacadeCollection.h:172
makVrv::DtTacticalGraphicElement * myTacticalGraphicElement
Definition: environmentalFacadeCollection.h:631
std::map< int, bool > ModelSetVisualizedMap
Definition: DtSharedModelSetSettings.h:27