QGIS API Documentation
4.3.0-Master (16eddb2670e)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
analysis
interpolation
ParametricLine.h
Go to the documentation of this file.
1
/***************************************************************************
2
ParametricLine.h - description
3
-------------------
4
copyright : (C) 2004 by Marco Hugentobler
5
email : mhugent@geo.unizh.ch
6
***************************************************************************/
7
8
/***************************************************************************
9
* *
10
* This program is free software; you can redistribute it and/or modify *
11
* it under the terms of the GNU General Public License as published by *
12
* the Free Software Foundation; either version 2 of the License, or *
13
* (at your option) any later version. *
14
* *
15
***************************************************************************/
16
17
#ifndef PARAMETRICLINE_H
18
#define PARAMETRICLINE_H
19
20
#include "qgis_analysis.h"
21
#include "
qgis_sip.h
"
22
#include "
qgspoint.h
"
23
24
#include <QVector>
25
26
#define SIP_NO_FILE
27
28
class
Vector3D
;
29
30
39
class
ANALYSIS_EXPORT
ParametricLine
40
{
41
protected
:
43
int
mDegree
= 0;
45
ParametricLine
*
mParent
=
nullptr
;
47
QVector<QgsPoint *> *
mControlPoly
=
nullptr
;
48
49
public
:
50
ParametricLine
() =
default
;
51
55
ParametricLine
(
ParametricLine
*par
SIP_TRANSFER
, QVector<QgsPoint *> *controlpoly );
56
virtual
~ParametricLine
() =
default
;
57
virtual
void
add
(
ParametricLine
*pl
SIP_TRANSFER
) = 0;
58
virtual
void
calcFirstDer
(
float
t,
Vector3D
*v
SIP_OUT
) = 0;
59
virtual
void
calcSecDer
(
float
t,
Vector3D
*v
SIP_OUT
) = 0;
60
//virtual QgsPoint calcPoint(float t);
61
virtual
void
calcPoint
(
float
t,
QgsPoint
*p
SIP_OUT
) = 0;
62
virtual
void
changeDirection
() = 0;
63
//virtual void draw(QPainter* p);
64
virtual
const
QgsPoint
*
getControlPoint
(
int
number )
const
= 0;
65
virtual
const
QVector<QgsPoint *> *
getControlPoly
()
const
= 0;
66
virtual
int
getDegree
()
const
= 0;
67
virtual
ParametricLine
*
getParent
()
const
= 0;
68
//virtual bool intersects(ParametricLine* pal);
69
virtual
void
remove
(
int
i ) = 0;
70
virtual
void
setControlPoly
( QVector<QgsPoint *> *cp ) = 0;
71
virtual
void
setParent
(
ParametricLine
*paral ) = 0;
72
};
73
74
#ifndef SIP_RUN
75
76
//-----------------------------------------constructors and destructor----------------------
77
78
inline
ParametricLine::ParametricLine
(
ParametricLine
*par, QVector<QgsPoint *> *controlpoly )
79
:
mParent
( par )
80
,
mControlPoly
( controlpoly )
81
{}
82
83
#endif
84
85
#endif
ParametricLine::~ParametricLine
virtual ~ParametricLine()=default
ParametricLine::getControlPoly
virtual const QVector< QgsPoint * > * getControlPoly() const =0
Definition
ParametricLine.cpp:89
ParametricLine::setParent
virtual void setParent(ParametricLine *paral)=0
Definition
ParametricLine.cpp:70
ParametricLine::remove
virtual void remove(int i)=0
Definition
ParametricLine.cpp:58
ParametricLine::mDegree
int mDegree
Degree of the parametric Line.
Definition
ParametricLine.h:43
ParametricLine::changeDirection
virtual void changeDirection()=0
ParametricLine::getDegree
virtual int getDegree() const =0
Definition
ParametricLine.cpp:76
ParametricLine::calcSecDer
virtual void calcSecDer(float t, Vector3D *v)=0
Definition
ParametricLine.cpp:38
ParametricLine::add
virtual void add(ParametricLine *pl)=0
Definition
ParametricLine.cpp:25
ParametricLine::getControlPoint
virtual const QgsPoint * getControlPoint(int number) const =0
Definition
ParametricLine.cpp:82
ParametricLine::mParent
ParametricLine * mParent
Pointer to the parent object. If there isn't one, mParent is 0.
Definition
ParametricLine.h:45
ParametricLine::calcFirstDer
virtual void calcFirstDer(float t, Vector3D *v)=0
Definition
ParametricLine.cpp:31
ParametricLine::setControlPoly
virtual void setControlPoly(QVector< QgsPoint * > *cp)=0
Definition
ParametricLine.cpp:64
ParametricLine::mControlPoly
QVector< QgsPoint * > * mControlPoly
MControlPoly stores the points of the control polygon.
Definition
ParametricLine.h:47
ParametricLine::getParent
virtual ParametricLine * getParent() const =0
Definition
ParametricLine.cpp:52
ParametricLine::calcPoint
virtual void calcPoint(float t, QgsPoint *p)=0
Definition
ParametricLine.cpp:45
ParametricLine::ParametricLine
ParametricLine()=default
QgsPoint
Point geometry type, with support for z-dimension and m-values.
Definition
qgspoint.h:53
Vector3D
Represents a 3D-Vector, capable of storing x, y and z-coordinates in double values.
Definition
Vector3D.h:37
qgis_sip.h
SIP_TRANSFER
#define SIP_TRANSFER
Definition
qgis_sip.h:35
SIP_OUT
#define SIP_OUT
Definition
qgis_sip.h:57
qgspoint.h
Generated on
for QGIS API Documentation by
1.17.0