21 #ifndef _OF_CURVEARTIST_ 22 #define _OF_CURVEARTIST_ 26 #include <osg/LineStipple> 27 #include <osg/LineWidth> 48 const osg::CopyOp& copyop = osg::CopyOp::SHALLOW_COPY );
52 virtual Object* clone(
const osg::CopyOp& copyop)
const {
return new CurveArtist(*
this,copyop); }
53 virtual bool isSameKindAs(
const osg::Object* obj)
const {
return dynamic_cast<const CurveArtist*
>(obj)!=NULL; }
54 virtual const char* libraryName()
const {
return "OpenFrames"; }
55 virtual const char* className()
const {
return "CurveArtist"; }
58 virtual void setTrajectory(
const Trajectory *traj);
61 bool setXData(
const Trajectory::DataSource &src);
62 bool setYData(
const Trajectory::DataSource &src);
63 bool setZData(
const Trajectory::DataSource &src);
66 void setColor(
float r,
float g,
float b);
67 void setWidth(
float width );
68 void setPattern( GLint factor, GLushort pattern );
71 virtual void drawImplementation(osg::RenderInfo& renderInfo)
const;
75 virtual void dataCleared(Trajectory* traj);
76 virtual void dataAdded(Trajectory* traj);
79 virtual ~CurveArtist();
82 virtual osg::BoundingBox computeBoundingBox()
const;
84 void verifyData()
const;
87 Trajectory::DataSource _dataSource[3];
91 osg::ref_ptr<osg::LineStipple> _linePattern;
94 mutable bool _dataValid;
95 mutable bool _dataZero;
This class draws Trajectory points connected by lines.
Definition: CurveArtist.hpp:40
virtual Object * cloneType() const
Definition: CurveArtist.hpp:51
Abstract class for Trajectory objects.
Definition: TrajectoryArtist.hpp:42
Definition: CoordinateAxes.hpp:29
Holds a collection of data vectors.
Definition: Trajectory.hpp:42
osg::ref_ptr< osg::LineWidth > _lineWidth
Definition: CurveArtist.hpp:90