mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-10-29 00:07:54 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			89 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			89 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 simplify 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   *
 | |
|  ************************************************************************/
 |