33 #include <matrix/geodeticCoord.h>
43 class DtEnvironmentalVisualizerSet;
45 class DtVisualDefinitionSet;
46 class DtTacticalGraphicElement;
47 class DtVertexTacticalGraphicElement;
61 virtual bool isGeocentric()
const;
101 ManeuverByFirePosition = 12,
115 virtual bool isVisible()
const override;
118 virtual void setUseHighestTerrainLod(
bool);
120 virtual void setHidden(
bool b);
124 return myTacticalGraphicElement;
132 virtual void setRespectPointAltitudePosition(
bool);
133 bool respectPointAltitudePosition()
const;
136 virtual void setIsDecorated(
bool);
139 virtual void setupNodeMaskFlags();
142 virtual std::vector<makVrv::DtUniqueID> modelUniqueIDs()
const override;
147 virtual void setIndicatorVisible(
bool)
override;
148 virtual void setIndicatorVisible(
int index,
bool);
150 virtual void setAltitudeToOrigin(DtVector&)
const;
156 virtual DtVector centerOfMass()
const override;
158 virtual void setDisplayName(
const std::string& s)
override;
159 virtual std::string displayName()
const override;
161 virtual void setLabel(
const std::string&);
162 virtual std::string label()
const;
165 virtual const std::string& decorationSet()
const;
168 virtual const std::string& unitCollection()
const;
173 virtual void setFormattingData(
const std::string& s);
174 virtual std::string formattingData()
const;
176 virtual void setDropShadow(
bool b);
178 virtual void setOverlayName(
const std::string& s);
179 virtual std::string overlayName()
const override;
182 virtual void setHatLineVisible(
bool visible)
override;
183 virtual void setUseHighestTerrainLod(
int vertex,
bool visible );
188 virtual void setDictionaryToDisplay(
int);
191 virtual DtVector
origin()
const;
193 virtual void setMaxCeilingOffsetFromFloor(
double d);
194 virtual double maxCeilingOffsetFromFloor()
const;
195 virtual void clearMaxCeilingOffsetFromFloor();
201 virtual void setPickable(
bool b)
override;
204 virtual void setSelected(
bool b)
override;
206 virtual const DtEntityType& environmentalType()
const;
209 virtual void setWidgetEventsEnabled(
bool b)
override;
211 virtual void updateSymbolDecorationPosition();
219 virtual void setFillStyle(
int);
223 int style = (
int)myListener->fillStyle();
224 std::vector<T_Class*> visualizers;
225 myTacticalGraphicElement->findVisualizersByDynamicCast(visualizers);
226 typename std::vector<T_Class*>::iterator i =
228 typename std::vector<T_Class*>::iterator e =
235 style = (
int)(*i)->fillStyle();
243 virtual int fillStyle()
const;
247 virtual void setPenStyle(
int);
251 virtual void setPenStyle(
DtString style);
254 virtual int penStyle()
const;
256 virtual double length()
const;
257 virtual double width()
const;
259 virtual void setTopographicOffsetBetweenPoints(
260 const DtGeodeticCoord&
origin,
const DtGeodeticCoord& originWithOffset,
bool resetLocation =
true)
override;
261 virtual void setAltitudeOffsetFromPrincipal(
double offset );
263 virtual void updateTopographicOffsets();
265 virtual DtVector geocentricPosition(
int i)
const;
267 virtual std::vector<DtVector> geocentricPositions()
const;
270 virtual void setCorridorSize(
double);
271 virtual double corridorSize()
const;
275 virtual void setNumberOfSpiderWebSpokes(
int);
278 virtual void setNumberOfSpiderWebRings(
int);
280 virtual void getSpiderWebInformation(
double& radius,
int& spokes,
int& rings)
const;
284 virtual void setWindSpeed(
double);
285 virtual double windSpeed()
const;
287 virtual void setAirTurbulence(
int);
288 virtual int airTurbulence()
const;
291 template <
typename T_Class>
int penStyle(
bool& found)
const
293 int style = (
int)myListener->penStyle();
294 std::vector<T_Class*> visualizers;
295 myTacticalGraphicElement->findVisualizersByDynamicCast(visualizers);
297 found = (visualizers.size() != 0);
298 typename std::vector<T_Class*>::iterator i =
300 typename std::vector<T_Class*>::iterator e =
307 style = (
int)(*i)->stipplePattern();
315 template <
typename T_Class>
void color(
float &r,
float& g,
float& b,
float& a,
bool& found)
const
317 std::vector<T_Class*> visualizers;
320 myTacticalGraphicElement->findVisualizersByDynamicCast(visualizers);
322 found = (visualizers.size() > 0);
323 typename std::vector<T_Class*>::iterator i =
325 typename std::vector<T_Class*>::iterator e =
332 (*i)->getColor(r, g, b, a);
334 if ((r != 0.) || (g != 0.) || (b != 0.) || (a != 0.))
345 std::vector<T> visualizers;
346 myTacticalGraphicElement->findVisualizers(visualizers);
347 typename std::vector<T>::iterator iter = visualizers.begin();
349 while (iter != visualizers.end())
351 (*iter)->setWidgetEventsEnabled(b);
362 virtual void setFloor(
double);
363 virtual void clearFloorSet();
364 virtual double floor()
const;
371 virtual void setCeiling(
double);
372 virtual double ceiling()
const;
373 virtual void clearCeilingSet();
382 virtual void realizeFacades()
override;
385 virtual void unrealizeFacades(
bool willRecreate =
false)
override;
387 virtual void setProjected(
bool);
388 virtual bool projected()
const;
390 virtual void updateGeometry();
392 virtual void setSymbolDecorationPosition(
const DtVector& v);
398 virtual void setIndicatorModelDefinitions(
399 const std::string& normalTheme,
400 const std::string& activeTheme,
401 const std::string& selectedTheme,
402 const std::string& multiSelectedTheme);
405 virtual void setIndicatorModelDefinitions(
int vertex,
406 const std::string& normalTheme,
407 const std::string& activeTheme,
408 const std::string& selectedTheme,
409 const std::string& multiSelectedTheme);
411 virtual void setAlwaysRecalculateGeometry(
bool);
412 bool alwaysRecalculateGeometry()
const;
414 virtual void setArrowStyle(
int);
415 virtual int arrowStyle()
const;
417 virtual void setArrowHeadPlacement(
int);
418 virtual int arrowHeadPlacement()
const;
420 virtual void setArrowSize(
double);
421 virtual double arrowSize()
const;
424 virtual bool fixedWidthSizing()
const;
426 virtual void setTopographicOffsetFromOrigin(
const DtVector& geod,
int i);
427 const DtVector& topographicOffsetFromOrigin(
int i);
430 virtual void setShapeVertexVisible(VertexVisibleMode);
432 virtual void useForceColor();
435 virtual void useDefaultColor();
436 virtual void setSymbolDecorationsVisible(
bool);
437 virtual void setColor(
int rgba);
438 virtual bool colorChanged()
const;
439 virtual bool colorSpecified()
const;
440 virtual int color()
const;
441 virtual void clearColorChanged();
442 virtual void setColor(
float r,
float g,
float b,
float a);
443 virtual bool isPointObject()
const;
446 virtual void setPixelLineWidth(
float);
447 virtual float pixelLineWidth()
const;
449 virtual void setPhysicalLineHeight(
float);
450 virtual float physicalLineHeight()
const;
452 virtual void setOffsetPoints(
const std::vector<DtVector>&);
454 virtual void setPhysicalLineWidth(
float);
455 virtual float physicalLineWidth()
const;
457 virtual bool physicalLineHeightChanged()
const;
458 virtual void clearPhysicalLineHeightChanged();
460 virtual bool physicalLineWidthChanged()
const;
461 virtual void clearPhysicalLineWidthChanged();
463 virtual void setDefaultCeilingHeightIfCeilingIsNotSet(
double);
466 virtual void setForceType(DtForceType);
470 std::vector<T> visualizers;
472 typename std::vector<T>::iterator i = visualizers.begin();
473 typename std::vector<T>::iterator e = visualizers.end();
478 (*i)->setForceColor(color.
R, color.
G, color.
B, color.
A);
484 virtual void selectVertex(
int index,
bool sel);
485 virtual void clearSelectedVertices();
487 virtual DtGeodeticCoord locationFromTopographicOffsetLocation(
const DtGeodeticCoord&
origin,
int index)
const;
494 virtual void setElementDefinition(
const DtEntityType&,
bool preparseOnly =
false);
498 virtual DtVector position(
int index)
const;
501 virtual double altitudeForAltitudeType(
int)
const;
503 virtual void setOrigin(
const DtVector&)
override;
504 virtual void setOrigin(
const DtGeodeticCoord&)
override;
506 virtual void setPoint(
const DtVector&,
int,
bool andUpdateOffset =
true);
507 virtual int addPoint(
const DtVector&,
int index = -1,
bool resetLocation =
true,
bool notifyOfAddedPoint =
false);
508 virtual void setPoints(
const std::vector<DtVector>&,
bool updateOffsets =
true,
bool notifyOfAddedPoint =
false);
509 const std::vector<DtVector>& points()
const;
510 std::vector<DtVector> geocentricPoints()
const;
511 virtual void removePoint(
int);
512 DtGeodeticCoord geodeticPosition(
int)
const;
513 virtual void updateOffsets();
515 virtual DtVector reviseLocation(
int index,
const DtVector& v);
517 void setAltitudeAboveTerrain(
int,
double,
bool resetLocation =
true);
518 double altitudeAboveTerrain(
int = -1)
const;
520 void setAltitudeAboveSeaLevel(
int,
double,
bool resetLocation =
true);
521 double altitudeAboveSeaLevel(
int = -1)
const;
523 int numVertices()
const;
532 virtual void selectPoint(
int);
533 virtual void clearSelectedPoint();
535 int selectedPoint()
const;
537 virtual void setIconScale(
float);
539 virtual bool appearanceChanged()
const;
542 virtual double calculatedHeading()
const;
545 virtual DtVector geometricCenter()
const;
548 virtual DtGeodeticCoord geodeticCenter()
const;
551 virtual std::vector<DtVector> rotatePointsTo(
const std::vector<DtVector>&,
double heading)
const;
555 virtual void setTopographicOrientation(
const DtTaitBryan&)
override;
556 virtual void setLocalOrientation(
const DtTaitBryan&)
override;
559 virtual void updateSymbolRotation(
const DtTaitBryan&);
562 virtual void updateSymbolRotation(
double);
565 virtual void setAltitudeAboveSeaLevel(
double)
override;
566 virtual void setAltitudeAboveTerrain(
double)
override;
568 virtual DtVector localLocation(
const DtGeodeticCoord& geodLocation)
const override;
569 virtual DtVector localLocation()
const override;
572 virtual bool isBox()
const;
575 virtual bool isTextBox()
const;
578 virtual bool isLine()
const;
581 virtual bool isArea()
const;
584 virtual bool isSecurity()
const;
587 virtual bool isUnknown()
const;
590 virtual bool isCircle()
const;
593 virtual bool isWedge()
const;
596 virtual bool isAmbushLine()
const;
599 virtual bool isManeuverByFirePosition()
const;
602 virtual bool isSpiderWeb()
const;
606 virtual bool isEllipse()
const;
610 virtual bool isArc()
const;
612 virtual void setIsClosedFigure(
bool);
613 virtual bool isClosedFigure()
const;
622 virtual void updateHeading();
627 virtual void mergeExtendedData(
const std::map<std::string, std::string>&)
override;
629 virtual void setExtendedData(
const std::map<std::string, std::string>&)
override;
631 virtual std::map<std::string, std::string> extendedData()
const override;
633 virtual void setExtendedLabels(
const std::map<int, DtString>&);
634 virtual std::map<int, DtString> extendedLabels()
const override;
636 virtual void updateOffset(
const DtVector& position,
int i,
bool force =
false);
637 virtual void setAltitudeForPoint(
const DtVector& v,
int index);
646 virtual DtVector setFloorToVertex(
const DtVector&)
const;
648 virtual int clampTypeFor(
int index)
const;
651 virtual DtGeodeticCoord modifyPointByTopographicOffset(
const DtGeodeticCoord&
origin,
const DtVector& topographicOffset)
const override;
660 virtual void setSpiderWebRadius(
double);
666 virtual void finalizeSetup();
667 virtual void preTickSetup();
669 virtual void updateSpiderWebRadius();
673 bool myColorSpecified =
false;
674 float myDefaultColor[4];
739 std::string myDecorationSet =
"defaultTacticalGraphic";
740 std::string myUnitCollection =
"Default";
741 bool myUsingForceColor =
false;
boost::signals2::connection myFinalizeConnection
Definition: environmentalFacadeCollection.h:735
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:676
double myWindSpeed
Definition: environmentalFacadeCollection.h:729
class DtEnvironmentalFacadeCollection
Definition: environmentalFacadeCollection.h:76
int myColor
Definition: environmentalFacadeCollection.h:695
Definition: vrfObjectManipulationHandlerBaseClass.h:55
bool myHatLinesVisible
Definition: environmentalFacadeCollection.h:701
boost::signals2::signal< void(DtEnvironmentalFacadeCollection *)> signal_locationsChanged
Definition: environmentalFacadeCollection.h:653
int penStyle(bool &found) const
Definition: environmentalFacadeCollection.h:291
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:733
bool myAppearanceChanged
Definition: environmentalFacadeCollection.h:699
bool myCeilingSet
Definition: environmentalFacadeCollection.h:707
virtual ~DtExtTacticalGraphicStateListener() override
Definition: environmentalFacadeCollection.h:59
Contains the makVrf::DtEntityFacadeCollection class declaration.
voidpf uLong int origin
Definition: ioapi.h:42
bool myRespectPointAltitudePosition
Definition: environmentalFacadeCollection.h:727
void setForceColor(makVrv::DtVisualizerSet *s, makVrv::DtForceManager::RGBAColor color)
Definition: environmentalFacadeCollection.h:468
virtual void setExtendedData(const std::map< DtString, DtString > &m) override
Definition: environmentalFacadeCollection.h:630
void color(float &r, float &g, float &b, float &a, bool &found) const
Definition: environmentalFacadeCollection.h:315
Definition: DtForceManager.h:44
bool myIsClosedFigure
Definition: environmentalFacadeCollection.h:700
makVrv::DtDe & myDe
Definition: environmentalFacadeCollection.h:66
boost::signals2::signal< void(DtEnvironmentalFacadeCollection *, int, bool)> signal_vertexSelected
Definition: environmentalFacadeCollection.h:654
std::vector< double > myAltitudeAboveSeaLevel
Definition: environmentalFacadeCollection.h:682
ShowHideContext
Definition: DtShowHideContext.h:18
bool myIndicatorsVisible
Definition: environmentalFacadeCollection.h:722
VertexVisibleMode
Definition: environmentalFacadeCollection.h:80
Contains makVrv::DtTacticalGraphicElement class.
bool mySetupNodeMaskFlags
Definition: environmentalFacadeCollection.h:718
makVrv::DtUnicode myElementDefinition
Definition: environmentalFacadeCollection.h:672
char myEnvironmentType
Definition: environmentalFacadeCollection.h:693
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:27
std::vector< double > myAltitudeAboveTerrain
Definition: environmentalFacadeCollection.h:681
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
virtual void setExtendedData(const std::map< std::string, std::string > &)
For subclasses to implement...
Definition: vrfObjectFacadeInterface.h:174
bool myUseHighestTerrainLOD
Definition: environmentalFacadeCollection.h:717
int myDictionaryToDisplay
Definition: environmentalFacadeCollection.h:726
Definition: entityStateListenerExtensions.h:38
const DtExtTacticalGraphicStateListener & listener() const
Definition: environmentalFacadeCollection.h:525
bool floorSet() const
Valid only for areal objects that are volumetric, get/set floor/ceiling of area. Note that any volume...
Definition: environmentalFacadeCollection.h:365
bool myNeedsGeometryUpdate
Definition: environmentalFacadeCollection.h:716
Contains makVrv:DtEnvironmentalIndicatorVisualizer.h class.
A single vertex tactical graphic element. This element requires its own kinematic state object...
Definition: DtVertexTacticalGraphicElement.h:25
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:35
int mySelectedPoint
Definition: environmentalFacadeCollection.h:688
std::vector< int > myClampType
Definition: environmentalFacadeCollection.h:683
double myFloor
Definition: environmentalFacadeCollection.h:704
int myFillStyle
Definition: environmentalFacadeCollection.h:711
boost::signals2::signal< void(DtEnvironmentalFacadeCollection *)> signal_geometryUpdated
Definition: environmentalFacadeCollection.h:655
bool myColorChanged
Definition: environmentalFacadeCollection.h:696
bool myAttached
Definition: environmentalFacadeCollection.h:715
bool myWidgetEventsEnabled
Definition: environmentalFacadeCollection.h:720
Contains makVrv::DtSharedModelSetSettings class.
Contains makVrv:DtTacticalGraphicStateListener class.
Definition: vrfObjectFacadeInterface.h:53
bool myAlwaysRecalculateGeometry
Definition: environmentalFacadeCollection.h:691
The declaration of the makArchives::DtEnvironmentRecord class.
std::vector< DtVector > myTopographicOffsetFromOrigin
Definition: environmentalFacadeCollection.h:690
float B
Definition: DtForceManager.h:56
DtExtTacticalGraphicStateListener(makVrv::DtUniqueID id, makVrv::DtBaseConnection &conn, makVrv::DtDe &de)
Definition: environmentalFacadeCollection.h:57
bool myPhysicalLineWidthChanged
Definition: environmentalFacadeCollection.h:708
Definition: DtIntersector.h:35
bool myDisplayVertices
Definition: environmentalFacadeCollection.h:697
int myAirTurbulence
Definition: environmentalFacadeCollection.h:731
Definition: vrfObjectManipulationHandlerBaseClass.h:60
double myDefaultCeilingHeightIfCeilingIsNotSet
Definition: environmentalFacadeCollection.h:724
double myDefaultWidth
Definition: environmentalFacadeCollection.h:687
NetworkKindToElementTypeMap myElementTypeMappings
Definition: environmentalFacadeCollection.h:738
float R
Definition: DtForceManager.h:56
bool myIsVolumetric
Definition: environmentalFacadeCollection.h:714
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:709
bool myPickable
Definition: environmentalFacadeCollection.h:721
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
DtExtTacticalGraphicStateListener & listener()
Returns the listener of this class.
Definition: environmentalFacadeCollection.h:616
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:40
void setNeedsUpdate(bool b)
Definition: environmentalFacadeCollection.h:624
This contains all the DtVisualizers used to visualize an element in a particular model set...
Definition: DtVisualizerSet.h:31
Definition: environmentalFacadeCollection.h:744
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:757
bool myMaxCeilingOffsetFromFloorSet
Definition: environmentalFacadeCollection.h:734
bool mySymbolDecorationsVisible
Definition: environmentalFacadeCollection.h:723
bool myShapeVerticesDisabled
Definition: environmentalFacadeCollection.h:702
makVrv::DtTacticalGraphicElement * tacticalGraphicElement()
Definition: environmentalFacadeCollection.h:122
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:202
DT_DLL_VRVCORE double length(const makVrv::DtCoordinateSystem &, const std::vector< DtVector > &vertices)
Returns the total distance of a segmented line defined by the provided vector of vertices. Coordinates are in local database coordinates. The coordinate system is used to convert between the local database coordinates and geocentric. All distance is in 2D – the Z value is ignored.
std::map< DtModelSetId, bool > ModelSetVisualizedMap
Definition: DtSharedModelSetSettings.h:28
Definition: vrfObjectManipulationHandlerBaseClass.h:54
float G
Definition: DtForceManager.h:56
std::map< int, makVrv::DtElementEntry::ElementType > NetworkKindToElementTypeMap
Definition: environmentalFacadeCollection.h:737
float A
Definition: DtForceManager.h:56
EnviornmentalTypes
Definition: environmentalFacadeCollection.h:87
void setWidgetEventsEnabled(bool b)
Template to enable mouse events on each visualizer.
Definition: environmentalFacadeCollection.h:343
VertexVisibleMode myShowVertices
Definition: environmentalFacadeCollection.h:698
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:76
Contains makVrv:DtEnvironmentalVisualizerSet class. This class will contain and manage state visualiz...
bool myFloorSet
Definition: environmentalFacadeCollection.h:705
double defaultCeilingHeightIfCeilingIsNotSet()
Definition: environmentalFacadeCollection.h:464
DtModelSetId
Definition: DtModelSetEnums.h:19
bool ceilingSet() const
Valid only for areal objects that are volumetric, get/set floor/ceiling of area. Note that any volume...
Definition: environmentalFacadeCollection.h:374
voidpf uLong offset
Definition: ioapi.h:42
int fillStyle() const
Definition: environmentalFacadeCollection.h:221
bool myNeedsNodeMaskUpdate
Definition: environmentalFacadeCollection.h:719
Definition: environmentalFacadeCollection.h:54
double myArrowSize
Definition: environmentalFacadeCollection.h:713
DtExtTacticalGraphicStateListener * myListener
Aggregate is also an entity state listener, so, it can be used.
Definition: environmentalFacadeCollection.h:680
bool dictionaryToDisplay() const
Definition: environmentalFacadeCollection.h:189
makVrv::DtTacticalGraphicElement * myTacticalGraphicElement
Definition: environmentalFacadeCollection.h:685