mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-10-27 00:04:49 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			383 lines
		
	
	
		
			9.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			383 lines
		
	
	
		
			9.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| /************************************************************************
 | |
|  * This file has been generated automatically from                      *
 | |
|  *                                                                      *
 | |
|  * src/core/geometry/qgsrectangle.h                                     *
 | |
|  *                                                                      *
 | |
|  * Do not edit manually ! Edit header and run scripts/sipify.pl again   *
 | |
|  ************************************************************************/
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| class QgsRectangle
 | |
| {
 | |
| %Docstring(signature="appended")
 | |
| A rectangle specified with double values.
 | |
| 
 | |
| :py:class:`QgsRectangle` is used to store a rectangle when double values are required.
 | |
| Examples are storing a layer extent or the current view extent of a map
 | |
| 
 | |
| .. seealso:: :py:class:`QgsBox3d`
 | |
| %End
 | |
| 
 | |
| %TypeHeaderCode
 | |
| #include "qgsrectangle.h"
 | |
| %End
 | |
|   public:
 | |
| 
 | |
|     QgsRectangle(); // optimised constructor for null rectangle - no need to call normalize here
 | |
| 
 | |
|     explicit QgsRectangle( double xMin, double yMin = 0, double xMax = 0, double yMax = 0, bool normalize = true ) /HoldGIL/;
 | |
| %Docstring
 | |
| Constructs a QgsRectangle from a set of x and y minimum and maximum coordinates.
 | |
| 
 | |
| The rectangle will be normalized after creation. Since QGIS 3.20, if ``normalize`` is ``False`` then
 | |
| the normalization step will not be applied automatically.
 | |
| %End
 | |
| 
 | |
|     QgsRectangle( const QgsPointXY &p1, const QgsPointXY &p2, bool normalize = true ) /HoldGIL/;
 | |
| %Docstring
 | |
| Construct a rectangle from two points.
 | |
| 
 | |
| The rectangle is normalized after construction. Since QGIS 3.20, if ``normalize`` is ``False`` then
 | |
| the normalization step will not be applied automatically.
 | |
| %End
 | |
| 
 | |
|     QgsRectangle( const QRectF &qRectF ) /HoldGIL/;
 | |
| %Docstring
 | |
| Construct a rectangle from a QRectF.
 | |
| 
 | |
| The rectangle is NOT normalized after construction.
 | |
| %End
 | |
| 
 | |
|     QgsRectangle( const QgsRectangle &other ) /HoldGIL/;
 | |
| %Docstring
 | |
| Copy constructor
 | |
| %End
 | |
| 
 | |
|     ~QgsRectangle();
 | |
| 
 | |
|     static QgsRectangle fromWkt( const QString &wkt );
 | |
| %Docstring
 | |
| Creates a new rectangle from a ``wkt`` string.
 | |
| The WKT must contain only 5 vertices, representing a rectangle aligned with X and Y axes.
 | |
| 
 | |
| .. versionadded:: 3.0
 | |
| %End
 | |
| 
 | |
|     static QgsRectangle fromCenterAndSize( const QgsPointXY ¢er, double width, double height );
 | |
| %Docstring
 | |
| Creates a new rectangle, given the specified ``center`` point
 | |
| and ``width`` and ``height``.
 | |
| 
 | |
| .. versionadded:: 3.0
 | |
| %End
 | |
| 
 | |
|     void set( const QgsPointXY &p1, const QgsPointXY &p2, bool normalize = true );
 | |
| %Docstring
 | |
| Sets the rectangle from two :py:class:`QgsPoints`.
 | |
| 
 | |
| The rectangle is normalised after construction. Since QGIS 3.20, if ``normalize`` is ``False`` then
 | |
| the normalization step will not be applied automatically.
 | |
| %End
 | |
| 
 | |
|     void set( double xMin, double yMin, double xMax, double yMax, bool normalize = true );
 | |
| %Docstring
 | |
| Sets the rectangle from four points.
 | |
| 
 | |
| The rectangle is normalised after construction. Since QGIS 3.20, if ``normalize`` is ``False`` then
 | |
| the normalization step will not be applied automatically.
 | |
| %End
 | |
| 
 | |
|     void setXMinimum( double x ) /HoldGIL/;
 | |
| %Docstring
 | |
| Set the minimum x value.
 | |
| %End
 | |
| 
 | |
|     void setXMaximum( double x ) /HoldGIL/;
 | |
| %Docstring
 | |
| Set the maximum x value.
 | |
| %End
 | |
| 
 | |
|     void setYMinimum( double y ) /HoldGIL/;
 | |
| %Docstring
 | |
| Set the minimum y value.
 | |
| %End
 | |
| 
 | |
|     void setYMaximum( double y ) /HoldGIL/;
 | |
| %Docstring
 | |
| Set the maximum y value.
 | |
| %End
 | |
| 
 | |
|     void setMinimal() /HoldGIL/;
 | |
| %Docstring
 | |
| Set a rectangle so that min corner is at max
 | |
| and max corner is at min. It is NOT normalized.
 | |
| %End
 | |
| 
 | |
|     double xMaximum() const /HoldGIL/;
 | |
| %Docstring
 | |
| Returns the x maximum value (right side of rectangle).
 | |
| %End
 | |
| 
 | |
|     double xMinimum() const /HoldGIL/;
 | |
| %Docstring
 | |
| Returns the x minimum value (left side of rectangle).
 | |
| %End
 | |
| 
 | |
|     double yMaximum() const /HoldGIL/;
 | |
| %Docstring
 | |
| Returns the y maximum value (top side of rectangle).
 | |
| %End
 | |
| 
 | |
|     double yMinimum() const /HoldGIL/;
 | |
| %Docstring
 | |
| Returns the y minimum value (bottom side of rectangle).
 | |
| %End
 | |
| 
 | |
|     void normalize();
 | |
| %Docstring
 | |
| Normalize the rectangle so it has non-negative width/height.
 | |
| %End
 | |
| 
 | |
|     double width() const /HoldGIL/;
 | |
| %Docstring
 | |
| Returns the width of the rectangle.
 | |
| 
 | |
| .. seealso:: :py:func:`height`
 | |
| 
 | |
| .. seealso:: :py:func:`area`
 | |
| %End
 | |
| 
 | |
|     double height() const /HoldGIL/;
 | |
| %Docstring
 | |
| Returns the height of the rectangle.
 | |
| 
 | |
| .. seealso:: :py:func:`width`
 | |
| 
 | |
| .. seealso:: :py:func:`area`
 | |
| %End
 | |
| 
 | |
|     double area() const /HoldGIL/;
 | |
| %Docstring
 | |
| Returns the area of the rectangle.
 | |
| 
 | |
| .. seealso:: :py:func:`width`
 | |
| 
 | |
| .. seealso:: :py:func:`height`
 | |
| 
 | |
| .. seealso:: :py:func:`perimeter`
 | |
| 
 | |
| .. versionadded:: 3.0
 | |
| %End
 | |
| 
 | |
|     double perimeter() const /HoldGIL/;
 | |
| %Docstring
 | |
| Returns the perimeter of the rectangle.
 | |
| 
 | |
| .. seealso:: :py:func:`area`
 | |
| 
 | |
| .. versionadded:: 3.0
 | |
| %End
 | |
| 
 | |
|     QgsPointXY center() const /HoldGIL/;
 | |
| %Docstring
 | |
| Returns the center point of the rectangle.
 | |
| %End
 | |
| 
 | |
|     void scale( double scaleFactor, const QgsPointXY *c = 0 );
 | |
| %Docstring
 | |
| Scale the rectangle around its center point.
 | |
| %End
 | |
| 
 | |
|     void scale( double scaleFactor, double centerX, double centerY );
 | |
| %Docstring
 | |
| Scale the rectangle around its center point.
 | |
| %End
 | |
| 
 | |
|     QgsRectangle scaled( double scaleFactor, const QgsPointXY *center = 0 ) const;
 | |
| %Docstring
 | |
| Scale the rectangle around its ``center`` point.
 | |
| 
 | |
| .. versionadded:: 3.4
 | |
| %End
 | |
| 
 | |
|     void grow( double delta );
 | |
| %Docstring
 | |
| Grows the rectangle in place by the specified amount.
 | |
| 
 | |
| .. seealso:: :py:func:`buffered`
 | |
| %End
 | |
| 
 | |
|     void include( const QgsPointXY &p );
 | |
| %Docstring
 | |
| Updates the rectangle to include the specified point.
 | |
| %End
 | |
| 
 | |
|     QgsRectangle buffered( double width ) const;
 | |
| %Docstring
 | |
| Gets rectangle enlarged by buffer.
 | |
| 
 | |
| .. note::
 | |
| 
 | |
|    In earlier QGIS releases this method was named :py:func:`~QgsRectangle.buffer`.
 | |
| 
 | |
| .. seealso:: :py:func:`grow`
 | |
| 
 | |
| .. versionadded:: 3.0
 | |
| %End
 | |
| 
 | |
|     QgsRectangle intersect( const QgsRectangle &rect ) const;
 | |
| %Docstring
 | |
| Returns the intersection with the given rectangle.
 | |
| %End
 | |
| 
 | |
|     bool intersects( const QgsRectangle &rect ) const /HoldGIL/;
 | |
| %Docstring
 | |
| Returns ``True`` when rectangle intersects with other rectangle.
 | |
| %End
 | |
| 
 | |
|     bool contains( const QgsRectangle &rect ) const /HoldGIL/;
 | |
| %Docstring
 | |
| Returns ``True`` when rectangle contains other rectangle.
 | |
| %End
 | |
| 
 | |
|     bool contains( const QgsPointXY &p ) const /HoldGIL/;
 | |
| %Docstring
 | |
| Returns ``True`` when rectangle contains a point.
 | |
| %End
 | |
| 
 | |
|     bool contains( double x, double y ) const /HoldGIL/;
 | |
| %Docstring
 | |
| Returns ``True`` when rectangle contains the point at (``x``, ``y``).
 | |
| 
 | |
| .. versionadded:: 3.20
 | |
| %End
 | |
| 
 | |
|     void combineExtentWith( const QgsRectangle &rect );
 | |
| %Docstring
 | |
| Expands the rectangle so that it covers both the original rectangle and the given rectangle.
 | |
| %End
 | |
| 
 | |
|     void combineExtentWith( double x, double y );
 | |
| %Docstring
 | |
| Expands the rectangle so that it covers both the original rectangle and the given point.
 | |
| %End
 | |
| 
 | |
|     void combineExtentWith( const QgsPointXY &point );
 | |
| %Docstring
 | |
| Expands the rectangle so that it covers both the original rectangle and the given point.
 | |
| 
 | |
| .. versionadded:: 3.2
 | |
| %End
 | |
| 
 | |
|     double distance( const QgsPointXY &point ) const;
 | |
| %Docstring
 | |
| Returns the distance from ``point`` to the nearest point on the boundary of the rectangle.
 | |
| 
 | |
| .. versionadded:: 3.14
 | |
| %End
 | |
| 
 | |
|     QgsRectangle operator-( QgsVector v ) const;
 | |
| 
 | |
|     QgsRectangle operator+( QgsVector v ) const;
 | |
| 
 | |
|     QgsRectangle &operator-=( QgsVector v );
 | |
| 
 | |
|     QgsRectangle &operator+=( QgsVector v );
 | |
| 
 | |
|     bool isEmpty() const;
 | |
| %Docstring
 | |
| Returns ``True`` if the rectangle is empty.
 | |
| An empty rectangle may still be non-null if it contains valid information (e.g. bounding box of a point).
 | |
| %End
 | |
| 
 | |
|     bool isNull() const;
 | |
| %Docstring
 | |
| Test if the rectangle is null (all coordinates zero or after call to :py:func:`~QgsRectangle.setMinimal`).
 | |
| A null rectangle is also an empty rectangle.
 | |
| 
 | |
| .. versionadded:: 2.4
 | |
| %End
 | |
| 
 | |
|     QString asWktCoordinates() const;
 | |
| %Docstring
 | |
| Returns a string representation of the rectangle in WKT format.
 | |
| %End
 | |
| 
 | |
|     QString asWktPolygon() const;
 | |
| %Docstring
 | |
| Returns a string representation of the rectangle as a WKT Polygon.
 | |
| %End
 | |
| 
 | |
|     QRectF toRectF() const;
 | |
| %Docstring
 | |
| Returns a QRectF with same coordinates as the rectangle.
 | |
| %End
 | |
| 
 | |
|     QString toString( int precision = 16 ) const;
 | |
| %Docstring
 | |
| Returns a string representation of form xmin,ymin : xmax,ymax
 | |
| Coordinates will be truncated to the specified precision.
 | |
| If the specified precision is less than 0, a suitable minimum precision is used.
 | |
| %End
 | |
| 
 | |
|     QString asPolygon() const;
 | |
| %Docstring
 | |
| Returns the rectangle as a polygon.
 | |
| %End
 | |
| 
 | |
|     bool operator==( const QgsRectangle &r1 ) const;
 | |
| 
 | |
|     bool operator!=( const QgsRectangle &r1 ) const;
 | |
| 
 | |
| 
 | |
|     bool isFinite() const;
 | |
| %Docstring
 | |
| Returns ``True`` if the rectangle has finite boundaries. Will
 | |
| return ``False`` if any of the rectangle boundaries are NaN or Inf.
 | |
| %End
 | |
| 
 | |
|     void invert();
 | |
| %Docstring
 | |
| Swap x/y coordinates in the rectangle.
 | |
| %End
 | |
| 
 | |
|     QgsBox3d toBox3d( double zMin, double zMax ) const;
 | |
| %Docstring
 | |
| Converts the rectangle to a 3D box, with the specified
 | |
| ``zMin`` and ``zMax`` z values.
 | |
| 
 | |
| .. versionadded:: 3.0
 | |
| %End
 | |
| 
 | |
|     operator QVariant() const;
 | |
| 
 | |
|     QgsRectangle snappedToGrid( double spacing ) const;
 | |
| %Docstring
 | |
| Returns a copy of this rectangle that is snapped to a grid with
 | |
| the specified ``spacing`` between the grid lines.
 | |
| 
 | |
| .. versionadded:: 3.4
 | |
| %End
 | |
| 
 | |
|     SIP_PYOBJECT __repr__();
 | |
| %MethodCode
 | |
|     QString str = QStringLiteral( "<QgsRectangle: %1>" ).arg( sipCpp->asWktCoordinates() );
 | |
|     sipRes = PyUnicode_FromString( str.toUtf8().constData() );
 | |
| %End
 | |
| 
 | |
| };
 | |
| 
 | |
| 
 | |
| 
 | |
| /************************************************************************
 | |
|  * This file has been generated automatically from                      *
 | |
|  *                                                                      *
 | |
|  * src/core/geometry/qgsrectangle.h                                     *
 | |
|  *                                                                      *
 | |
|  * Do not edit manually ! Edit header and run scripts/sipify.pl again   *
 | |
|  ************************************************************************/
 |