17 #include <matrix/vlVector.h>
19 #include <osg/PrimitiveSet>
20 #include <osg/Geometry>
21 #include <osg/Texture>
30 class DtExtrudedLineModelSegmentInstance;
56 virtual const std::vector<DtVector>& linePoints()
const;
59 virtual void addPoint(
const DtVector&,
int index = -1);
62 virtual void removePoint(
int index);
65 virtual void setPosition(
int index,
const DtVector&);
69 virtual void setLinePoints(
const std::vector<DtVector>&);
72 virtual void clearPoints();
85 virtual void setStipplePattern(
unsigned int,
int repeatFactor);
88 virtual std::vector<SegmentInformation> segmentInformation()
const;
93 virtual void setSegmentInformation(
const std::vector<SegmentInformation>&);
96 virtual void setSegmentStipplePattern(
int s,
unsigned int,
int repeatFactor);
99 virtual void setColor(
float r,
float g,
float b,
float a);
102 virtual void setSegmentColor(
int,
float r,
float g,
float b,
float a);
105 virtual void setTextureHeight(
double height);
108 virtual void setTextureWidth(
double width);
114 virtual void setUpExtent(
float height);
117 virtual void setDownExtent(
float height);
120 virtual void setLeftExtent(
float height);
123 virtual void setRightExtent(
float heigh);
126 virtual void setWidth(
float);
130 virtual void setHeight(
float);
133 virtual void setDimensions(
float width,
float height);
137 virtual void setLineWidth(
float width);
140 virtual void setScribed(
bool b);
144 virtual void setScribeColor(
float r,
float g,
float b,
float a);
147 virtual void setScribeOccluded(
bool b);
150 virtual void setOcclusionEnabled(
bool enabled);
156 int pointCount()
const
158 return myLinePoints.size();
165 virtual void setPickable(
bool);
168 bool pickable()
const;
171 void setOrigin(
const DtVector& origin);
174 virtual void setSolid(
bool);
177 virtual void update();
180 virtual void setSegmentEndArrow(
int,
bool);
183 virtual void setSegmentStartArrow(
int,
bool);
186 virtual void setArrowSize(
double);
200 virtual void setFixedWidthSizing(
bool);
204 virtual void setChannelInstance(
DtChannel*);
208 virtual void updateGeometry();
214 virtual void removeSegment(
int);
217 std::vector<DtVector> updatePointsForLineStyle(
const std::vector<DtVector>&, std::vector<int>&)
const;
220 virtual void resizeSegments(
int);
223 virtual void updateArrowState();
226 virtual void updateSizes(
double);
229 virtual void updateWithViewResolution(
double);