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;
102 ManeuverByFirePosition = 12,
116 virtual bool isVisible()
const override;
119 virtual void setUseHighestTerrainLod(
bool);
121 virtual void setHidden(
bool b);
125 return myTacticalGraphicElement;
133 virtual void setRespectPointAltitudePosition(
bool);
134 bool respectPointAltitudePosition()
const;
137 virtual void setIsDecorated(
bool);
140 virtual void setupNodeMaskFlags();
143 virtual std::vector<makVrv::DtUniqueID> modelUniqueIDs()
const;
148 virtual void setIndicatorVisible(
bool);
149 virtual void setIndicatorVisible(
int index,
bool);
151 virtual void setAltitudeToOrigin(
DtVector&)
const;
157 virtual DtVector centerOfMass()
const;
159 virtual void setDisplayName(
const std::string& s);
160 virtual std::string displayName()
const;
162 virtual void setLabel(
const std::string&);
163 virtual std::string label()
const;
166 virtual const std::string& decorationSet()
const;
169 virtual const std::string& unitCollection()
const;
174 virtual void setFormattingData(
const std::string& s);
175 virtual std::string formattingData()
const;
177 virtual void setDropShadow(
bool b);
179 virtual void setOverlayName(
const std::string& s);
180 virtual std::string overlayName()
const;
183 virtual void setHatLineVisible(
bool visible );
184 virtual void setUseHighestTerrainLod(
int vertex,
bool visible );
189 virtual void setDictionaryToDisplay(
int);
194 virtual void setMaxCeilingOffsetFromFloor(
double d);
195 virtual double maxCeilingOffsetFromFloor()
const;
196 virtual void clearMaxCeilingOffsetFromFloor();
202 virtual void setPickable(
bool b);
205 virtual void setSelected(
bool b);
207 virtual const DtEntityType& environmentalType()
const;
210 virtual void setWidgetEventsEnabled(
bool b);
212 virtual void updateSymbolDecorationPosition();
220 virtual void setFillStyle(
int);
224 int style = (
int)myListener.fillStyle();
225 std::vector<T_Class*> visualizers;
226 myTacticalGraphicElement->findVisualizersByDynamicCast(visualizers);
227 typename std::vector<T_Class*>::iterator i =
229 typename std::vector<T_Class*>::iterator e =
236 style = (
int)(*i)->fillStyle();
244 virtual int fillStyle()
const;
248 virtual void setPenStyle(
int);
252 virtual void setPenStyle(
DtString style);
255 virtual int penStyle()
const;
257 virtual double length()
const;
258 virtual double width()
const;
260 virtual void setTopographicOffsetBetweenPoints(
const DtGeodeticCoord&
origin,
const DtGeodeticCoord& originWithOffset,
bool resetLocation =
true);
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();
385 virtual void unrealizeFacades(
bool willRecreate =
false);
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&);
504 virtual void setOrigin(
const DtGeodeticCoord&);
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();
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&);
556 virtual void setLocalOrientation(
const DtTaitBryan&);
559 virtual void updateSymbolRotation(
const DtTaitBryan&);
562 virtual void updateSymbolRotation(
double);
565 virtual void setAltitudeAboveSeaLevel(
double);
566 virtual void setAltitudeAboveTerrain(
double);
568 virtual DtVector localLocation(
const DtGeodeticCoord& geodLocation)
const;
569 virtual DtVector localLocation()
const;
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>&);
629 virtual void setExtendedData(
const std::map<std::string, std::string>&);
630 virtual std::map<std::string, std::string> extendedData()
const;
632 virtual void setExtendedLabels(
const std::map<int, DtString>&);
633 virtual std::map<int, DtString> extendedLabels()
const;
635 virtual void updateOffset(
const DtVector& position,
int i,
bool force =
false);
636 virtual void setAltitudeForPoint(
const DtVector& v,
int index);
647 virtual int clampTypeFor(
int index)
const;
650 virtual DtGeodeticCoord modifyPointByTopographicOffset(
const DtGeodeticCoord&
origin,
const DtVector& topographicOffset)
const override;
659 virtual void setSpiderWebRadius(
double);
665 virtual void finalizeSetup();
666 virtual void preTickSetup();
668 virtual void updateSpiderWebRadius();
672 bool myColorSpecified =
false;
673 float myDefaultColor[4];
738 std::string myDecorationSet =
"defaultTacticalGraphic";
739 std::string myUnitCollection =
"Default";
740 bool myUsingForceColor =
false;
boost::signals2::connection myFinalizeConnection
Definition: environmentalFacadeCollection.h:734
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:675
double myWindSpeed
Definition: environmentalFacadeCollection.h:728
class DtEnvironmentalFacadeCollection
Definition: environmentalFacadeCollection.h:77
int myColor
Definition: environmentalFacadeCollection.h:694
Definition: vrfObjectManipulationHandlerBaseClass.h:55
bool myHatLinesVisible
Definition: environmentalFacadeCollection.h:700
boost::signals2::signal< void(DtEnvironmentalFacadeCollection *)> signal_locationsChanged
Definition: environmentalFacadeCollection.h:652
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:732
bool myAppearanceChanged
Definition: environmentalFacadeCollection.h:698
bool myCeilingSet
Definition: environmentalFacadeCollection.h:706
Contains the makVrf::DtEntityFacadeCollection class declaration.
voidpf uLong int origin
Definition: ioapi.h:42
bool myRespectPointAltitudePosition
Definition: environmentalFacadeCollection.h:726
void setForceColor(makVrv::DtVisualizerSet *s, makVrv::DtForceManager::RGBAColor color)
Definition: environmentalFacadeCollection.h:468
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:699
makVrv::DtDe & myDe
Definition: environmentalFacadeCollection.h:67
boost::signals2::signal< void(DtEnvironmentalFacadeCollection *, int, bool)> signal_vertexSelected
Definition: environmentalFacadeCollection.h:653
std::vector< double > myAltitudeAboveSeaLevel
Definition: environmentalFacadeCollection.h:681
ShowHideContext
Definition: DtShowHideContext.h:18
bool myIndicatorsVisible
Definition: environmentalFacadeCollection.h:721
VertexVisibleMode
Definition: environmentalFacadeCollection.h:81
Contains makVrv::DtTacticalGraphicElement class.
bool mySetupNodeMaskFlags
Definition: environmentalFacadeCollection.h:717
makVrv::DtUnicode myElementDefinition
Definition: environmentalFacadeCollection.h:671
char myEnvironmentType
Definition: environmentalFacadeCollection.h:692
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:680
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
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
bool myUseHighestTerrainLOD
Definition: environmentalFacadeCollection.h:716
int myDictionaryToDisplay
Definition: environmentalFacadeCollection.h:725
Definition: entityStateListenerExtensions.h:36
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:715
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:687
std::vector< int > myClampType
Definition: environmentalFacadeCollection.h:682
double myFloor
Definition: environmentalFacadeCollection.h:703
int myFillStyle
Definition: environmentalFacadeCollection.h:710
boost::signals2::signal< void(DtEnvironmentalFacadeCollection *)> signal_geometryUpdated
Definition: environmentalFacadeCollection.h:654
bool myColorChanged
Definition: environmentalFacadeCollection.h:695
bool myAttached
Definition: environmentalFacadeCollection.h:714
bool myWidgetEventsEnabled
Definition: environmentalFacadeCollection.h:719
Contains makVrv::DtSharedModelSetSettings class.
Contains makVrv:DtTacticalGraphicStateListener class.
Definition: vrfObjectFacadeInterface.h:54
bool myAlwaysRecalculateGeometry
Definition: environmentalFacadeCollection.h:690
The declaration of the makArchives::DtEnvironmentRecord class.
std::vector< DtVector > myTopographicOffsetFromOrigin
Definition: environmentalFacadeCollection.h:689
float B
Definition: DtForceManager.h:56
bool myPhysicalLineWidthChanged
Definition: environmentalFacadeCollection.h:707
Definition: DtIntersector.h:35
bool myDisplayVertices
Definition: environmentalFacadeCollection.h:696
int myAirTurbulence
Definition: environmentalFacadeCollection.h:730
Definition: vrfObjectManipulationHandlerBaseClass.h:60
double myDefaultCeilingHeightIfCeilingIsNotSet
Definition: environmentalFacadeCollection.h:723
double myDefaultWidth
Definition: environmentalFacadeCollection.h:686
NetworkKindToElementTypeMap myElementTypeMappings
Definition: environmentalFacadeCollection.h:737
float R
Definition: DtForceManager.h:56
bool myIsVolumetric
Definition: environmentalFacadeCollection.h:713
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:708
bool myPickable
Definition: environmentalFacadeCollection.h:720
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:743
A single tactical graphic element. A tactical graphic element may be visualized using multiple visual...
Definition: DtTacticalGraphicElement.h:33
Contains makVrv:DtBaseConnection class.
Contains makVrv::DtForceManager class.
makVrv::DtDe & myDe
Definition: environmentalFacadeCollection.h:756
bool myMaxCeilingOffsetFromFloorSet
Definition: environmentalFacadeCollection.h:733
bool mySymbolDecorationsVisible
Definition: environmentalFacadeCollection.h:722
bool myShapeVerticesDisabled
Definition: environmentalFacadeCollection.h:701
makVrv::DtTacticalGraphicElement * tacticalGraphicElement()
Definition: environmentalFacadeCollection.h:123
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:198
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
virtual ~DtExtTacticalGraphicStateListener()
Definition: environmentalFacadeCollection.h:60
float G
Definition: DtForceManager.h:56
std::map< int, makVrv::DtElementEntry::ElementType > NetworkKindToElementTypeMap
Definition: environmentalFacadeCollection.h:736
float A
Definition: DtForceManager.h:56
EnviornmentalTypes
Definition: environmentalFacadeCollection.h:88
void setWidgetEventsEnabled(bool b)
Template to enable mouse events on each visualizer.
Definition: environmentalFacadeCollection.h:343
VertexVisibleMode myShowVertices
Definition: environmentalFacadeCollection.h:697
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:72
Contains makVrv:DtEnvironmentalVisualizerSet class. This class will contain and manage state visualiz...
bool myFloorSet
Definition: environmentalFacadeCollection.h:704
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
DtExtTacticalGraphicStateListener myListener
Aggregate is also an entity state listener, so, it can be used.
Definition: environmentalFacadeCollection.h:679
int fillStyle() const
Definition: environmentalFacadeCollection.h:222
bool myNeedsNodeMaskUpdate
Definition: environmentalFacadeCollection.h:718
Definition: environmentalFacadeCollection.h:55
double myArrowSize
Definition: environmentalFacadeCollection.h:712
bool dictionaryToDisplay() const
Definition: environmentalFacadeCollection.h:190
makVrv::DtTacticalGraphicElement * myTacticalGraphicElement
Definition: environmentalFacadeCollection.h:684