QGIS/python/core/auto_generated/qgsgeometrysimplifier.sip.in
Nyall Dawson 3f6b490218 Sipify
2025-04-02 11:11:10 +10:00

96 lines
3.1 KiB
Plaintext

/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsgeometrysimplifier.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/
class QgsAbstractGeometrySimplifier
{
%Docstring(signature="appended")
Abstract base class for simplifying geometries using a specific
algorithm.
%End
%TypeHeaderCode
#include "qgsgeometrysimplifier.h"
%End
public:
virtual ~QgsAbstractGeometrySimplifier();
virtual QgsGeometry simplify( const QgsGeometry &geometry ) const = 0;
%Docstring
Returns a simplified version the specified geometry
%End
virtual QgsAbstractGeometry *simplify( const QgsAbstractGeometry *geometry ) const = 0 /Factory/;
%Docstring
Returns a simplified version the specified ``geometry``.
Will return ``None`` if no simplification is to be performed to the
geometry.
Caller takes ownership of the returned geometry.
.. versionadded:: 3.18
%End
public:
static bool isGeneralizableByDeviceBoundingBox( const QgsRectangle &envelope, float mapToPixelTol = 1.0f );
%Docstring
Returns whether the device-envelope can be replaced by its BBOX when is
applied the specified tolerance
%End
static bool isGeneralizableByDeviceBoundingBox( const QVector<QPointF> &points, float mapToPixelTol = 1.0f );
%Docstring
Returns whether the device-geometry can be replaced by its BBOX when is
applied the specified tolerance
%End
};
class QgsTopologyPreservingSimplifier : QgsAbstractGeometrySimplifier
{
%Docstring(signature="appended")
Implementation of GeometrySimplifier using the Douglas-Peucker
algorithm.
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.
%End
%TypeHeaderCode
#include "qgsgeometrysimplifier.h"
%End
public:
QgsTopologyPreservingSimplifier( double tolerance );
%Docstring
Constructor for QgsTopologyPreservingSimplifier. The tolerance parameter
is specified in layer units.
%End
virtual QgsGeometry simplify( const QgsGeometry &geometry ) const;
virtual QgsAbstractGeometry *simplify( const QgsAbstractGeometry *geometry ) const /Factory/;
protected:
};
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsgeometrysimplifier.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/