Skip to content

Commit 04fec09

Browse files
committed
Remove interpolation internal classes from stable API
These classes still need a lot of cleanup (e.g. use of proper 3d geometry classes instead of their own 3d line classes, etc) and we don't want them locked into the 3.0 API. Better to remove them from the API and reintroduce them after they have been cleaned up (in >3.0). They are mostly implementation details anyway, and unlikely to be used outside of the high level interpolation classes.
1 parent 90d1422 commit 04fec09

15 files changed

+74
-25
lines changed

doc/api_break.dox

+13-1
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,8 @@ Removed Classes {#qgis_api_break_3_0_removed_classes}
249249
- QgsAnnotationItem was removed. This was replaced by QgsAnnotation and QgsMapCanvasAnnotationItem.
250250
- QgsAttributeAction was removed, and replaced by QgsActionManager.
251251
- QgsAttributeEditor was removed. Use QgsEditorWidgetRegistry::create() instead.
252+
- Bezier3D.
253+
- CloughTocherInterpolator.
252254
- QgsColorbutton was removed. QgsColorButtonV2 has now been renamed to QgsColorButton. Hence, QgsColorButtonV2 does not exist anymore.
253255
- QgsColorDialog was removed, and QgsColorDialogV2 was renamed to QgsColorDialog. Hence, QgsColorButtonV2 does not exist anymore.
254256
All the functionality from the old QgsColorDialog has been moved to the new class.
@@ -266,10 +268,12 @@ should now call QgsCoordinateReferenceSystem::invalidateCache() and QgsCoordinat
266268
- QgsDataDefinedButton was removed. Use QgsPropertyOverrideButton instead.
267269
- QgsDataDefinedSymbolDialog was removed. Code using this dialog should be reworked to use QgsPropertyOverrideButton
268270
- QgsDefaultPluginLayerLegend was removed. Use QgsMapLayer::setLegend() to provide legend nodes for plugin layers.
271+
- DualEdgeTriangulation
269272
- QgsFileNameWidgetWrapper was removed. Use QgsExternalResourceWidgetWrapper instead.
270273
- QgsFileDropEdit was removed. Use QgsFileWidget instead.
271274
- QgsFormAnnotationItem. Use QgsFormAnnotation instead.
272275
- QgsGeometryAnalyzer. Use the equivalent Processing algorithms instead.
276+
- HalfEdge.
273277
- QgsHtmlAnnotationItem. Use QgsHtmlAnnotation instead.
274278
- QgsHttpTransaction. This class was outdated and code should be ported to native Qt or Python implementations.
275279
- QgsGenericProjectionSelector. Use QgsProjectionSelectionTreeWidget instead.
@@ -282,11 +286,16 @@ should now call QgsCoordinateReferenceSystem::invalidateCache() and QgsCoordinat
282286
- addLegendLayerActionForLayer() moved to QgisInterface::addCustomActionForLayer()
283287
- removeLegendLayerAction() moved to QgisInterface::removeCustomActionForLayerType()
284288
- QgsLegendModel was removed.
289+
- Line3D.
290+
- LinTriangleInterpolator.
285291
- QgsMapCanvasLayer. Map canvas and overview canvas are updated separately with their own setLayers() calls.
286292
- QgsMapCanvasMap. It is an internal class used by map canvas.
287293
- QgsMapLayerRegistry. Its functionality has been moved to QgsProject.
288294
- QgsMapRenderer. It has been replaced by QgsMapRendererJob with subclasses and QgsMapSettings.
289295
- QgsMapToolTouch. The touch navigation functionality is now built into the standard QgsMapToolPan tool.
296+
- Node.
297+
- NormVecDecorator.
298+
- ParametericLine.
290299
- QgsPhotoWidgetWrapper was removed. Use QgsExternalResourceWidgetWrapper instead.
291300
- QgsPointSample. Use the Processing "Random Points in Polygon" algorithm instead.
292301
- QgsPseudoColorShader. This shader has been broken for some time and was replaced by QgsSingleBandPseudoColorRenderer.
@@ -302,10 +311,13 @@ should now call QgsCoordinateReferenceSystem::invalidateCache() and QgsCoordinat
302311
- QgsSvgAnnotationItem. Use QgsSvgAnnotation instead.
303312
- QgsSymbologyV2Conversion was removed. Reading of renderers from pre-1.0 versions is not supported anymore.
304313
- QgsTextAnnotationItem. Use QgsTextAnnotation instead.
314+
- TriangleInterpolator.
315+
- Triangulation.
316+
- TriDecorator.
305317
- QgsSnapper. Use QgsSnappingUtils instead.
306318
- QgsSnappingResult. Use QgsSnappingUtils instead.
307319
- QgsMapCanvasSnapper. Use QgsMapCanvas::snappingUtils() instead.
308-
320+
- Vector3D
309321

310322
General changes {#qgis_api_break_3_0_global}
311323
---------------

python/analysis/analysis_auto.sip

-13
Original file line numberDiff line numberDiff line change
@@ -18,19 +18,6 @@
1818
%Include interpolation/qgsgridfilewriter.sip
1919
%Include interpolation/qgsidwinterpolator.sip
2020
%Include interpolation/qgstininterpolator.sip
21-
%Include interpolation/Bezier3D.sip
22-
%Include interpolation/ParametricLine.sip
23-
%Include interpolation/CloughTocherInterpolator.sip
24-
%Include interpolation/TriangleInterpolator.sip
25-
%Include interpolation/Vector3D.sip
26-
%Include interpolation/DualEdgeTriangulation.sip
27-
%Include interpolation/Node.sip
28-
%Include interpolation/TriDecorator.sip
29-
%Include interpolation/Triangulation.sip
30-
%Include interpolation/HalfEdge.sip
31-
%Include interpolation/LinTriangleInterpolator.sip
32-
%Include interpolation/NormVecDecorator.sip
33-
%Include interpolation/Line3D.sip
3421
%Include openstreetmap/qgsosmbase.sip
3522
%Include openstreetmap/qgsosmdatabase.sip
3623
%Include network/qgsgraph.sip

src/analysis/interpolation/Bezier3D.h

+5-1
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,12 @@
2121
#include "qgslogger.h"
2222
#include "qgis_analysis.h"
2323

24+
#define SIP_NO_FILE
25+
2426
/** \ingroup analysis
25-
* 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.*/
27+
* 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.
28+
* \note Not available in Python bindings
29+
*/
2630
class ANALYSIS_EXPORT Bezier3D: public ParametricLine
2731
{
2832
protected:

src/analysis/interpolation/CloughTocherInterpolator.h

+5-1
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,12 @@
2323

2424
class NormVecDecorator;
2525

26+
#define SIP_NO_FILE
27+
2628
/** \ingroup analysis
27-
* 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.*/
29+
* 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.
30+
* \note Not available in Python bindings
31+
*/
2832
class ANALYSIS_EXPORT CloughTocherInterpolator : public TriangleInterpolator
2933
{
3034
protected:

src/analysis/interpolation/DualEdgeTriangulation.h

+5-1
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,12 @@
3434
#include <QCursor>
3535
#include "qgis_analysis.h"
3636

37+
#define SIP_NO_FILE
38+
3739
/** \ingroup analysis
38-
* DualEdgeTriangulation is an implementation of a triangulation class based on the dual edge data structure*/
40+
* DualEdgeTriangulation is an implementation of a triangulation class based on the dual edge data structure.
41+
* \note Not available in Python bindings.
42+
*/
3943
class ANALYSIS_EXPORT DualEdgeTriangulation: public Triangulation
4044
{
4145
public:

src/analysis/interpolation/HalfEdge.h

+3
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,11 @@
1919

2020
#include "qgis_analysis.h"
2121

22+
#define SIP_NO_FILE
23+
2224
/** \ingroup analysis
2325
* \class HalfEdge
26+
* \note Not available in Python bindings.
2427
*/
2528
class ANALYSIS_EXPORT HalfEdge
2629
{

src/analysis/interpolation/LinTriangleInterpolator.h

+5-1
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,12 @@
2121
#include "DualEdgeTriangulation.h"
2222
#include "qgis_analysis.h"
2323

24+
#define SIP_NO_FILE
25+
2426
/** \ingroup analysis
25-
* LinTriangleInterpolator is a class which interpolates linearly on a triangulation*/
27+
* LinTriangleInterpolator is a class which interpolates linearly on a triangulation.
28+
* \note Not available in Python bindings.
29+
*/
2630
class ANALYSIS_EXPORT LinTriangleInterpolator : public TriangleInterpolator
2731
{
2832
public:

src/analysis/interpolation/Line3D.h

+5-1
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,12 @@
2121
#include "qgis_analysis.h"
2222
#include "qgis_sip.h"
2323

24+
#define SIP_NO_FILE
25+
2426
/** \ingroup analysis
25-
* This class represents a line. It is implemented as a single directed linked list of nodes (with related QgsPoint objects). Attention: the points inserted in a line are not deleted from Line3D*/
27+
* This class represents a line. It is implemented as a single directed linked list of nodes (with related QgsPoint objects). Attention: the points inserted in a line are not deleted from Line3D
28+
* \note Not available in Python bindings
29+
*/
2630
class ANALYSIS_EXPORT Line3D SIP_NODEFAULTCTORS
2731
{
2832
private:

src/analysis/interpolation/Node.h

+5-1
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,12 @@
2020
#include "qgspoint.h"
2121
#include "qgis_analysis.h"
2222

23+
#define SIP_NO_FILE
24+
2325
/** \ingroup analysis
24-
* Node is a class used by Line3D. It represents a node in the single directed linked list. Associated QgsPoint objects are deleted when the node is deleted.*/
26+
* Node is a class used by Line3D. It represents a node in the single directed linked list. Associated QgsPoint objects are deleted when the node is deleted.
27+
* \note Not available in Python bindings
28+
*/
2529
class ANALYSIS_EXPORT Node
2630
{
2731
protected:

src/analysis/interpolation/NormVecDecorator.h

+5-1
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,14 @@
2525
#include "qgslogger.h"
2626
#include "qgis_analysis.h"
2727

28+
#define SIP_NO_FILE
29+
2830
class QgsFeedback;
2931

3032
/** \ingroup analysis
31-
* Decorator class which adds the functionality of estimating normals at the data points*/
33+
* Decorator class which adds the functionality of estimating normals at the data points.
34+
* \note Not available in Python bindings.
35+
*/
3236
class ANALYSIS_EXPORT NormVecDecorator: public TriDecorator
3337
{
3438
public:

src/analysis/interpolation/ParametricLine.h

+5-1
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,13 @@
2424

2525
class Vector3D;
2626

27+
#define SIP_NO_FILE
28+
2729
/** \ingroup analysis
2830
* ParametricLine is an Interface for parametric lines. It is possible, that a parametric line is composed of several parametric
29-
* lines (see the composite pattern in Gamma et al. 'Design Patterns'). Do not build instances of it since it is an abstract class.*/
31+
* lines (see the composite pattern in Gamma et al. 'Design Patterns'). Do not build instances of it since it is an abstract class.
32+
* \note Not available in Python bindings
33+
*/
3034
class ANALYSIS_EXPORT ParametricLine
3135
{
3236
protected:

src/analysis/interpolation/TriDecorator.h

+5-1
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,12 @@
2121
#include "qgis.h"
2222
#include "qgis_analysis.h"
2323

24+
#define SIP_NO_FILE
25+
2426
/** \ingroup analysis
25-
* Decorator class for Triangulations (s. Decorator pattern in Gamma et al.)*/
27+
* Decorator class for Triangulations (s. Decorator pattern in Gamma et al.).
28+
* \note Not available in Python bindings.
29+
*/
2630
class ANALYSIS_EXPORT TriDecorator : public Triangulation
2731
{
2832
public:

src/analysis/interpolation/TriangleInterpolator.h

+5-1
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,12 @@
2121
#include "Vector3D.h"
2222
#include "qgis_analysis.h"
2323

24+
#define SIP_NO_FILE
25+
2426
/** \ingroup analysis
25-
* This is an interface for interpolator classes for triangulations*/
27+
* This is an interface for interpolator classes for triangulations.
28+
* \note Not available in Python bindings.
29+
*/
2630
class ANALYSIS_EXPORT TriangleInterpolator
2731
{
2832
public:

src/analysis/interpolation/Triangulation.h

+5-1
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,12 @@
2525

2626
class Line3D;
2727

28+
#define SIP_NO_FILE
29+
2830
/** \ingroup analysis
29-
* Interface for Triangulation classes*/
31+
* Interface for Triangulation classes.
32+
* \note Not available in Python bindings.
33+
*/
3034
class ANALYSIS_EXPORT Triangulation
3135
{
3236
public:

src/analysis/interpolation/Vector3D.h

+3
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,13 @@
2020
#include <cmath>
2121
#include "qgis_analysis.h"
2222

23+
#define SIP_NO_FILE
24+
2325
/** \ingroup analysis
2426
* Class Vector3D represents a 3D-Vector, capable to store x-,y- and
2527
* z-coordinates in double values. In fact, the class is the same as QgsPoint.
2628
* The name 'vector' makes it easier to understand the programs.
29+
* \note Not available in Python bindings
2730
*/
2831

2932
class ANALYSIS_EXPORT Vector3D

0 commit comments

Comments
 (0)