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);
116 virtual void setUpExtent(
float height);
119 virtual void setDownExtent(
float height);
122 virtual void setLeftExtent(
float height);
125 virtual void setRightExtent(
float heigh);
128 virtual void setWidth(
float);
132 virtual void setHeight(
float);
135 virtual void setDimensions(
float width,
float height);
139 virtual void setLineWidth(
float width);
142 virtual void setScribed(
bool b);
146 virtual void setScribeColor(
float r,
float g,
float b,
float a);
149 virtual void setScribeOccluded(
bool b);
152 virtual void setOcclusionEnabled(
bool enabled);
158 int pointCount()
const
160 return myLinePoints.size();
167 virtual void setPickable(
bool);
170 bool pickable()
const;
173 void setOrigin(
const DtVector& origin);
176 virtual void setSolid(
bool);
179 virtual void update();
182 virtual void setSegmentEndArrow(
int,
bool);
185 virtual void setSegmentStartArrow(
int,
bool);
188 virtual void setArrowSize(
double);
202 virtual void setFixedWidthSizing(
bool);
206 virtual void setChannelInstance(
DtChannel*);
209 virtual bool hasArrows()
const;
213 virtual void updateGeometry();
219 virtual void removeSegment(
int);
222 std::vector<DtVector> updatePointsForLineStyle(
const std::vector<DtVector>&, std::vector<int>&)
const;
225 virtual void resizeSegments(
int);
228 virtual void updateArrowState();
231 virtual void updateSizes(
double);
234 virtual void updateWithViewResolution(
double);