class Bezier3D : ParametricLine { %TypeHeaderCode #include %End public: /** Default constructor*/ Bezier3D(); /** Constructor, par is a pointer to the parent, controlpoly a controlpolygon*/ //! @note not available in python binding // Bezier3D( ParametricLine* par, QVector* controlpoly ); /** Destructor*/ virtual ~Bezier3D(); /** Do not use this method, since a Bezier curve does not consist of other curves*/ virtual void add( ParametricLine *pl ); /** Calculates the first derivative and assigns it to v*/ virtual void calcFirstDer( float t, Vector3D* v ); /** Calculates the second derivative and assigns it to v*/ virtual void calcSecDer( float t, Vector3D* v ); //virtual Point3D calcPoint(float t); /** Calculates the point on the curve and assigns it to p*/ virtual void calcPoint( float t, Point3D* p ); /** Changes the order of control points*/ virtual void changeDirection(); //virtual void draw(QPainter* p); //virtual bool intersects(ParametricLine* pal); /** Do not use this method, since a Bezier curve does not consist of other curves*/ virtual void remove( int i ); /** Returns a control point*/ virtual const Point3D* getControlPoint( int number ) const; /** Returns a pointer to the control polygon*/ //! @note not available in python binding // virtual const QVector* getControlPoly() const; /** Returns the degree of the curve*/ virtual int getDegree() const; /** Returns the parent*/ virtual ParametricLine* getParent() const; /** Sets the parent*/ virtual void setParent( ParametricLine* par ); /** Sets the control polygon*/ //! @note not available in python binding // virtual void setControlPoly( QVector* cp ); };