15 #include <matrix/vlVector.h>
17 #include <osg/PrimitiveSet>
18 #include <osg/Geometry>
31 class DtOsgSegmentPickable;
55 virtual const PointVector& points()
const;
58 virtual void addPoint(
const DtVector&,
int index = -1);
61 virtual void removePoint(
int index);
64 virtual void setPosition(
int index,
const DtVector&);
67 virtual void clearPoints();
80 virtual void setStipplePattern(
unsigned int);
83 virtual void setColor(
float r,
float g,
float b,
float a);
86 virtual void setTextureHeight(
double height);
89 virtual void setTextureWidth(
double width);
95 virtual void setUpExtent(
float height);
98 virtual void setDownExtent(
float height);
101 virtual void setLeftExtent(
float height);
104 virtual void setRightExtent(
float heigh);
107 virtual void setWidth(
float);
111 virtual void setHeight(
float);
114 virtual void setDimensions(
float width,
float height);
118 virtual void setLineWidth(
float width);
121 virtual void setScribed(
bool b);
125 virtual void setScribeColor(
float r,
float g,
float b,
float a);
128 virtual void setScribeOccluded(
bool b);
134 int pointCount()
const;
143 virtual void setLockUpdates(
bool);
146 bool updatesLocked()
const;
149 virtual void setPickable(
bool);
152 bool pickable()
const;
154 void setOrigin(
const DtVector& origin);
157 virtual void updatePoints();
160 virtual void setSolid(
bool);
165 virtual void updateMode();
168 virtual void updateGeometry();
171 virtual void updateTextureCoordinates();
174 virtual void addPointsForExtentExtrusion(
const DtVector& point);
177 virtual void addFaceForRotation(
const osg::Quat& rotation,
const DtVector& point);
180 virtual void addPointsForFullExtrusion(
const DtVector& from,
184 virtual void updateStippling();
187 virtual void updateScribeLine();
190 virtual void updateColors();
193 virtual bool frontAndBackFaceRendered()
const;
196 virtual void updatePointsForLineStrip();
199 virtual void updatePointsForTriangleStrip();
202 virtual void updatePointsForExtrusion();
205 virtual void createFaces();
208 virtual void updateScribeForTriangleStrip();
211 virtual void updateScribeForExtrusion(osg::Vec3Array*);