17 #include <osg/Texture>
21 class DtSegmentedLine;
22 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);
156 virtual void setChannelInstance(
DtChannel*,
int modelSet);
159 virtual const std::vector<DtVector>& points()
const;
162 virtual void setPoints(
const std::vector<DtVector>&);
174 virtual void updateSegmentsWithArrows(
const std::vector<DtVector>& pts,
175 std::vector<DtVector>& drawPoints, std::vector<DtVector>& twodOffsets);
191 virtual void createLineIfNecessary();
194 virtual void updateSegments();
197 virtual void updateGeometry();
200 virtual void updateGeometryForLineStyle();
203 virtual void resizeSegmentAttributes(
int size );
206 virtual void set3DVertexPosition(
unsigned int index,
double x,
double y,
210 virtual void set3DPositionAux(
double x,
double y,
double z,
211 float tempPackedCoords[4] );
217 void updatePointsForLineStyle(
const std::vector<DtVector>&, std::vector<DtVector>& drawPoints,
218 std::vector<DtVector>& twodOffsets, std::vector<int>& segmentsToErase)
const;