mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-11-04 00:04:25 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			96 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			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   *
 | 
						|
 ************************************************************************/
 |