29 class DtSegmentedLineInterface;
30 class DtChannelManager;
32 class DtTextureInterface;
60 typedef std::vector<DtVector>
Points;
84 virtual void setPosition(
int vtx,
const DtVector& position );
87 virtual DtVector position(
int vtx = 0)
const;
90 virtual void removePosition(
int vtx );
93 virtual void setWidth(
float width);
96 virtual void setMeasurementTextFont(
const std::string& fontFile,
float pointSize);
99 virtual void setMeasurementTextColor(
float r,
float g,
float b,
float a);
102 virtual void setMeasurementTextBackgroundColor(
float r,
float g,
float b,
float a);
105 virtual void setColor(
float r,
float g,
float b,
float a);
107 virtual void setIsScreenSpaceBasedRenderingForMeasurementTextEnabled(
bool);
109 virtual void setAreSmartDistancesForMeasurementTextEnabled(
bool);
112 virtual void setMeasurementTextOffset(
int x,
int y);
115 virtual void setStipplePattern(
unsigned int pattern,
int repeatFactor );
119 virtual void setStyleSegments(
const std::vector<double>& segmentPercentages);
122 virtual void setSegmentColor(
unsigned int segmentIndex,
123 float r,
float g,
float b,
float a);
126 virtual void setSegmentLightningStyle(
unsigned int segmentIndex,
127 bool enableLightningStyle);
130 virtual void setSegmentStartArrow(
unsigned int segmentIndex,
134 virtual void setSegmentEndArrow(
unsigned int segmentIndex,
139 virtual void setSegmentStipplePattern(
unsigned int segmentIndex,
140 unsigned int stipplePattern,
int repeatFactor);
143 virtual void setSegmentWidth(
unsigned int segmentIndex,
double width);
147 virtual void setSegmentStartColor(
unsigned int segmentIndex,
float r,
148 float g,
float b,
float a );
152 virtual void setSegmentEndColor(
unsigned int segmentIndex,
float r,
153 float g,
float b,
float a );
165 virtual void setVisible(
bool isVisible);
168 virtual void setEventsEnabled(
bool enabled,
unsigned long long userData );
171 virtual void setEventWidth(
float width);
174 virtual void update();
179 virtual void setIsSuppressMagneticNorthNotationEnabled(
bool isEnabled);
180 virtual bool isSuppressMagneticNorthNotationEnabled()
const;
193 virtual void setNorthUnitNotation(
const DtUnicode& notation);
194 virtual DtUnicode northUnitNotation()
const;
207 virtual void setDistanceUnitNotation(
const DtUnicode& notation);
208 virtual DtUnicode distanceUnitNotation()
const;
214 virtual void setDistanceDecimals(
unsigned int decimals);
215 virtual unsigned int distanceDecimals()
const;
228 virtual void setOrientationUnitNotation(
const DtUnicode& notation);
229 virtual DtUnicode orientationUnitNotation()
const;
235 virtual void setOrientationDecimals(
unsigned int decimals);
236 virtual unsigned int orientationDecimals()
const;
240 virtual void setRotation(
const DtQuat& quat);
243 virtual void setArrowSize(
double);
256 virtual void setTexture( std::string& textureFileName );
264 virtual bool isTextured()
const;
268 virtual void setFixedWidthSizing(
bool);
272 virtual void setGroup(
int );
280 virtual const std::vector<DtVector>& points()
const;
283 virtual void setPoints(
const std::vector<DtVector>&);
294 virtual void updateGeometry();
300 virtual bool isMeasurementTextRenderingEnabled()
const;
301 virtual void setIsMeasurementTextRenderingEnabled(
bool isMeasurementTextRenderingEnabled);
304 virtual void setOverlay(
unsigned int overlayId);
307 virtual void deleteSegmentLabels();
311 virtual void updateSegmentsWithArrows(
const std::vector<DtVector>& pts,
312 std::vector<DtVector>& drawPoints, std::vector<DtVector>& twodOffsets);
317 virtual void createLineIfNecessary();
320 virtual void updateSegments();
323 virtual void updateLabels();
326 virtual void createSegmentLabels();
329 virtual void updateGeometryForLineStyle();
332 virtual void resizeSegmentAttributes(
int size );
335 virtual void set3DVertexPosition(
unsigned int index,
double x,
double y,
339 virtual void set3DPositionAux(
double x,
double y,
double z,
340 float tempPackedCoords[4] );
346 void updatePointsForLineStyle(
const std::vector<DtVector>&, std::vector<DtVector>& drawPoints,
347 std::vector<DtVector>& twodOffsets, std::vector<int>& segmentsToErase)
const;
350 virtual void slot_onCoordinateSystemChanged();
DtSharedDisplayUnitsSettings::DistanceUnits myDistanceUnitToUse
Definition: DtOverlaySegmentedLineModelInstance.h:416
bool myIsScreenSpaceBasedRenderingForMeasurementTextEnabled
Definition: DtOverlaySegmentedLineModelInstance.h:370
Points myVertices
Definition: DtOverlaySegmentedLineModelInstance.h:360
The base class for all model instances.
Definition: DtModelInstance.h:41
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
std::vector< double > mySegmentPercentages
Definition: DtOverlaySegmentedLineModelInstance.h:384
DtVector4< float > myMeasurementTextBackgroundColor
Definition: DtOverlaySegmentedLineModelInstance.h:378
DtSharedDisplayUnitsSettings::NorthUnits myNorthToUse
Definition: DtOverlaySegmentedLineModelInstance.h:420
float width
Definition: DtOverlaySegmentedLineModelInstance.h:42
DtQuat myRotation
Definition: DtOverlaySegmentedLineModelInstance.h:392
double myArrowSize
Definition: DtOverlaySegmentedLineModelInstance.h:394
Points myPoints
Definition: DtOverlaySegmentedLineModelInstance.h:359
DtModelSetId myModelSet
Definition: DtOverlaySegmentedLineModelInstance.h:364
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
DtVector4< float > myColor
Definition: DtOverlaySegmentedLineModelInstance.h:380
unsigned int myStipplePattern
Definition: DtOverlaySegmentedLineModelInstance.h:382
Model instance to draw a 3D line with styleable segments onto the 2D overlay.
Definition: DtOverlaySegmentedLineModelInstance.h:37
voidpf void uLong size
Definition: ioapi.h:39
float myEventWidth
Definition: DtOverlaySegmentedLineModelInstance.h:385
double myMinimumForMeasurementTextMaximumWorldWidth
Definition: DtOverlaySegmentedLineModelInstance.h:375
DtSignalConnectionManager myConnections
Definition: DtOverlaySegmentedLineModelInstance.h:355
bool myVisible
Definition: DtOverlaySegmentedLineModelInstance.h:366
NorthUnits
Enumeration of the different north units.
Definition: DtDisplayUnitsSettingsRecord.h:151
Contains makVrv:DtTacticalGraphicModelUpdaterManager.
Interface for a texture. Used to pass in a texture to vrvGraphics.
Definition: DtTextureInterface.h:24
bool myFixedWidthSizing
Definition: DtOverlaySegmentedLineModelInstance.h:400
DtTextureInterface * myTexture
Definition: DtOverlaySegmentedLineModelInstance.h:397
int myMeasurementTextOffsetX
Definition: DtOverlaySegmentedLineModelInstance.h:371
LineStyle
Default line Styles.
Definition: DtTacticalGraphicUtilities.h:28
A model definition Interaction any number of named parameters, and also can be used to store cached d...
Definition: DtModelDefinition.h:42
Contains makVrv::DtOsgModelInstance class.
vrvTacticalGraphicUtilities::LineStyle myLineStyle
Definition: DtOverlaySegmentedLineModelInstance.h:399
DistanceUnits
Enumeration of the different distance units.
Definition: DtDisplayUnitsSettingsRecord.h:57
DtVector myOrigin
Definition: DtOverlaySegmentedLineModelInstance.h:391
An interface for a convex polygon drawn using lines.
Definition: DtSegmentedLineInterface.h:25
Contains the DtSharedDisplayUnitsSettings class declaration.
The abstract Channel Class.
Definition: DtChannel.h:35
DtCoordinateSystem * myCoordinateSystem
Definition: DtOverlaySegmentedLineModelInstance.h:356
bool myGeometryDirty
Definition: DtOverlaySegmentedLineModelInstance.h:387
Structure used to supply data to callback. Provided as structure as contents could change over time...
Definition: DtTacticalGraphicModelUpdaterManager.h:37
int myMeasurementTextOffsetY
Definition: DtOverlaySegmentedLineModelInstance.h:372
bool endArrow
Definition: DtOverlaySegmentedLineModelInstance.h:45
unsigned int myDistanceDecimalsToUse
Definition: DtOverlaySegmentedLineModelInstance.h:418
int startArrowSegments
Definition: DtOverlaySegmentedLineModelInstance.h:54
vrvTacticalGraphicUtilities::ArrowStyle myArrowStyle
Definition: DtOverlaySegmentedLineModelInstance.h:395
bool myAreSmartDistancesForMeasurementTextEnabled
Definition: DtOverlaySegmentedLineModelInstance.h:369
ArrowStyle
Definition: DtTacticalGraphicUtilities.h:46
DtSharedDisplayUnitsSettings::OrientationUnits myOrientationUnitToUse
Definition: DtOverlaySegmentedLineModelInstance.h:412
DtUnicode myOrientationUnitNotation
Definition: DtOverlaySegmentedLineModelInstance.h:413
unsigned int myOverlay
Definition: DtOverlaySegmentedLineModelInstance.h:408
std::string myMeasurementTextFontFile
Definition: DtOverlaySegmentedLineModelInstance.h:374
bool startArrow
Definition: DtOverlaySegmentedLineModelInstance.h:44
std::vector< int > mySegmentsToErase
Definition: DtOverlaySegmentedLineModelInstance.h:401
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Contains makVrv::DtQuat class.
Contains the makVrv::DtQuadProxyInterface class declaration.
bool myIsMeasurementTextRenderingEnabled
Definition: DtOverlaySegmentedLineModelInstance.h:368
Points my2DOffsets
Definition: DtOverlaySegmentedLineModelInstance.h:361
DtUnicode myNorthNotation
Definition: DtOverlaySegmentedLineModelInstance.h:421
int myStippleRepeat
Definition: DtOverlaySegmentedLineModelInstance.h:383
bool lightning
Definition: DtOverlaySegmentedLineModelInstance.h:46
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
int group
Definition: DtOverlaySegmentedLineModelInstance.h:43
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:40
OrientationUnits
Enumeration of the different orientation units.
Definition: DtDisplayUnitsSettingsRecord.h:102
unsigned int stipplePattern
Definition: DtOverlaySegmentedLineModelInstance.h:47
int myGroup
Definition: DtOverlaySegmentedLineModelInstance.h:404
std::vector< DtQuadProxyInterface * > myLabelBackgrounds
Definition: DtOverlaySegmentedLineModelInstance.h:406
int endArrowSegments
Number of start and end arrow segments. Calculated during geometry creation.
Definition: DtOverlaySegmentedLineModelInstance.h:53
std::vector< DtTextProxyInterface * > myLabels
Definition: DtOverlaySegmentedLineModelInstance.h:407
bool mySuppressMagneticNorthNotationEnabled
Definition: DtOverlaySegmentedLineModelInstance.h:410
unsigned int myOrientationDecimalsToUse
Definition: DtOverlaySegmentedLineModelInstance.h:414
Base class to provide boost signal/slot management.
float myMeasurementTextFontPointSize
Definition: DtOverlaySegmentedLineModelInstance.h:376
std::vector< SegmentAttributes > SegmentAttributesVector
Vector of segment information.
Definition: DtOverlaySegmentedLineModelInstance.h:58
Definition: DtOverlaySegmentedLineModelInstance.h:40
Contains makVrv::DtTextProxyInterface class declaration.
DtChannel * myChannelInstance
Definition: DtOverlaySegmentedLineModelInstance.h:403
std::vector< DtVector > Points
Definition: DtOverlaySegmentedLineModelInstance.h:60
DtVector4< float > myMeasurementTextColor
Definition: DtOverlaySegmentedLineModelInstance.h:377
bool myEventsEnabled
Definition: DtOverlaySegmentedLineModelInstance.h:389
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
DtSegmentedLineInterface * myLineInterface
Definition: DtOverlaySegmentedLineModelInstance.h:365
A utility Quaternion class.
Definition: DtQuat.h:19
bool mySegmentsDirty
Definition: DtOverlaySegmentedLineModelInstance.h:388
int stippleRepeat
Definition: DtOverlaySegmentedLineModelInstance.h:48
DtModelSetId
Definition: DtModelSetEnums.h:19
SegmentAttributesVector mySegmentAttributes
Definition: DtOverlaySegmentedLineModelInstance.h:363
float myWidth
Definition: DtOverlaySegmentedLineModelInstance.h:381
DtUniqueID mySceneObjectId
Definition: DtOverlaySegmentedLineModelInstance.h:353
DtUnicode myDistanceUnitNotation
Definition: DtOverlaySegmentedLineModelInstance.h:417