17 #include <matrix/vlVector.h>
19 #include <osg/PrimitiveSet>
20 #include <osg/Geometry>
21 #include <osg/Texture>
30 class DtExtrudedLineModelSegmentInstance;
58 virtual const std::vector<DtVector>& points()
const;
61 virtual void addPoint(
const DtVector&,
int index = -1);
64 virtual void removePoint(
int index);
67 virtual void setPosition(
int index,
const DtVector&);
71 virtual void setLinePoints(
const std::vector<DtVector>&);
74 virtual void clearPoints();
87 virtual void setStipplePattern(
unsigned int,
int repeatFactor);
90 virtual std::vector<SegmentInformation> segmentInformation()
const;
95 virtual void setSegmentInformation(
const std::vector<SegmentInformation>&);
98 virtual void setSegmentStipplePattern(
int s,
unsigned int,
int repeatFactor);
101 virtual void setColor(
float r,
float g,
float b,
float a);
104 virtual void setSegmentColor(
int,
float r,
float g,
float b,
float a);
107 virtual void setTextureHeight(
double height);
110 virtual void setTextureWidth(
double width);
123 virtual void setUpExtent(
float height);
126 virtual void setDownExtent(
float height);
129 virtual void setLeftExtent(
float height);
132 virtual void setRightExtent(
float heigh);
136 virtual void setWidth(
float);
140 virtual void setHeight(
float);
143 virtual void setDimensions(
float width,
float height);
147 virtual void setLineWidth(
float width);
150 virtual void setScribed(
bool b);
153 virtual void setScribeWidth(
float);
157 virtual void setScribeColor(
float r,
float g,
float b,
float a);
160 virtual void setOcclusionEnabled(
bool enabled);
166 int pointCount()
const
168 return myLinePoints.size();
175 virtual void setPickable(
bool);
178 bool pickable()
const;
184 virtual void setSolid(
bool);
187 virtual void update();
190 virtual void setSegmentEndArrow(
int,
bool);
193 virtual void setSegmentStartArrow(
int,
bool);
196 virtual void setArrowSize(
double);
210 virtual void setFixedWidthSizing(
bool);
214 virtual void setChannelInstance(
DtChannel*);
217 virtual bool hasArrows()
const;
221 virtual void updateGeometry();
227 virtual void removeSegment(
int);
230 std::vector<DtVector> updatePointsForLineStyle(
const std::vector<DtVector>&, std::vector<int>&)
const;
233 virtual void resizeSegments(
int);
236 virtual void updateArrowState();
239 virtual void updateSizes(
double);
242 virtual void updateWithViewResolution(
double);