QGIS API Documentation 3.28.0-Firenze (ed3ad0430f)
|
Class Bezier3D represents a bezier curve, represented by control points. More...
#include <Bezier3D.h>
Public Member Functions | |
Bezier3D ()=default | |
Default constructor. More... | |
Bezier3D (ParametricLine *par, QVector< QgsPoint * > *controlpoly) | |
Constructor, par is a pointer to the parent, controlpoly a controlpolygon. More... | |
void | add (ParametricLine *pl) override |
Do not use this method, since a Bezier curve does not consist of other curves. More... | |
void | calcFirstDer (float t, Vector3D *v) override |
Calculates the first derivative and assigns it to v. More... | |
void | calcPoint (float t, QgsPoint *p) override |
Calculates the point on the curve and assigns it to p. More... | |
void | calcSecDer (float t, Vector3D *v) override |
Calculates the second derivative and assigns it to v. More... | |
void | changeDirection () override |
Changes the order of control points. More... | |
const QgsPoint * | getControlPoint (int number) const override |
Returns a control point. More... | |
const QVector< QgsPoint * > * | getControlPoly () const override |
Returns a pointer to the control polygon. More... | |
int | getDegree () const override |
Returns the degree of the curve. More... | |
ParametricLine * | getParent () const override |
Returns the parent. More... | |
void | remove (int i) override |
Do not use this method, since a Bezier curve does not consist of other curves. More... | |
void | setControlPoly (QVector< QgsPoint * > *cp) override |
Sets the control polygon. More... | |
void | setParent (ParametricLine *par) override |
Sets the parent. More... | |
Public Member Functions inherited from ParametricLine | |
ParametricLine ()=default | |
Default constructor. More... | |
ParametricLine (ParametricLine *par, QVector< QgsPoint * > *controlpoly) | |
Constructor, par is a pointer to the parent object, controlpoly the controlpolygon. More... | |
virtual | ~ParametricLine ()=default |
virtual void | add (ParametricLine *pl)=0 |
virtual void | calcFirstDer (float t, Vector3D *v)=0 |
virtual void | calcPoint (float t, QgsPoint *p)=0 |
virtual void | calcSecDer (float t, Vector3D *v)=0 |
virtual void | changeDirection ()=0 |
virtual const QgsPoint * | getControlPoint (int number) const =0 |
virtual const QVector< QgsPoint * > * | getControlPoly () const =0 |
virtual int | getDegree () const =0 |
virtual ParametricLine * | getParent () const =0 |
virtual void | remove (int i)=0 |
virtual void | setControlPoly (QVector< QgsPoint * > *cp)=0 |
virtual void | setParent (ParametricLine *paral)=0 |
Additional Inherited Members | |
Protected Attributes inherited from ParametricLine | |
QVector< QgsPoint * > * | mControlPoly = nullptr |
MControlPoly stores the points of the control polygon. More... | |
int | mDegree = 0 |
Degree of the parametric Line. More... | |
ParametricLine * | mParent = nullptr |
Pointer to the parent object. If there isn't one, mParent is 0. More... | |
Class Bezier3D represents a bezier curve, represented by control points.
Parameter t is running from 0 to 1. The class is capable to calculate the curve point and the first two derivatives belonging to it.
Definition at line 33 of file Bezier3D.h.
|
default |
Default constructor.
|
inline |
Constructor, par is a pointer to the parent, controlpoly a controlpolygon.
Definition at line 77 of file Bezier3D.h.
|
inlineoverridevirtual |
Do not use this method, since a Bezier curve does not consist of other curves.
Implements ParametricLine.
Definition at line 84 of file Bezier3D.h.
|
overridevirtual |
Calculates the first derivative and assigns it to v.
Implements ParametricLine.
Definition at line 22 of file Bezier3D.cpp.
|
overridevirtual |
Calculates the point on the curve and assigns it to p.
Implements ParametricLine.
Definition at line 53 of file Bezier3D.cpp.
|
overridevirtual |
Calculates the second derivative and assigns it to v.
Implements ParametricLine.
Definition at line 77 of file Bezier3D.cpp.
|
overridevirtual |
Changes the order of control points.
Implements ParametricLine.
Definition at line 110 of file Bezier3D.cpp.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Returns a pointer to the control polygon.
Implements ParametricLine.
Definition at line 103 of file Bezier3D.h.
|
inlineoverridevirtual |
Returns the degree of the curve.
Implements ParametricLine.
Definition at line 108 of file Bezier3D.h.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Do not use this method, since a Bezier curve does not consist of other curves.
Implements ParametricLine.
Definition at line 90 of file Bezier3D.h.
|
inlineoverridevirtual |
|
inlineoverridevirtual |