16 #include <osg/Texture>
20 class DtSegmentedLine;
21 class DtChannelManager;
59 virtual void setPosition(
int vtx,
const DtVector& position );
62 virtual void removePosition(
int vtx );
65 virtual void setWidth(
float width);
68 virtual void setColor(
float r,
float g,
float b,
float a);
71 virtual void setStipplePattern(
unsigned int pattern,
int repeatFactor );
75 virtual void setStyleSegments(
const std::vector<double>& segmentPercentages);
78 virtual void setSegmentColor(
unsigned int segmentIndex,
79 float r,
float g,
float b,
float a);
82 virtual void setSegmentLightningStyle(
unsigned int segmentIndex,
83 bool enableLightningStyle);
86 virtual void setSegmentStartArrow(
unsigned int segmentIndex,
90 virtual void setSegmentEndArrow(
unsigned int segmentIndex,
95 virtual void setSegmentStipplePattern(
unsigned int segmentIndex,
96 unsigned int stipplePattern,
int repeatFactor);
99 virtual void setSegmentWidth(
unsigned int segmentIndex,
double width);
103 virtual void setSegmentStartColor(
unsigned int segmentIndex,
float r,
104 float g,
float b,
float a );
108 virtual void setSegmentEndColor(
unsigned int segmentIndex,
float r,
109 float g,
float b,
float a );
113 virtual void setModelSet(
int modelSet );
120 virtual void setVisible(
bool isVisible);
123 virtual void setEventsEnabled(
bool enabled,
unsigned long long userData );
126 virtual void setEventWidth(
float width);
129 virtual void update();
132 virtual void setRotation(
const osg::Quat& quat);
135 virtual void setArrowSize(
double);
147 virtual bool isTextured()
const;
151 virtual void setFixedWidthSizing(
bool);
155 virtual void setGroup(
int );
160 virtual void setChannelInstance(
DtChannel*,
int modelSet);
163 virtual const std::vector<DtVector>& points()
const;
166 virtual void setPoints(
const std::vector<DtVector>&);
177 virtual void updateGeometry();
181 virtual void updateSegmentsWithArrows(
const std::vector<DtVector>& pts,
182 std::vector<DtVector>& drawPoints, std::vector<DtVector>& twodOffsets);
198 virtual void createLineIfNecessary();
201 virtual void updateSegments();
204 virtual void updateGeometryForLineStyle();
207 virtual void resizeSegmentAttributes(
int size );
210 virtual void set3DVertexPosition(
unsigned int index,
double x,
double y,
214 virtual void set3DPositionAux(
double x,
double y,
double z,
215 float tempPackedCoords[4] );
221 void updatePointsForLineStyle(
const std::vector<DtVector>&, std::vector<DtVector>& drawPoints,
222 std::vector<DtVector>& twodOffsets, std::vector<int>& segmentsToErase)
const;
Diagonal crossing liens.
Definition: DtTacticalGraphicUtilities.h:93
Points myVertices
Definition: DtOverlaySegmentedLineModelInstance.h:232
osg::ref_ptr< osg::Texture > myTexture
Definition: DtOverlaySegmentedLineModelInstance.h:257
std::vector< double > mySegmentPercentages
Definition: DtOverlaySegmentedLineModelInstance.h:244
float width
Definition: DtOverlaySegmentedLineModelInstance.h:32
unsigned int myModelSet
Definition: DtOverlaySegmentedLineModelInstance.h:236
double myArrowSize
Definition: DtOverlaySegmentedLineModelInstance.h:254
Points myPoints
Definition: DtOverlaySegmentedLineModelInstance.h:231
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
unsigned int myStipplePattern
Definition: DtOverlaySegmentedLineModelInstance.h:242
DtSegmentedLine * myLine
Definition: DtOverlaySegmentedLineModelInstance.h:237
Model instance to draw a 3D line with styleable segments onto the 2D overlay.
Definition: DtOverlaySegmentedLineModelInstance.h:27
voidpf void uLong size
Definition: ioapi.h:39
float myEventWidth
Definition: DtOverlaySegmentedLineModelInstance.h:245
bool myVisible
Definition: DtOverlaySegmentedLineModelInstance.h:238
Contains makVrv:DtTacticalGraphicModelUpdaterManager.
bool myFixedWidthSizing
Definition: DtOverlaySegmentedLineModelInstance.h:260
LineStyle
Default line Styles.
Definition: DtTacticalGraphicUtilities.h:26
A model definition Interaction any number of named parameters, and also can be used to store cached d...
Definition: DtModelDefinition.h:33
Contains makVrv::DtOsgModelInstance class.
vrvTacticalGraphicUtilities::LineStyle myLineStyle
Definition: DtOverlaySegmentedLineModelInstance.h:259
The abstract Channel Class.
Definition: DtChannel.h:29
bool myGeometryDirty
Definition: DtOverlaySegmentedLineModelInstance.h:247
Structure used to supply data to callback.
Definition: DtTacticalGraphicModelUpdaterManager.h:35
bool endArrow
Definition: DtOverlaySegmentedLineModelInstance.h:35
osg::Quat myRotation
Definition: DtOverlaySegmentedLineModelInstance.h:252
The base class for simple OSG based model instances.
Definition: DtOsgModelInstance.h:72
int startArrowSegments
Definition: DtOverlaySegmentedLineModelInstance.h:44
osg::Vec3d myOrigin
Definition: DtOverlaySegmentedLineModelInstance.h:251
vrvTacticalGraphicUtilities::ArrowStyle myArrowStyle
Definition: DtOverlaySegmentedLineModelInstance.h:255
ArrowStyle
Definition: DtTacticalGraphicUtilities.h:43
bool startArrow
Definition: DtOverlaySegmentedLineModelInstance.h:34
std::vector< int > mySegmentsToErase
Definition: DtOverlaySegmentedLineModelInstance.h:261
Points my2DOffsets
Definition: DtOverlaySegmentedLineModelInstance.h:233
int myStippleRepeat
Definition: DtOverlaySegmentedLineModelInstance.h:243
bool lightning
Definition: DtOverlaySegmentedLineModelInstance.h:36
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
int group
Definition: DtOverlaySegmentedLineModelInstance.h:33
osg::Vec4 myColor
Definition: DtOverlaySegmentedLineModelInstance.h:240
unsigned int stipplePattern
Definition: DtOverlaySegmentedLineModelInstance.h:37
int myGroup
Definition: DtOverlaySegmentedLineModelInstance.h:264
int endArrowSegments
Number of start and end arrow segments.
Definition: DtOverlaySegmentedLineModelInstance.h:43
std::vector< SegmentAttributes > SegmentAttributesVector
Vector of segment information.
Definition: DtOverlaySegmentedLineModelInstance.h:48
Definition: DtOverlaySegmentedLineModelInstance.h:30
DtChannel * myChannelInstance
Definition: DtOverlaySegmentedLineModelInstance.h:263
std::vector< DtVector > Points
Definition: DtOverlaySegmentedLineModelInstance.h:228
bool myEventsEnabled
Definition: DtOverlaySegmentedLineModelInstance.h:249
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
A convex polygon drawn using lines.
Definition: DtSegmentedLine.h:24
bool mySegmentsDirty
Definition: DtOverlaySegmentedLineModelInstance.h:248
int stippleRepeat
Definition: DtOverlaySegmentedLineModelInstance.h:38
SegmentAttributesVector mySegmentAttributes
Definition: DtOverlaySegmentedLineModelInstance.h:235
float myWidth
Definition: DtOverlaySegmentedLineModelInstance.h:241
DtUniqueID mySceneObjectId
Definition: DtOverlaySegmentedLineModelInstance.h:226