QGIS API Documentation  3.19.0-Master (898a03ac22)
Public Member Functions | Static Public Member Functions | List of all members
QgsRectangle Class Reference

A rectangle specified with double values. More...

#include <qgsrectangle.h>

Inheritance diagram for QgsRectangle:
Inheritance graph
[legend]

Public Member Functions

 QgsRectangle ()=default
 Constructor for a null rectangle. More...
 
 QgsRectangle (const QgsPointXY &p1, const QgsPointXY &p2, bool normalize=true) SIP_HOLDGIL
 Construct a rectangle from two points. More...
 
 QgsRectangle (const QgsRectangle &other) SIP_HOLDGIL
 Copy constructor. More...
 
 QgsRectangle (const QRectF &qRectF) SIP_HOLDGIL
 Construct a rectangle from a QRectF. More...
 
 QgsRectangle (double xMin, double yMin=0, double xMax=0, double yMax=0, bool normalize=true) SIP_HOLDGIL
 Constructs a QgsRectangle from a set of x and y minimum and maximum coordinates. More...
 
 ~QgsRectangle ()=default
 
double area () const SIP_HOLDGIL
 Returns the area of the rectangle. More...
 
QString asPolygon () const
 Returns the rectangle as a polygon. More...
 
QString asWktCoordinates () const
 Returns a string representation of the rectangle in WKT format. More...
 
QString asWktPolygon () const
 Returns a string representation of the rectangle as a WKT Polygon. More...
 
QgsRectangle buffered (double width) const
 Gets rectangle enlarged by buffer. More...
 
QgsPointXY center () const SIP_HOLDGIL
 Returns the center point of the rectangle. More...
 
void combineExtentWith (const QgsPointXY &point)
 Expands the rectangle so that it covers both the original rectangle and the given point. More...
 
void combineExtentWith (const QgsRectangle &rect)
 Expands the rectangle so that it covers both the original rectangle and the given rectangle. More...
 
void combineExtentWith (double x, double y)
 Expands the rectangle so that it covers both the original rectangle and the given point. More...
 
bool contains (const QgsPointXY &p) const SIP_HOLDGIL
 Returns true when rectangle contains a point. More...
 
bool contains (const QgsRectangle &rect) const SIP_HOLDGIL
 Returns true when rectangle contains other rectangle. More...
 
bool contains (double x, double y) const SIP_HOLDGIL
 Returns true when rectangle contains the point at (x, y). More...
 
double distance (const QgsPointXY &point) const
 Returns the distance from point to the nearest point on the boundary of the rectangle. More...
 
void grow (double delta)
 Grows the rectangle in place by the specified amount. More...
 
double height () const SIP_HOLDGIL
 Returns the height of the rectangle. More...
 
void include (const QgsPointXY &p)
 Updates the rectangle to include the specified point. More...
 
QgsRectangle intersect (const QgsRectangle &rect) const
 Returns the intersection with the given rectangle. More...
 
bool intersects (const QgsRectangle &rect) const SIP_HOLDGIL
 Returns true when rectangle intersects with other rectangle. More...
 
void invert ()
 Swap x/y coordinates in the rectangle. More...
 
bool isEmpty () const
 Returns true if the rectangle is empty. More...
 
bool isFinite () const
 Returns true if the rectangle has finite boundaries. More...
 
bool isNull () const
 Test if the rectangle is null (all coordinates zero or after call to setMinimal()). More...
 
void normalize ()
 Normalize the rectangle so it has non-negative width/height. More...
 
 operator QVariant () const
 Allows direct construction of QVariants from rectangles. More...
 
bool operator!= (const QgsRectangle &r1) const
 Comparison operator. More...
 
QgsRectangle operator+ (QgsVector v) const
 Returns a rectangle offset from this one in the direction of the vector. More...
 
QgsRectangleoperator+= (QgsVector v)
 Moves this rectangle in the direction of the vector. More...
 
QgsRectangle operator- (QgsVector v) const
 Returns a rectangle offset from this one in the direction of the reversed vector. More...
 
QgsRectangleoperator-= (QgsVector v)
 Moves this rectangle in the direction of the reversed vector. More...
 
QgsRectangleoperator= (const QgsRectangle &r1)
 Assignment operator. More...
 
bool operator== (const QgsRectangle &r1) const
 Comparison operator. More...
 
double perimeter () const SIP_HOLDGIL
 Returns the perimeter of the rectangle. More...
 
void scale (double scaleFactor, const QgsPointXY *c=nullptr)
 Scale the rectangle around its center point. More...
 
void scale (double scaleFactor, double centerX, double centerY)
 Scale the rectangle around its center point. More...
 
QgsRectangle scaled (double scaleFactor, const QgsPointXY *center=nullptr) const
 Scale the rectangle around its center point. More...
 
void set (const QgsPointXY &p1, const QgsPointXY &p2, bool normalize=true)
 Sets the rectangle from two QgsPoints. More...
 
void set (double xMin, double yMin, double xMax, double yMax, bool normalize=true)
 Sets the rectangle from four points. More...
 
void setMinimal () SIP_HOLDGIL
 Set a rectangle so that min corner is at max and max corner is at min. More...
 
void setXMaximum (double x) SIP_HOLDGIL
 Set the maximum x value. More...
 
void setXMinimum (double x) SIP_HOLDGIL
 Set the minimum x value. More...
 
void setYMaximum (double y) SIP_HOLDGIL
 Set the maximum y value. More...
 
void setYMinimum (double y) SIP_HOLDGIL
 Set the minimum y value. More...
 
QgsRectangle snappedToGrid (double spacing) const
 Returns a copy of this rectangle that is snapped to a grid with the specified spacing between the grid lines. More...
 
QgsBox3d toBox3d (double zMin, double zMax) const
 Converts the rectangle to a 3D box, with the specified zMin and zMax z values. More...
 
QRectF toRectF () const
 Returns a QRectF with same coordinates as the rectangle. More...
 
QString toString (int precision=16) const
 Returns a string representation of form xmin,ymin : xmax,ymax Coordinates will be truncated to the specified precision. More...
 
double width () const SIP_HOLDGIL
 Returns the width of the rectangle. More...
 
double xMaximum () const SIP_HOLDGIL
 Returns the x maximum value (right side of rectangle). More...
 
double xMinimum () const SIP_HOLDGIL
 Returns the x minimum value (left side of rectangle). More...
 
double yMaximum () const SIP_HOLDGIL
 Returns the y maximum value (top side of rectangle). More...
 
double yMinimum () const SIP_HOLDGIL
 Returns the y minimum value (bottom side of rectangle). More...
 

Static Public Member Functions

static QgsRectangle fromCenterAndSize (QgsPointXY center, double width, double height)
 Creates a new rectangle, given the specified center point and width and height. More...
 
static QgsRectangle fromWkt (const QString &wkt)
 Creates a new rectangle from a wkt string. More...
 

Detailed Description

A rectangle specified with double values.

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

See also
QgsBox3d

Definition at line 41 of file qgsrectangle.h.

Constructor & Destructor Documentation

◆ QgsRectangle() [1/5]

QgsRectangle::QgsRectangle ( )
default

Constructor for a null rectangle.

◆ QgsRectangle() [2/5]

QgsRectangle::QgsRectangle ( double  xMin,
double  yMin = 0,
double  xMax = 0,
double  yMax = 0,
bool  normalize = true 
)
inlineexplicit

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.

Definition at line 54 of file qgsrectangle.h.

◆ QgsRectangle() [3/5]

QgsRectangle::QgsRectangle ( const QgsPointXY p1,
const QgsPointXY p2,
bool  normalize = true 
)
inline

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.

Definition at line 70 of file qgsrectangle.h.

◆ QgsRectangle() [4/5]

QgsRectangle::QgsRectangle ( const QRectF &  qRectF)
inline

Construct a rectangle from a QRectF.

The rectangle is NOT normalized after construction.

Definition at line 80 of file qgsrectangle.h.

◆ QgsRectangle() [5/5]

QgsRectangle::QgsRectangle ( const QgsRectangle other)
inline

Copy constructor.

Definition at line 89 of file qgsrectangle.h.

◆ ~QgsRectangle()

QgsRectangle::~QgsRectangle ( )
default

Member Function Documentation

◆ area()

double QgsRectangle::area ( ) const
inline

Returns the area of the rectangle.

See also
width()
height()
perimeter()
Since
QGIS 3.0

Definition at line 239 of file qgsrectangle.h.

◆ asPolygon()

QString QgsRectangle::asPolygon ( ) const

Returns the rectangle as a polygon.

Definition at line 157 of file qgsrectangle.cpp.

◆ asWktCoordinates()

QString QgsRectangle::asWktCoordinates ( ) const

Returns a string representation of the rectangle in WKT format.

Definition at line 104 of file qgsrectangle.cpp.

◆ asWktPolygon()

QString QgsRectangle::asWktPolygon ( ) const

Returns a string representation of the rectangle as a WKT Polygon.

Definition at line 113 of file qgsrectangle.cpp.

◆ buffered()

QgsRectangle QgsRectangle::buffered ( double  width) const
inline

Gets rectangle enlarged by buffer.

Note
In earlier QGIS releases this method was named buffer().
See also
grow()
Since
QGIS 3.0

Definition at line 325 of file qgsrectangle.h.

◆ center()

QgsPointXY QgsRectangle::center ( ) const
inline

Returns the center point of the rectangle.

Definition at line 251 of file qgsrectangle.h.

◆ combineExtentWith() [1/3]

void QgsRectangle::combineExtentWith ( const QgsPointXY point)
inline

Expands the rectangle so that it covers both the original rectangle and the given point.

Since
QGIS 3.2

Definition at line 425 of file qgsrectangle.h.

◆ combineExtentWith() [2/3]

void QgsRectangle::combineExtentWith ( const QgsRectangle rect)
inline

Expands the rectangle so that it covers both the original rectangle and the given rectangle.

Definition at line 391 of file qgsrectangle.h.

◆ combineExtentWith() [3/3]

void QgsRectangle::combineExtentWith ( double  x,
double  y 
)
inline

Expands the rectangle so that it covers both the original rectangle and the given point.

Definition at line 407 of file qgsrectangle.h.

◆ contains() [1/3]

bool QgsRectangle::contains ( const QgsPointXY p) const
inline

Returns true when rectangle contains a point.

Definition at line 371 of file qgsrectangle.h.

◆ contains() [2/3]

bool QgsRectangle::contains ( const QgsRectangle rect) const
inline

Returns true when rectangle contains other rectangle.

Definition at line 363 of file qgsrectangle.h.

◆ contains() [3/3]

bool QgsRectangle::contains ( double  x,
double  y 
) const
inline

Returns true when rectangle contains the point at (x, y).

Since
QGIS 3.20

Definition at line 382 of file qgsrectangle.h.

◆ distance()

double QgsRectangle::distance ( const QgsPointXY point) const
inline

Returns the distance from point to the nearest point on the boundary of the rectangle.

Since
QGIS 3.14

Definition at line 434 of file qgsrectangle.h.

◆ fromCenterAndSize()

QgsRectangle QgsRectangle::fromCenterAndSize ( QgsPointXY  center,
double  width,
double  height 
)
static

Creates a new rectangle, given the specified center point and width and height.

Since
QGIS 3.0

Definition at line 52 of file qgsrectangle.cpp.

◆ fromWkt()

QgsRectangle QgsRectangle::fromWkt ( const QString &  wkt)
static

Creates a new rectangle from a wkt string.

The WKT must contain only 5 vertices, representing a rectangle aligned with X and Y axes.

Since
QGIS 3.0

Definition at line 34 of file qgsrectangle.cpp.

◆ grow()

void QgsRectangle::grow ( double  delta)
inline

Grows the rectangle in place by the specified amount.

See also
buffered()

Definition at line 296 of file qgsrectangle.h.

◆ height()

double QgsRectangle::height ( ) const
inline

Returns the height of the rectangle.

See also
width()
area()

Definition at line 230 of file qgsrectangle.h.

◆ include()

void QgsRectangle::include ( const QgsPointXY p)
inline

Updates the rectangle to include the specified point.

Definition at line 307 of file qgsrectangle.h.

◆ intersect()

QgsRectangle QgsRectangle::intersect ( const QgsRectangle rect) const
inline

Returns the intersection with the given rectangle.

Definition at line 333 of file qgsrectangle.h.

◆ intersects()

bool QgsRectangle::intersects ( const QgsRectangle rect) const
inline

Returns true when rectangle intersects with other rectangle.

Definition at line 349 of file qgsrectangle.h.

◆ invert()

void QgsRectangle::invert ( )
inline

Swap x/y coordinates in the rectangle.

Definition at line 575 of file qgsrectangle.h.

◆ isEmpty()

bool QgsRectangle::isEmpty ( ) const
inline

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).

Definition at line 469 of file qgsrectangle.h.

◆ isFinite()

bool QgsRectangle::isFinite ( ) const
inline

Returns true if the rectangle has finite boundaries.

Will return false if any of the rectangle boundaries are NaN or Inf.

Definition at line 559 of file qgsrectangle.h.

◆ isNull()

bool QgsRectangle::isNull ( ) const
inline

Test if the rectangle is null (all coordinates zero or after call to setMinimal()).

A null rectangle is also an empty rectangle.

Since
QGIS 2.4

Definition at line 479 of file qgsrectangle.h.

◆ normalize()

void QgsRectangle::normalize ( )
inline

Normalize the rectangle so it has non-negative width/height.

Definition at line 203 of file qgsrectangle.h.

◆ operator QVariant()

QgsRectangle::operator QVariant ( ) const
inline

Allows direct construction of QVariants from rectangles.

Definition at line 589 of file qgsrectangle.h.

◆ operator!=()

bool QgsRectangle::operator!= ( const QgsRectangle r1) const
inline

Comparison operator.

Returns
false if rectangles are equal

Definition at line 533 of file qgsrectangle.h.

◆ operator+()

QgsRectangle QgsRectangle::operator+ ( QgsVector  v) const

Returns a rectangle offset from this one in the direction of the vector.

Since
QGIS 3.0

Definition at line 77 of file qgsrectangle.cpp.

◆ operator+=()

QgsRectangle & QgsRectangle::operator+= ( QgsVector  v)

Moves this rectangle in the direction of the vector.

Since
QGIS 3.0

Definition at line 95 of file qgsrectangle.cpp.

◆ operator-()

QgsRectangle QgsRectangle::operator- ( QgsVector  v) const

Returns a rectangle offset from this one in the direction of the reversed vector.

Since
QGIS 3.0

Definition at line 68 of file qgsrectangle.cpp.

◆ operator-=()

QgsRectangle & QgsRectangle::operator-= ( QgsVector  v)

Moves this rectangle in the direction of the reversed vector.

Since
QGIS 3.0

Definition at line 86 of file qgsrectangle.cpp.

◆ operator=()

QgsRectangle& QgsRectangle::operator= ( const QgsRectangle r1)
inline

Assignment operator.

Parameters
r1QgsRectangle to assign from

Definition at line 542 of file qgsrectangle.h.

◆ operator==()

bool QgsRectangle::operator== ( const QgsRectangle r1) const
inline

Comparison operator.

Returns
true if rectangles are equal

Definition at line 521 of file qgsrectangle.h.

◆ perimeter()

double QgsRectangle::perimeter ( ) const
inline

Returns the perimeter of the rectangle.

See also
area()
Since
QGIS 3.0

Definition at line 246 of file qgsrectangle.h.

◆ scale() [1/2]

void QgsRectangle::scale ( double  scaleFactor,
const QgsPointXY c = nullptr 
)
inline

Scale the rectangle around its center point.

Definition at line 256 of file qgsrectangle.h.

◆ scale() [2/2]

void QgsRectangle::scale ( double  scaleFactor,
double  centerX,
double  centerY 
)
inline

Scale the rectangle around its center point.

Definition at line 276 of file qgsrectangle.h.

◆ scaled()

QgsRectangle QgsRectangle::scaled ( double  scaleFactor,
const QgsPointXY center = nullptr 
) const

Scale the rectangle around its center point.

Since
QGIS 3.4

Definition at line 61 of file qgsrectangle.cpp.

◆ set() [1/2]

void QgsRectangle::set ( const QgsPointXY p1,
const QgsPointXY p2,
bool  normalize = true 
)
inline

Sets the rectangle from two QgsPoints.

The rectangle is normalised after construction. Since QGIS 3.20, if normalize is false then the normalization step will not be applied automatically.

Definition at line 122 of file qgsrectangle.h.

◆ set() [2/2]

void QgsRectangle::set ( double  xMin,
double  yMin,
double  xMax,
double  yMax,
bool  normalize = true 
)
inline

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.

Definition at line 138 of file qgsrectangle.h.

◆ setMinimal()

void QgsRectangle::setMinimal ( )
inline

Set a rectangle so that min corner is at max and max corner is at min.

It is NOT normalized.

Definition at line 172 of file qgsrectangle.h.

◆ setXMaximum()

void QgsRectangle::setXMaximum ( double  x)
inline

Set the maximum x value.

Definition at line 156 of file qgsrectangle.h.

◆ setXMinimum()

void QgsRectangle::setXMinimum ( double  x)
inline

Set the minimum x value.

Definition at line 151 of file qgsrectangle.h.

◆ setYMaximum()

void QgsRectangle::setYMaximum ( double  y)
inline

Set the maximum y value.

Definition at line 166 of file qgsrectangle.h.

◆ setYMinimum()

void QgsRectangle::setYMinimum ( double  y)
inline

Set the minimum y value.

Definition at line 161 of file qgsrectangle.h.

◆ snappedToGrid()

QgsRectangle QgsRectangle::snappedToGrid ( double  spacing) const

Returns a copy of this rectangle that is snapped to a grid with the specified spacing between the grid lines.

Since
QGIS 3.4

Definition at line 185 of file qgsrectangle.cpp.

◆ toBox3d()

QgsBox3d QgsRectangle::toBox3d ( double  zMin,
double  zMax 
) const

Converts the rectangle to a 3D box, with the specified zMin and zMax z values.

Since
QGIS 3.0

Definition at line 180 of file qgsrectangle.cpp.

◆ toRectF()

QRectF QgsRectangle::toRectF ( ) const
inline

Returns a QRectF with same coordinates as the rectangle.

Definition at line 500 of file qgsrectangle.h.

◆ toString()

QString QgsRectangle::toString ( int  precision = 16) const

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.

Definition at line 127 of file qgsrectangle.cpp.

◆ width()

double QgsRectangle::width ( ) const
inline

Returns the width of the rectangle.

See also
height()
area()

Definition at line 223 of file qgsrectangle.h.

◆ xMaximum()

double QgsRectangle::xMaximum ( ) const
inline

Returns the x maximum value (right side of rectangle).

Definition at line 183 of file qgsrectangle.h.

◆ xMinimum()

double QgsRectangle::xMinimum ( ) const
inline

Returns the x minimum value (left side of rectangle).

Definition at line 188 of file qgsrectangle.h.

◆ yMaximum()

double QgsRectangle::yMaximum ( ) const
inline

Returns the y maximum value (top side of rectangle).

Definition at line 193 of file qgsrectangle.h.

◆ yMinimum()

double QgsRectangle::yMinimum ( ) const
inline

Returns the y minimum value (bottom side of rectangle).

Definition at line 198 of file qgsrectangle.h.


The documentation for this class was generated from the following files: