QGIS API Documentation  3.37.0-Master (a5b4d9743e8)
Public Member Functions | Protected Attributes | List of all members
ParametricLine Class Referenceabstract

ParametricLine is an Interface for parametric lines. More...

#include <ParametricLine.h>

Inheritance diagram for ParametricLine:
Inheritance graph
[legend]

Public Member Functions

 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 QgsPointgetControlPoint (int number) const =0
 
virtual const QVector< QgsPoint * > * getControlPoly () const =0
 
virtual int getDegree () const =0
 
virtual ParametricLinegetParent () const =0
 
virtual void remove (int i)=0
 
virtual void setControlPoly (QVector< QgsPoint * > *cp)=0
 
virtual void setParent (ParametricLine *paral)=0
 

Protected Attributes

QVector< QgsPoint * > * mControlPoly = nullptr
 MControlPoly stores the points of the control polygon. More...
 
int mDegree = 0
 Degree of the parametric Line. More...
 
ParametricLinemParent = nullptr
 Pointer to the parent object. If there isn't one, mParent is 0. More...
 

Detailed Description

ParametricLine is an Interface for parametric lines.

It is possible, that a parametric line is composed of several parametric lines (see the composite pattern in Gamma et al. 'Design Patterns'). Do not build instances of it since it is an abstract class.

Note
Not available in Python bindings

Definition at line 37 of file ParametricLine.h.

Constructor & Destructor Documentation

◆ ParametricLine() [1/2]

ParametricLine::ParametricLine ( )
default

Default constructor.

◆ ParametricLine() [2/2]

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

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

Definition at line 76 of file ParametricLine.h.

◆ ~ParametricLine()

virtual ParametricLine::~ParametricLine ( )
virtualdefault

Member Function Documentation

◆ add()

void ParametricLine::add ( ParametricLine pl)
pure virtual

Implemented in Bezier3D.

Definition at line 20 of file ParametricLine.cpp.

◆ calcFirstDer()

void ParametricLine::calcFirstDer ( float  t,
Vector3D v 
)
pure virtual

Implemented in Bezier3D.

Definition at line 26 of file ParametricLine.cpp.

◆ calcPoint()

void ParametricLine::calcPoint ( float  t,
QgsPoint p 
)
pure virtual

Implemented in Bezier3D.

Definition at line 40 of file ParametricLine.cpp.

◆ calcSecDer()

void ParametricLine::calcSecDer ( float  t,
Vector3D v 
)
pure virtual

Implemented in Bezier3D.

Definition at line 33 of file ParametricLine.cpp.

◆ changeDirection()

virtual void ParametricLine::changeDirection ( )
pure virtual

Implemented in Bezier3D.

◆ getControlPoint()

const QgsPoint * ParametricLine::getControlPoint ( int  number) const
pure virtual

Implemented in Bezier3D.

Definition at line 77 of file ParametricLine.cpp.

◆ getControlPoly()

const QVector< QgsPoint * > * ParametricLine::getControlPoly ( ) const
pure virtual

Implemented in Bezier3D.

Definition at line 84 of file ParametricLine.cpp.

◆ getDegree()

int ParametricLine::getDegree ( ) const
pure virtual

Implemented in Bezier3D.

Definition at line 71 of file ParametricLine.cpp.

◆ getParent()

ParametricLine * ParametricLine::getParent ( ) const
pure virtual

Implemented in Bezier3D.

Definition at line 47 of file ParametricLine.cpp.

◆ remove()

void ParametricLine::remove ( int  i)
pure virtual

Implemented in Bezier3D.

Definition at line 53 of file ParametricLine.cpp.

◆ setControlPoly()

void ParametricLine::setControlPoly ( QVector< QgsPoint * > *  cp)
pure virtual

Implemented in Bezier3D.

Definition at line 59 of file ParametricLine.cpp.

◆ setParent()

void ParametricLine::setParent ( ParametricLine paral)
pure virtual

Implemented in Bezier3D.

Definition at line 65 of file ParametricLine.cpp.

Member Data Documentation

◆ mControlPoly

QVector<QgsPoint *>* ParametricLine::mControlPoly = nullptr
protected

MControlPoly stores the points of the control polygon.

Definition at line 45 of file ParametricLine.h.

◆ mDegree

int ParametricLine::mDegree = 0
protected

Degree of the parametric Line.

Definition at line 41 of file ParametricLine.h.

◆ mParent

ParametricLine* ParametricLine::mParent = nullptr
protected

Pointer to the parent object. If there isn't one, mParent is 0.

Definition at line 43 of file ParametricLine.h.


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