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