17 #include <osg/Texture>
21 class DtSegmentedLine;
22 class DtChannelManager;
60 virtual void setPosition(
int vtx,
const DtVector& position );
63 virtual void removePosition(
int vtx );
66 virtual void setWidth(
float width);
69 virtual void setColor(
float r,
float g,
float b,
float a);
72 virtual void setStipplePattern(
unsigned int pattern,
int repeatFactor );
76 virtual void setStyleSegments(
const std::vector<double>& segmentPercentages);
79 virtual void setSegmentColor(
unsigned int segmentIndex,
80 float r,
float g,
float b,
float a);
83 virtual void setSegmentLightningStyle(
unsigned int segmentIndex,
84 bool enableLightningStyle);
87 virtual void setSegmentStartArrow(
unsigned int segmentIndex,
91 virtual void setSegmentEndArrow(
unsigned int segmentIndex,
96 virtual void setSegmentStipplePattern(
unsigned int segmentIndex,
97 unsigned int stipplePattern,
int repeatFactor);
100 virtual void setSegmentWidth(
unsigned int segmentIndex,
double width);
104 virtual void setSegmentStartColor(
unsigned int segmentIndex,
float r,
105 float g,
float b,
float a );
109 virtual void setSegmentEndColor(
unsigned int segmentIndex,
float r,
110 float g,
float b,
float a );
114 virtual void setModelSet(
int modelSet );
121 virtual void setVisible(
bool isVisible);
124 virtual void setEventsEnabled(
bool enabled,
unsigned long long userData );
127 virtual void setEventWidth(
float width);
130 virtual void update();
133 virtual void setRotation(
const osg::Quat& quat);
136 virtual void setArrowSize(
double);
148 virtual bool isTextured()
const;
152 virtual void setFixedWidthSizing(
bool);
156 virtual void setGroup(
int );
161 virtual void setChannelInstance(
DtChannel*,
int modelSet);
164 virtual const std::vector<DtVector>& points()
const;
167 virtual void setPoints(
const std::vector<DtVector>&);
179 virtual void updateSegmentsWithArrows(
const std::vector<DtVector>& pts,
180 std::vector<DtVector>& drawPoints, std::vector<DtVector>& twodOffsets);
196 virtual void createLineIfNecessary();
199 virtual void updateSegments();
202 virtual void updateGeometry();
205 virtual void updateGeometryForLineStyle();
208 virtual void resizeSegmentAttributes(
int size );
211 virtual void set3DVertexPosition(
unsigned int index,
double x,
double y,
215 virtual void set3DPositionAux(
double x,
double y,
double z,
216 float tempPackedCoords[4] );
222 void updatePointsForLineStyle(
const std::vector<DtVector>&, std::vector<DtVector>& drawPoints,
223 std::vector<DtVector>& twodOffsets, std::vector<int>& segmentsToErase)
const;