2017-05-14 09:48:41 +02:00
|
|
|
/************************************************************************
|
|
|
|
* This file has been generated automatically from *
|
|
|
|
* *
|
|
|
|
* src/core/qgsgeometrysimplifier.h *
|
|
|
|
* *
|
|
|
|
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
|
|
|
|
************************************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-01-11 11:12:51 +01:00
|
|
|
|
|
|
|
class QgsAbstractGeometrySimplifier
|
|
|
|
{
|
2017-05-14 09:48:41 +02:00
|
|
|
%Docstring
|
2017-12-15 10:36:55 -04:00
|
|
|
Abstract base class for simplify geometries using a specific algorithm
|
2017-05-14 09:48:41 +02:00
|
|
|
%End
|
|
|
|
|
2014-01-11 11:12:51 +01:00
|
|
|
%TypeHeaderCode
|
|
|
|
#include "qgsgeometrysimplifier.h"
|
|
|
|
%End
|
|
|
|
public:
|
|
|
|
virtual ~QgsAbstractGeometrySimplifier();
|
|
|
|
|
2017-05-01 16:42:33 +02:00
|
|
|
virtual QgsGeometry simplify( const QgsGeometry &geometry ) const = 0;
|
2017-05-14 09:48:41 +02:00
|
|
|
%Docstring
|
|
|
|
Returns a simplified version the specified geometry
|
|
|
|
%End
|
2014-01-11 11:12:51 +01:00
|
|
|
|
|
|
|
public:
|
2017-05-01 16:42:33 +02:00
|
|
|
static bool isGeneralizableByDeviceBoundingBox( const QgsRectangle &envelope, float mapToPixelTol = 1.0f );
|
2017-05-14 09:48:41 +02:00
|
|
|
%Docstring
|
|
|
|
Returns whether the device-envelope can be replaced by its BBOX when is applied the specified tolerance
|
|
|
|
%End
|
2017-05-01 16:42:33 +02:00
|
|
|
static bool isGeneralizableByDeviceBoundingBox( const QVector<QPointF> &points, float mapToPixelTol = 1.0f );
|
2017-05-14 09:48:41 +02:00
|
|
|
%Docstring
|
|
|
|
Returns whether the device-geometry can be replaced by its BBOX when is applied the specified tolerance
|
|
|
|
%End
|
2014-01-11 11:12:51 +01:00
|
|
|
};
|
2014-01-27 09:22:24 +01:00
|
|
|
|
2017-05-14 09:48:41 +02:00
|
|
|
|
2014-01-27 09:22:24 +01:00
|
|
|
class QgsTopologyPreservingSimplifier : QgsAbstractGeometrySimplifier
|
|
|
|
{
|
2017-05-14 09:48:41 +02:00
|
|
|
%Docstring
|
2017-12-15 10:36:55 -04:00
|
|
|
Implementation of GeometrySimplifier using the Douglas-Peucker algorithm
|
2017-05-14 09:48:41 +02:00
|
|
|
|
2017-12-15 10:36:55 -04:00
|
|
|
Simplifies a geometry, ensuring that the result is a valid geometry having the same dimension and number of components as the input.
|
|
|
|
The simplification uses a maximum distance difference algorithm similar to the one used in the Douglas-Peucker algorithm.
|
2017-05-14 09:48:41 +02:00
|
|
|
%End
|
|
|
|
|
2014-01-27 09:22:24 +01:00
|
|
|
%TypeHeaderCode
|
|
|
|
#include "qgsgeometrysimplifier.h"
|
|
|
|
%End
|
|
|
|
public:
|
2017-05-14 09:48:41 +02:00
|
|
|
|
2014-01-27 09:22:24 +01:00
|
|
|
QgsTopologyPreservingSimplifier( double tolerance );
|
2017-05-14 09:48:41 +02:00
|
|
|
%Docstring
|
2017-12-15 10:36:55 -04:00
|
|
|
Constructor for QgsTopologyPreservingSimplifier. The tolerance parameter
|
|
|
|
is specified in layer units.
|
2017-05-14 09:48:41 +02:00
|
|
|
%End
|
2014-01-27 09:22:24 +01:00
|
|
|
|
2017-05-01 16:42:33 +02:00
|
|
|
virtual QgsGeometry simplify( const QgsGeometry &geometry ) const;
|
2017-05-14 09:48:41 +02:00
|
|
|
|
2017-12-15 08:57:22 +10:00
|
|
|
|
2017-05-14 09:48:41 +02:00
|
|
|
protected:
|
|
|
|
|
2014-01-27 09:22:24 +01:00
|
|
|
};
|
2017-05-14 09:48:41 +02:00
|
|
|
|
|
|
|
/************************************************************************
|
|
|
|
* This file has been generated automatically from *
|
|
|
|
* *
|
|
|
|
* src/core/qgsgeometrysimplifier.h *
|
|
|
|
* *
|
|
|
|
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
|
|
|
|
************************************************************************/
|