16 #include <osg/Texture>
20 class DtSegmentedLine;
21 class DtChannelManager;
50 typedef std::vector<DtVector>
Points;
74 virtual void setPosition(
int vtx,
const DtVector& position );
77 virtual void removePosition(
int vtx );
80 virtual void setWidth(
float width);
83 virtual void setColor(
float r,
float g,
float b,
float a);
86 virtual void setStipplePattern(
unsigned int pattern,
int repeatFactor );
90 virtual void setStyleSegments(
const std::vector<double>& segmentPercentages);
93 virtual void setSegmentColor(
unsigned int segmentIndex,
94 float r,
float g,
float b,
float a);
97 virtual void setSegmentLightningStyle(
unsigned int segmentIndex,
98 bool enableLightningStyle);
101 virtual void setSegmentStartArrow(
unsigned int segmentIndex,
105 virtual void setSegmentEndArrow(
unsigned int segmentIndex,
110 virtual void setSegmentStipplePattern(
unsigned int segmentIndex,
111 unsigned int stipplePattern,
int repeatFactor);
114 virtual void setSegmentWidth(
unsigned int segmentIndex,
double width);
118 virtual void setSegmentStartColor(
unsigned int segmentIndex,
float r,
119 float g,
float b,
float a );
123 virtual void setSegmentEndColor(
unsigned int segmentIndex,
float r,
124 float g,
float b,
float a );
128 virtual void setModelSet(
int modelSet );
136 virtual void setVisible(
bool isVisible);
139 virtual void setEventsEnabled(
bool enabled,
unsigned long long userData );
142 virtual void setEventWidth(
float width);
145 virtual void update();
148 virtual void setRotation(
const osg::Quat& quat);
151 virtual void setArrowSize(
double);
163 virtual bool isTextured()
const;
167 virtual void setFixedWidthSizing(
bool);
171 virtual void setGroup(
int );
176 virtual void setChannelInstance(
DtChannel*,
int modelSet);
179 virtual const std::vector<DtVector>& points()
const;
182 virtual void setPoints(
const std::vector<DtVector>&);
193 virtual void updateGeometry();
197 virtual void updateSegmentsWithArrows(
const std::vector<DtVector>& pts,
198 std::vector<DtVector>& drawPoints, std::vector<DtVector>& twodOffsets);
203 virtual void createLineIfNecessary();
206 virtual void updateSegments();
209 virtual void updateGeometryForLineStyle();
212 virtual void resizeSegmentAttributes(
int size );
215 virtual void set3DVertexPosition(
unsigned int index,
double x,
double y,
219 virtual void set3DPositionAux(
double x,
double y,
double z,
220 float tempPackedCoords[4] );
226 void updatePointsForLineStyle(
const std::vector<DtVector>&, std::vector<DtVector>& drawPoints,
227 std::vector<DtVector>& twodOffsets, std::vector<int>& segmentsToErase)
const;
Diagonal crossing liens.
Definition: DtTacticalGraphicUtilities.h:93
Points myVertices
Definition: DtOverlaySegmentedLineModelInstance.h:235
osg::ref_ptr< osg::Texture > myTexture
Definition: DtOverlaySegmentedLineModelInstance.h:260
std::vector< double > mySegmentPercentages
Definition: DtOverlaySegmentedLineModelInstance.h:247
float width
Definition: DtOverlaySegmentedLineModelInstance.h:32
unsigned int myModelSet
Definition: DtOverlaySegmentedLineModelInstance.h:239
double myArrowSize
Definition: DtOverlaySegmentedLineModelInstance.h:257
Points myPoints
Definition: DtOverlaySegmentedLineModelInstance.h:234
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
unsigned int myStipplePattern
Definition: DtOverlaySegmentedLineModelInstance.h:245
DtSegmentedLine * myLine
Definition: DtOverlaySegmentedLineModelInstance.h:240
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:248
bool myVisible
Definition: DtOverlaySegmentedLineModelInstance.h:241
Contains makVrv:DtTacticalGraphicModelUpdaterManager.
bool myFixedWidthSizing
Definition: DtOverlaySegmentedLineModelInstance.h:263
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:38
Contains makVrv::DtOsgModelInstance class.
vrvTacticalGraphicUtilities::LineStyle myLineStyle
Definition: DtOverlaySegmentedLineModelInstance.h:262
The abstract Channel Class.
Definition: DtChannel.h:30
bool myGeometryDirty
Definition: DtOverlaySegmentedLineModelInstance.h:250
Structure used to supply data to callback.
Definition: DtTacticalGraphicModelUpdaterManager.h:35
bool endArrow
Definition: DtOverlaySegmentedLineModelInstance.h:35
osg::Quat myRotation
Definition: DtOverlaySegmentedLineModelInstance.h:255
The base class for simple OSG based model instances.
Definition: DtOsgModelInstance.h:76
int startArrowSegments
Definition: DtOverlaySegmentedLineModelInstance.h:44
osg::Vec3d myOrigin
Definition: DtOverlaySegmentedLineModelInstance.h:254
vrvTacticalGraphicUtilities::ArrowStyle myArrowStyle
Definition: DtOverlaySegmentedLineModelInstance.h:258
ArrowStyle
Definition: DtTacticalGraphicUtilities.h:43
bool startArrow
Definition: DtOverlaySegmentedLineModelInstance.h:34
std::vector< int > mySegmentsToErase
Definition: DtOverlaySegmentedLineModelInstance.h:264
Points my2DOffsets
Definition: DtOverlaySegmentedLineModelInstance.h:236
int myStippleRepeat
Definition: DtOverlaySegmentedLineModelInstance.h:246
bool lightning
Definition: DtOverlaySegmentedLineModelInstance.h:36
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
int group
Definition: DtOverlaySegmentedLineModelInstance.h:33
osg::Vec4 myColor
Definition: DtOverlaySegmentedLineModelInstance.h:243
unsigned int stipplePattern
Definition: DtOverlaySegmentedLineModelInstance.h:37
int myGroup
Definition: DtOverlaySegmentedLineModelInstance.h:267
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:266
std::vector< DtVector > Points
Definition: DtOverlaySegmentedLineModelInstance.h:50
bool myEventsEnabled
Definition: DtOverlaySegmentedLineModelInstance.h:252
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:251
int stippleRepeat
Definition: DtOverlaySegmentedLineModelInstance.h:38
SegmentAttributesVector mySegmentAttributes
Definition: DtOverlaySegmentedLineModelInstance.h:238
float myWidth
Definition: DtOverlaySegmentedLineModelInstance.h:244
DtUniqueID mySceneObjectId
Definition: DtOverlaySegmentedLineModelInstance.h:231