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 Point3D * getControlPoint (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 ParametricLine * getParent () 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...
 
ParametricLine * mParent
 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: