The QGeoRectangle class defines a rectangular geographic area. More...
Header: | #include <QGeoRectangle> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Positioning) target_link_libraries(mytarget PRIVATE Qt6::Positioning) |
qmake: | QT += positioning |
Since: | Qt 5.2 |
Inherits: | QGeoShape |
|
QGeoRectangle(const QGeoShape &other) | |
QGeoRectangle(const QGeoRectangle &other) | |
QGeoRectangle(const QList<QGeoCoordinate> &coordinates) | |
QGeoRectangle(const QGeoCoordinate &topLeft, const QGeoCoordinate &bottomRight) | |
QGeoRectangle(const QGeoCoordinate ¢er, double degreesWidth, double degreesHeight) | |
QGeoRectangle() | |
QGeoRectangle & | operator=(const QGeoRectangle &other) |
~QGeoRectangle() | |
QGeoCoordinate | bottomLeft() const |
QGeoCoordinate | bottomRight() const |
QGeoCoordinate | center() const |
bool | contains(const QGeoRectangle &rectangle) const |
void | extendRectangle(const QGeoCoordinate &coordinate) |
double | height() const |
bool | intersects(const QGeoRectangle &rectangle) const |
void | setBottomLeft(const QGeoCoordinate &bottomLeft) |
void | setBottomRight(const QGeoCoordinate &bottomRight) |
void | setCenter(const QGeoCoordinate ¢er) |
void | setHeight(double degreesHeight) |
void | setTopLeft(const QGeoCoordinate &topLeft) |
void | setTopRight(const QGeoCoordinate &topRight) |
void | setWidth(double degreesWidth) |
QString | toString() const |
QGeoCoordinate | topLeft() const |
QGeoCoordinate | topRight() const |
void | translate(double degreesLatitude, double degreesLongitude) |
QGeoRectangle | translated(double degreesLatitude, double degreesLongitude) const |
QGeoRectangle | united(const QGeoRectangle &rectangle) const |
double | width() const |
QGeoRectangle | operator|(const QGeoRectangle &rectangle) const |
QGeoRectangle & | operator|=(const QGeoRectangle &rectangle) |
The rectangle is defined in terms of a QGeoCoordinate which specifies the top left coordinate of the rectangle and a QGeoCoordinate which specifies the bottom right coordinate of the rectangle.
A geo rectangle is considered invalid if the top left or bottom right coordinates are invalid or if the top left coordinate is south of the bottom right coordinate.
Geo rectangles can never cross the poles.
Several methods behave as though the geo rectangle is defined in terms of a center coordinate, the width of the geo rectangle in degrees and the height of the geo rectangle in degrees.
If the height or center of a geo rectangle is adjusted such that it would cross one of the poles the height is modified such that the geo rectangle touches but does not cross the pole and that the center coordinate is still in the center of the geo rectangle.
This class is a Q_GADGET since Qt 5.5. It can be directly used from C++ and QML.
[since 5.5]
bottomLeft : QGeoCoordinateThis property holds the bottom left coorindate of this geo rectangle.
While this property is introduced in Qt 5.5, the related accessor functions exist since the first version of this class.
This property was introduced in Qt 5.5.
Access functions:
QGeoCoordinate | bottomLeft() const |
void | setBottomLeft(const QGeoCoordinate &bottomLeft) |
[since 5.5]
bottomRight : QGeoCoordinateThis property holds the bottom right coordinate of this geo rectangle.
While this property is introduced in Qt 5.5, the related accessor functions exist since the first version of this class.
This property was introduced in Qt 5.5.
Access functions:
QGeoCoordinate | bottomRight() const |
void | setBottomRight(const QGeoCoordinate &bottomRight) |
[since 5.5]
center : QGeoCoordinateThis property holds the center of this geo rectangle.
While this property is introduced in Qt 5.5, the related accessor functions exist since the first version of this class.
This property was introduced in Qt 5.5.
Access functions:
See also QGeoShape::center.
[since 5.5]
height : doubleThis property holds the height of this geo rectangle in degrees.
The property value is undefined if this geo rectangle is invalid.
If the new height is less than 0.0 or if this geo rectangle is invalid, the property is not changed. To set up the values of an invalid geo rectangle based on the center, width, and height, you should use setCenter() first to make the geo rectangle valid.
If the change in height would cause the geo rectangle to cross a pole, the height is adjusted such that the geo rectangle only touches the pole.
This change is done such that the center coordinate is still at the center of the geo rectangle, which may result in a geo rectangle with a smaller height than expected.
180.0 is the height used only if the new height is greater or equal than 180.
While this property is introduced in Qt 5.5, the related accessor functions exist since the first version of this class.
This property was introduced in Qt 5.5.
Access functions:
[since 5.5]
topLeft : QGeoCoordinateThis property holds the top left coordinate of this geo rectangle.
While this property is introduced in Qt 5.5, the related accessor functions exist since the first version of this class.
This property was introduced in Qt 5.5.
Access functions:
QGeoCoordinate | topLeft() const |
void | setTopLeft(const QGeoCoordinate &topLeft) |
[since 5.5]
topRight : QGeoCoordinateThis property holds the top right coordinate of this geo rectangle.
While this property is introduced in Qt 5.5, the related accessor functions exist since the first version of this class.
This property was introduced in Qt 5.5.
Access functions:
QGeoCoordinate | topRight() const |
void | setTopRight(const QGeoCoordinate &topRight) |
[since 5.5]
width : doubleThis property holds the width of this geo rectangle in degrees.
The property value is undefined if this geo rectangle is invalid.
If the new width is less than 0.0 or if this geo rectangle is invalid, this function does nothing. To set up the values of an invalid geo rectangle based on the center, width, and height, you should use setCenter() first to make the geo rectangle valid.
360.0 is the width used only if the new width is equal or greater than 360. In such cases the leftmost longitude of the geo rectangle is set to -180.0 degrees and the rightmost longitude of the geo rectangle is set to 180.0 degrees.
While this property is introduced in Qt 5.5, the related accessor functions exist since the first version of this class.
This property was introduced in Qt 5.5.
Access functions:
Constructs a geo rectangle from the contents of other.
Constructs a geo rectangle from the contents of other.
Constructs a new geo rectangle, of minimum size, containing all of the coordinates.
Constructs a new geo rectangle with a top left coordinate topLeft and a bottom right coordinate bottomRight.
Constructs a new geo rectangle centered at center with a width in degrees of degreesWidth and a height in degrees of degreesHeight.
If degreesHeight would take the geo rectangle beyond one of the poles, the height of the geo rectangle will be truncated such that the geo rectangle only extends up to the pole. The center of the geo rectangle will be unchanged, and the height will be adjusted such that the center point is at the center of the truncated geo rectangle.
Constructs a new, invalid geo rectangle.
Assigns other to this geo rectangle and returns a reference to this geo rectangle.
Destroys this geo rectangle.
Returns the bottom left coordinate of this geo rectangle.
Note: Getter function for property bottomLeft.
See also setBottomLeft().
Returns the bottom right coordinate of this geo rectangle.
Note: Getter function for property bottomRight.
See also setBottomRight().
Returns the center of this geo rectangle. Equivalent to QGeoShape::center().
Note: Getter function for property center.
See also setCenter().
Returns whether the geo rectangle rectangle is contained within this geo rectangle.
[invokable, since 5.9]
void QGeoRectangle::extendRectangle(const QGeoCoordinate &coordinate)Extends the geo rectangle to also cover the coordinate coordinate
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
This function was introduced in Qt 5.9.
Returns the height of this geo rectangle in degrees.
The return value is undefined if this geo rectangle is invalid.
Note: Getter function for property height.
See also setHeight().
[invokable]
bool QGeoRectangle::intersects(const QGeoRectangle &rectangle) constReturns whether the geo rectangle rectangle intersects this geo rectangle.
If the top or bottom edges of both geo rectangles are at one of the poles the geo rectangles are considered to be intersecting, since the longitude is irrelevant when the edges are at the pole.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
Sets the bottom left coordinate of this geo rectangle to bottomLeft.
Note: Setter function for property bottomLeft.
See also bottomLeft().
Sets the bottom right coordinate of this geo rectangle to bottomRight.
Note: Setter function for property bottomRight.
See also bottomRight().
Sets the center of this geo rectangle to center.
If this causes the geo rectangle to cross on of the poles the height of the geo rectangle will be truncated such that the geo rectangle only extends up to the pole. The center of the geo rectangle will be unchanged, and the height will be adjusted such that the center point is at the center of the truncated geo rectangle.
Note: Setter function for property center.
See also center().
Sets the height of this geo rectangle in degrees to degreesHeight.
Note: Setter function for property height.
See also height().
Sets the top left coordinate of this geo rectangle to topLeft.
Note: Setter function for property topLeft.
See also topLeft().
Sets the top right coordinate of this geo rectangle to topRight.
Note: Setter function for property topRight.
See also topRight().
Sets the width of this geo rectangle in degrees to degreesWidth.
Note: Setter function for property width.
See also width().
[invokable, since 5.5]
QString QGeoRectangle::toString() constReturns the geo rectangle properties as a string.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
This function was introduced in Qt 5.5.
Returns the top left coordinate of this geo rectangle.
Note: Getter function for property topLeft.
See also setTopLeft().
Returns the top right coordinate of this geo rectangle.
Note: Getter function for property topRight.
See also setTopRight().
[invokable]
void QGeoRectangle::translate(double degreesLatitude, double
degreesLongitude)Translates this geo rectangle by degreesLatitude northwards and degreesLongitude eastwards.
Negative values of degreesLatitude and degreesLongitude correspond to southward and westward translation respectively.
If the translation would have caused the geo rectangle to cross a pole the geo rectangle will be translated until the top or bottom edge of the geo rectangle touches the pole but not further.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
[invokable]
QGeoRectangle QGeoRectangle::translated(double degreesLatitude, double degreesLongitude) constReturns a copy of this geo rectangle translated by degreesLatitude northwards and degreesLongitude eastwards.
Negative values of degreesLatitude and degreesLongitude correspond to southward and westward translation respectively.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
See also translate().
[invokable]
QGeoRectangle QGeoRectangle::united(const QGeoRectangle &rectangle) constReturns the smallest geo rectangle which contains both this geo rectangle and rectangle.
If the centers of the two geo rectangles are separated by exactly 180.0 degrees then the width is set to 360.0 degrees with the leftmost longitude set to -180.0 degrees and the rightmost longitude set to 180.0 degrees. This is done to ensure that the result is independent of the order of the operands.
Note: This function can be invoked via the meta-object system and from QML. See Q_INVOKABLE.
Returns the width of this geo rectangle in degrees.
The return value is undefined if this geo rectangle is invalid.
Note: Getter function for property width.
See also setWidth().
Returns the smallest geo rectangle which contains both this geo rectangle and rectangle.
If the centers of the two geo rectangles are separated by exactly 180.0 degrees then the width is set to 360.0 degrees with the leftmost longitude set to -180.0 degrees and the rightmost longitude set to 180.0 degrees. This is done to ensure that the result is independent of the order of the operands.
Returns the smallest geo rectangle which contains both this geo rectangle and rectangle.
If the centers of the two geo rectangles are separated by exactly 180.0 degrees then the width is set to 360.0 degrees with the leftmost longitude set to -180.0 degrees and the rightmost longitude set to 180.0 degrees. This is done to ensure that the result is independent of the order of the operands.