-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #13 from Danaozhong/task/add-qgis-windows-libs-3_38_0
Add Windows QGIS Libs for version 3.38.0
- Loading branch information
Showing
4,804 changed files
with
1,067,352 additions
and
1 deletion.
The diff you're trying to view is too large. We only load the first 3000 changed files.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
132 changes: 132 additions & 0 deletions
132
dependencies/qgis/windows_x86_64/3_36_3/apps/qgis/include/Bezier3D.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,132 @@ | ||
/*************************************************************************** | ||
Bezier3D.h - description | ||
------------------- | ||
copyright : (C) 2004 by Marco Hugentobler | ||
email : [email protected] | ||
***************************************************************************/ | ||
|
||
/*************************************************************************** | ||
* * | ||
* This program is free software; you can redistribute it and/or modify * | ||
* it under the terms of the GNU General Public License as published by * | ||
* the Free Software Foundation; either version 2 of the License, or * | ||
* (at your option) any later version. * | ||
* * | ||
***************************************************************************/ | ||
|
||
#ifndef BEZIER3D_H | ||
#define BEZIER3D_H | ||
|
||
#include "ParametricLine.h" | ||
#include "qgslogger.h" | ||
#include "qgis_analysis.h" | ||
|
||
#define SIP_NO_FILE | ||
|
||
/** | ||
* \ingroup analysis | ||
* \brief 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 it. | ||
* \note Not available in Python bindings | ||
*/ | ||
class ANALYSIS_EXPORT Bezier3D: public ParametricLine | ||
{ | ||
protected: | ||
|
||
public: | ||
//! Default constructor | ||
Bezier3D() = default; | ||
//! Constructor, par is a pointer to the parent, controlpoly a controlpolygon | ||
Bezier3D( ParametricLine *par, QVector<QgsPoint *> *controlpoly ); | ||
|
||
//! Do not use this method, since a Bezier curve does not consist of other curves | ||
void add( ParametricLine *pl SIP_TRANSFER ) override; | ||
//! Calculates the first derivative and assigns it to v | ||
void calcFirstDer( float t, Vector3D *v SIP_OUT ) override; | ||
//! Calculates the second derivative and assigns it to v | ||
void calcSecDer( float t, Vector3D *v SIP_OUT ) override; | ||
//virtual QgsPoint calcPoint(float t); | ||
//! Calculates the point on the curve and assigns it to p | ||
void calcPoint( float t, QgsPoint *p SIP_OUT ) override; | ||
//! Changes the order of control points | ||
void changeDirection() override; | ||
//virtual void draw(QPainter* p); | ||
//virtual bool intersects(ParametricLine* pal); | ||
//! Do not use this method, since a Bezier curve does not consist of other curves | ||
void remove( int i ) override; | ||
//! Returns a control point | ||
const QgsPoint *getControlPoint( int number ) const override; | ||
//! Returns a pointer to the control polygon | ||
const QVector<QgsPoint *> *getControlPoly() const override; | ||
//! Returns the degree of the curve | ||
int getDegree() const override; | ||
//! Returns the parent | ||
ParametricLine *getParent() const override; | ||
//! Sets the parent | ||
void setParent( ParametricLine *par ) override; | ||
//! Sets the control polygon | ||
void setControlPoly( QVector<QgsPoint *> *cp ) override; | ||
|
||
}; | ||
|
||
#ifndef SIP_RUN | ||
|
||
//-----------------------------------------------constructors, destructor and assignment operator------------------------------ | ||
|
||
inline Bezier3D::Bezier3D( ParametricLine *parent, QVector<QgsPoint *> *controlpoly ) : ParametricLine( parent, controlpoly ) | ||
{ | ||
mDegree = mControlPoly->count() - 1; | ||
} | ||
|
||
//----------------------------------------------invalid methods add and remove (because of inheritance from ParametricLine) | ||
|
||
inline void Bezier3D::add( ParametricLine *pl ) | ||
{ | ||
Q_UNUSED( pl ) | ||
QgsDebugError( QStringLiteral( "Error!!!!! A Bezier-curve can not be parent of a ParametricLine." ) ); | ||
} | ||
|
||
inline void Bezier3D::remove( int i ) | ||
{ | ||
Q_UNUSED( i ) | ||
QgsDebugError( QStringLiteral( "Error!!!!! A Bezier-curve has no children to remove." ) ); | ||
} | ||
|
||
//-----------------------------------------------setters and getters--------------------------------------------------------------- | ||
|
||
inline const QgsPoint *Bezier3D::getControlPoint( int number ) const | ||
{ | ||
return ( *mControlPoly )[number - 1]; | ||
} | ||
|
||
inline const QVector<QgsPoint *> *Bezier3D::getControlPoly() const | ||
{ | ||
return mControlPoly; | ||
} | ||
|
||
inline int Bezier3D::getDegree() const | ||
{ | ||
return mDegree; | ||
} | ||
|
||
inline ParametricLine *Bezier3D::getParent() const | ||
{ | ||
return mParent; | ||
} | ||
|
||
inline void Bezier3D::setParent( ParametricLine *par ) | ||
{ | ||
mParent = par; | ||
} | ||
|
||
inline void Bezier3D::setControlPoly( QVector<QgsPoint *> *cp ) | ||
{ | ||
mControlPoly = cp; | ||
mDegree = mControlPoly->count() - 1; | ||
} | ||
|
||
#endif | ||
|
||
#endif | ||
|
119 changes: 119 additions & 0 deletions
119
dependencies/qgis/windows_x86_64/3_36_3/apps/qgis/include/CloughTocherInterpolator.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,119 @@ | ||
/*************************************************************************** | ||
CloughTocherInterpolator.h - description | ||
------------------- | ||
copyright : (C) 2004 by Marco Hugentobler | ||
email : [email protected] | ||
***************************************************************************/ | ||
|
||
/*************************************************************************** | ||
* * | ||
* This program is free software; you can redistribute it and/or modify * | ||
* it under the terms of the GNU General Public License as published by * | ||
* the Free Software Foundation; either version 2 of the License, or * | ||
* (at your option) any later version. * | ||
* * | ||
***************************************************************************/ | ||
|
||
#ifndef CLOUGHTOCHERINTERPOLATOR_H | ||
#define CLOUGHTOCHERINTERPOLATOR_H | ||
|
||
#include "TriangleInterpolator.h" | ||
#include "qgspoint.h" | ||
#include "qgis_analysis.h" | ||
|
||
class NormVecDecorator; | ||
|
||
#define SIP_NO_FILE | ||
|
||
/** | ||
* \ingroup analysis | ||
* \brief This is an implementation of a Clough-Tocher interpolator based on a triangular tessellation. | ||
* | ||
* The derivatives orthogonal to the boundary curves are interpolated linearly along a triangle edge. | ||
* \note Not available in Python bindings | ||
*/ | ||
class ANALYSIS_EXPORT CloughTocherInterpolator : public TriangleInterpolator | ||
{ | ||
protected: | ||
//! Association with a triangulation object | ||
NormVecDecorator *mTIN = nullptr; | ||
//! Tolerance of the barycentric coordinates at the borders of the triangles (to prevent errors because of very small negative baricentric coordinates) | ||
double mEdgeTolerance = 0.00001; | ||
//! First point of the triangle in x-,y-,z-coordinates | ||
QgsPoint point1 = QgsPoint( 0, 0, 0 ); | ||
//! Second point of the triangle in x-,y-,z-coordinates | ||
QgsPoint point2 = QgsPoint( 0, 0, 0 ); | ||
//! Third point of the triangle in x-,y-,z-coordinates | ||
QgsPoint point3 = QgsPoint( 0, 0, 0 ); | ||
//! Control point 1 | ||
QgsPoint cp1 = QgsPoint( 0, 0, 0 ); | ||
//! Control point 2 | ||
QgsPoint cp2 = QgsPoint( 0, 0, 0 ); | ||
//! Control point 3 | ||
QgsPoint cp3 = QgsPoint( 0, 0, 0 ); | ||
//! Control point 4 | ||
QgsPoint cp4 = QgsPoint( 0, 0, 0 ); | ||
//! Control point 5 | ||
QgsPoint cp5 = QgsPoint( 0, 0, 0 ); | ||
//! Control point 6 | ||
QgsPoint cp6 = QgsPoint( 0, 0, 0 ); | ||
//! Control point 7 | ||
QgsPoint cp7 = QgsPoint( 0, 0, 0 ); | ||
//! Control point 8 | ||
QgsPoint cp8 = QgsPoint( 0, 0, 0 ); | ||
//! Control point 9 | ||
QgsPoint cp9 = QgsPoint( 0, 0, 0 ); | ||
//! Control point 10 | ||
QgsPoint cp10 = QgsPoint( 0, 0, 0 ); | ||
//! Control point 11 | ||
QgsPoint cp11 = QgsPoint( 0, 0, 0 ); | ||
//! Control point 12 | ||
QgsPoint cp12 = QgsPoint( 0, 0, 0 ); | ||
//! Control point 13 | ||
QgsPoint cp13 = QgsPoint( 0, 0, 0 ); | ||
//! Control point 14 | ||
QgsPoint cp14 = QgsPoint( 0, 0, 0 ); | ||
//! Control point 15 | ||
QgsPoint cp15 = QgsPoint( 0, 0, 0 ); | ||
//! Control point 16 | ||
QgsPoint cp16 = QgsPoint( 0, 0, 0 ); | ||
//! Derivative in x-direction at point1 | ||
double der1X = 0.0; | ||
//! Derivative in y-direction at point1 | ||
double der1Y = 0.0; | ||
//! Derivative in x-direction at point2 | ||
double der2X = 0.0; | ||
//! Derivative in y-direction at point2 | ||
double der2Y = 0.0; | ||
//! Derivative in x-direction at point3 | ||
double der3X = 0.0; | ||
//! Derivative in y-direction at point3 | ||
double der3Y = 0.0; | ||
//! Stores point1 of the last run | ||
QgsPoint lpoint1 = QgsPoint( 0, 0, 0 ); | ||
//! Stores point2 of the last run | ||
QgsPoint lpoint2 = QgsPoint( 0, 0, 0 ); | ||
//! Stores point3 of the last run | ||
QgsPoint lpoint3 = QgsPoint( 0, 0, 0 ); | ||
//! Finds out, in which triangle the point with the coordinates x and y is | ||
void init( double x, double y ); | ||
//! Calculates the Bernsteinpolynomials to calculate the Beziertriangle. 'n' is three in the cubical case, 'i', 'j', 'k' are the indices of the controllpoint and 'u', 'v', 'w' are the barycentric coordinates of the point | ||
double calcBernsteinPoly( int n, int i, int j, int k, double u, double v, double w ); | ||
|
||
public: | ||
//! Standard constructor | ||
CloughTocherInterpolator() = default; | ||
|
||
//! Constructor with a pointer to the triangulation as argument | ||
CloughTocherInterpolator( NormVecDecorator *tin ); | ||
|
||
//! Calculates the normal vector and assigns it to vec (not implemented at the moment) | ||
bool calcNormVec( double x, double y, QgsPoint &result SIP_OUT ) override; | ||
bool calcPoint( double x, double y, QgsPoint &result SIP_OUT ) override; | ||
virtual void setTriangulation( NormVecDecorator *tin ); | ||
}; | ||
|
||
#endif | ||
|
||
|
||
|
130 changes: 130 additions & 0 deletions
130
dependencies/qgis/windows_x86_64/3_36_3/apps/qgis/include/HalfEdge.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,130 @@ | ||
/*************************************************************************** | ||
HalfEdge.h - description | ||
------------------- | ||
copyright : (C) 2004 by Marco Hugentobler | ||
email : [email protected] | ||
***************************************************************************/ | ||
|
||
/*************************************************************************** | ||
* * | ||
* This program is free software; you can redistribute it and/or modify * | ||
* it under the terms of the GNU General Public License as published by * | ||
* the Free Software Foundation; either version 2 of the License, or * | ||
* (at your option) any later version. * | ||
* * | ||
***************************************************************************/ | ||
|
||
#ifndef HALFEDGE_H | ||
#define HALFEDGE_H | ||
|
||
#include "qgis_analysis.h" | ||
|
||
#define SIP_NO_FILE | ||
|
||
/** | ||
* \ingroup analysis | ||
* \class HalfEdge | ||
* \brief HalfEdge | ||
* \note Not available in Python bindings. | ||
*/ | ||
class ANALYSIS_EXPORT HalfEdge | ||
{ | ||
protected: | ||
//! Number of the dual HalfEdge | ||
int mDual = -10; | ||
//! Number of the next HalfEdge | ||
int mNext = -10; | ||
//! Number of the point at which this HalfEdge points | ||
int mPoint = -10; | ||
//! True, if the HalfEdge belongs to a break line, FALSE otherwise | ||
bool mBreak = false; | ||
//! True, if the HalfEdge belongs to a constrained edge, FALSE otherwise | ||
bool mForced = false; | ||
|
||
public: | ||
//! Default constructor. Values for mDual, mNext, mPoint are set to -10 which means that they are undefined | ||
HalfEdge() = default; | ||
HalfEdge( int dual, int next, int point, bool mbreak, bool forced ); | ||
|
||
//! Returns the number of the dual HalfEdge | ||
int getDual() const; | ||
//! Returns the number of the next HalfEdge | ||
int getNext() const; | ||
//! Returns the number of the point at which this HalfEdge points | ||
int getPoint() const; | ||
//! Returns, whether the HalfEdge belongs to a break line or not | ||
bool getBreak() const; | ||
//! Returns, whether the HalfEdge belongs to a constrained edge or not | ||
bool getForced() const; | ||
//! Sets the number of the dual HalfEdge | ||
void setDual( int d ); | ||
//! Sets the number of the next HalfEdge | ||
void setNext( int n ); | ||
//! Sets the number of point at which this HalfEdge points | ||
void setPoint( int p ); | ||
//! Sets the break flag | ||
void setBreak( bool b ); | ||
//! Sets the forced flag | ||
void setForced( bool f ); | ||
}; | ||
|
||
#ifndef SIP_RUN | ||
|
||
inline HalfEdge::HalfEdge( int dual, int next, int point, bool mbreak, bool forced ): mDual( dual ), mNext( next ), mPoint( point ), mBreak( mbreak ), mForced( forced ) | ||
{ | ||
|
||
} | ||
|
||
inline int HalfEdge::getDual() const | ||
{ | ||
return mDual; | ||
} | ||
|
||
inline int HalfEdge::getNext() const | ||
{ | ||
return mNext; | ||
} | ||
|
||
inline int HalfEdge::getPoint() const | ||
{ | ||
return mPoint; | ||
} | ||
|
||
inline bool HalfEdge::getBreak() const | ||
{ | ||
return mBreak; | ||
} | ||
|
||
inline bool HalfEdge::getForced() const | ||
{ | ||
return mForced; | ||
} | ||
|
||
inline void HalfEdge::setDual( int d ) | ||
{ | ||
mDual = d; | ||
} | ||
|
||
inline void HalfEdge::setNext( int n ) | ||
{ | ||
mNext = n; | ||
} | ||
|
||
inline void HalfEdge::setPoint( int p ) | ||
{ | ||
mPoint = p; | ||
} | ||
|
||
inline void HalfEdge::setBreak( bool b ) | ||
{ | ||
mBreak = b; | ||
} | ||
|
||
inline void HalfEdge::setForced( bool f ) | ||
{ | ||
mForced = f; | ||
} | ||
|
||
#endif | ||
|
||
#endif |
Oops, something went wrong.