14 #include <osg/MatrixTransform>
35 float segmentSpacing = 1.0,
36 const osg::Vec4& color = osg::Vec4d(0.5, 0.5, 0.5, 1.0),
37 float maxLength = 2000);
43 virtual void traverse(osg::NodeVisitor& nv);
46 virtual osg::Node* node();
49 virtual void setColor(
const osg::Vec4& color);
52 const osg::Vec4&
color()
const {
return myColor; }
55 virtual void setDroppedPoints(
const osg::Vec3d& pointA,
const osg::Vec3d& pointB);
58 virtual void update(
double dt,
double simTime);
64 virtual void setMaxSegments(
long segments);
70 virtual void setSegmentSpacing(
float spacing);
81 virtual void setStippled(
bool stippled);
90 virtual void setLightingEnabled(
bool enable);
93 virtual bool lightingEnabled();
98 virtual void addParticle(osg::Vec3d
const& left, osg::Vec3d
const& right,
102 virtual float currentSegmentLength() = 0;
105 virtual void extendCurrentSegment(osg::Vec3d
const& left,
106 osg::Vec3d
const& right,
double simTime) = 0;
109 virtual osg::Drawable* getDrawable() = 0;
112 virtual osg::Geode* createGeode();
115 virtual void setDrawable();