14 #include <osg/MatrixTransform>
34 DtOsgRibbon(
float segmentSpacing,
const osg::Vec4& color,
35 float maxLength = 2000 );
41 virtual void traverse( osg::NodeVisitor& nv );
44 virtual osg::Node* node();
47 virtual void setColor(
const osg::Vec4& color );
50 const osg::Vec4&
color()
const {
return myColor; }
53 virtual void setDroppedPoints(
const osg::Vec3d& pointA,
const osg::Vec3d& pointB );
56 virtual void update(
double dt,
double simTime );
62 virtual void setMaxSegments(
long segments );
68 virtual void setSegmentSpacing(
float spacing );
76 virtual void addParticle( osg::Vec3d
const& left, osg::Vec3d
const& right,
80 virtual float currentSegmentLength() = 0;
83 virtual void extendCurrentSegment( osg::Vec3d
const& left,
84 osg::Vec3d
const& right,
double simTime ) = 0;
87 virtual osg::Drawable* getDrawable() = 0;
90 virtual osg::Geode* createGeode();
93 virtual void setDrawable();