QGIS API Documentation  2.18.21-Las Palmas (9fba24a)
Public Member Functions | List of all members
Bezier3D Class Reference

Class Bezier3D represents a bezier curve, represented by control points. More...

#include <Bezier3D.h>

Inheritance diagram for Bezier3D:
Inheritance graph
[legend]

Public Member Functions

 Bezier3D ()
 Default constructor. More...
 
 Bezier3D (ParametricLine *par, QVector< Point3D *> *controlpoly)
 Constructor, par is a pointer to the parent, controlpoly a controlpolygon. More...
 
virtual ~Bezier3D ()
 Destructor. More...
 
virtual void add (ParametricLine *pl) override
 Do not use this method, since a Bezier curve does not consist of other curves. More...
 
virtual void calcFirstDer (float t, Vector3D *v) override
 Calculates the first derivative and assigns it to v. More...
 
virtual void calcPoint (float t, Point3D *p) override
 Calculates the point on the curve and assigns it to p. More...
 
virtual void calcSecDer (float t, Vector3D *v) override
 Calculates the second derivative and assigns it to v. More...
 
virtual void changeDirection () override
 Changes the order of control points. More...
 
virtual const Point3DgetControlPoint (int number) const override
 Returns a control point. More...
 
virtual const QVector< Point3D * > * getControlPoly () const override
 Returns a pointer to the control polygon. More...
 
virtual int getDegree () const override
 Returns the degree of the curve. More...
 
virtual ParametricLinegetParent () const override
 Returns the parent. More...
 
virtual void remove (int i) override
 Do not use this method, since a Bezier curve does not consist of other curves. More...
 
virtual void setControlPoly (QVector< Point3D *> *cp) override
 Sets the control polygon. More...
 
virtual void setParent (ParametricLine *par) override
 Sets the parent. More...
 
- Public Member Functions inherited from ParametricLine
 ParametricLine ()
 Default constructor. More...
 
 ParametricLine (ParametricLine *par, QVector< Point3D *> *controlpoly)
 Constructor, par is a pointer to the parent object, controlpoly the controlpolygon. More...
 
virtual ~ParametricLine ()
 Destructor. More...
 

Additional Inherited Members

- Protected Attributes inherited from ParametricLine
QVector< Point3D * > * mControlPoly
 MControlPoly stores the points of the control polygon. More...
 
int mDegree
 Degree of the parametric Line. More...
 
ParametricLinemParent
 Pointer to the parent object. More...
 

Detailed Description

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 t.

Definition at line 27 of file Bezier3D.h.

Constructor & Destructor Documentation

◆ Bezier3D() [1/2]

Bezier3D::Bezier3D ( )
inline

Default constructor.

Definition at line 70 of file Bezier3D.h.

◆ Bezier3D() [2/2]

Bezier3D::Bezier3D ( ParametricLine par,
QVector< Point3D *> *  controlpoly 
)
inline

Constructor, par is a pointer to the parent, controlpoly a controlpolygon.

Definition at line 75 of file Bezier3D.h.

◆ ~Bezier3D()

Bezier3D::~Bezier3D ( )
inlinevirtual

Destructor.

Definition at line 80 of file Bezier3D.h.

Member Function Documentation

◆ add()

void Bezier3D::add ( ParametricLine pl)
inlineoverridevirtual

Do not use this method, since a Bezier curve does not consist of other curves.

Implements ParametricLine.

Definition at line 87 of file Bezier3D.h.

◆ calcFirstDer()

virtual void Bezier3D::calcFirstDer ( float  t,
Vector3D v 
)
overridevirtual

Calculates the first derivative and assigns it to v.

Implements ParametricLine.

◆ calcPoint()

virtual void Bezier3D::calcPoint ( float  t,
Point3D p 
)
overridevirtual

Calculates the point on the curve and assigns it to p.

Implements ParametricLine.

◆ calcSecDer()

virtual void Bezier3D::calcSecDer ( float  t,
Vector3D v 
)
overridevirtual

Calculates the second derivative and assigns it to v.

Implements ParametricLine.

◆ changeDirection()

virtual void Bezier3D::changeDirection ( )
overridevirtual

Changes the order of control points.

Implements ParametricLine.

◆ getControlPoint()

const Point3D * Bezier3D::getControlPoint ( int  number) const
inlineoverridevirtual

Returns a control point.

Implements ParametricLine.

Definition at line 101 of file Bezier3D.h.

◆ getControlPoly()

const QVector< Point3D * > * Bezier3D::getControlPoly ( ) const
inlineoverridevirtual

Returns a pointer to the control polygon.

Implements ParametricLine.

Definition at line 106 of file Bezier3D.h.

◆ getDegree()

int Bezier3D::getDegree ( ) const
inlineoverridevirtual

Returns the degree of the curve.

Implements ParametricLine.

Definition at line 111 of file Bezier3D.h.

◆ getParent()

ParametricLine * Bezier3D::getParent ( ) const
inlineoverridevirtual

Returns the parent.

Implements ParametricLine.

Definition at line 116 of file Bezier3D.h.

◆ remove()

void Bezier3D::remove ( int  i)
inlineoverridevirtual

Do not use this method, since a Bezier curve does not consist of other curves.

Implements ParametricLine.

Definition at line 93 of file Bezier3D.h.

◆ setControlPoly()

void Bezier3D::setControlPoly ( QVector< Point3D *> *  cp)
inlineoverridevirtual

Sets the control polygon.

Implements ParametricLine.

Definition at line 126 of file Bezier3D.h.

◆ setParent()

void Bezier3D::setParent ( ParametricLine par)
inlineoverridevirtual

Sets the parent.

Implements ParametricLine.

Definition at line 121 of file Bezier3D.h.


The documentation for this class was generated from the following file: