QGIS API Documentation  2.99.0-Master (08ee180)
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. If there isn't one, mParent is 0. 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 25 of file Bezier3D.h.

Constructor & Destructor Documentation

Bezier3D::Bezier3D ( )
inline

Default constructor.

Definition at line 68 of file Bezier3D.h.

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

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

Definition at line 73 of file Bezier3D.h.

Bezier3D::~Bezier3D ( )
inlinevirtual

Destructor.

Definition at line 78 of file Bezier3D.h.

Member Function Documentation

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 85 of file Bezier3D.h.

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

Calculates the first derivative and assigns it to v.

Implements ParametricLine.

Definition at line 22 of file Bezier3D.cc.

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

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

Implements ParametricLine.

Definition at line 53 of file Bezier3D.cc.

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

Calculates the second derivative and assigns it to v.

Implements ParametricLine.

Definition at line 77 of file Bezier3D.cc.

void Bezier3D::changeDirection ( )
overridevirtual

Changes the order of control points.

Implements ParametricLine.

Definition at line 110 of file Bezier3D.cc.

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

Returns a control point.

Implements ParametricLine.

Definition at line 99 of file Bezier3D.h.

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

Returns a pointer to the control polygon.

Implements ParametricLine.

Definition at line 104 of file Bezier3D.h.

int Bezier3D::getDegree ( ) const
inlineoverridevirtual

Returns the degree of the curve.

Implements ParametricLine.

Definition at line 109 of file Bezier3D.h.

ParametricLine * Bezier3D::getParent ( ) const
inlineoverridevirtual

Returns the parent.

Implements ParametricLine.

Definition at line 114 of file Bezier3D.h.

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 91 of file Bezier3D.h.

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

Sets the control polygon.

Implements ParametricLine.

Definition at line 124 of file Bezier3D.h.

void Bezier3D::setParent ( ParametricLine par)
inlineoverridevirtual

Sets the parent.

Implements ParametricLine.

Definition at line 119 of file Bezier3D.h.


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