Класс QGeoRectangle
Класс QGeoRectangle определяет прямоугольную географическую область. Подробнее...
| Заголовок: | #include <QGeoRectangle> |
| CMake: | find_package(Qt6 COMPONENTS Positioning REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Positioning) |
| qmake: | QT += positioning |
| С версии: | Qt 5.2 |
| Наследует: | 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) |
Подробное описание
Прямоугольник определяется с помощью QGeoCoordinate, который задает левую верхнюю координату прямоугольника, и QGeoCoordinate, который задает правую нижнюю координату прямоугольника.
Географический прямоугольник считается недействительным, если левая верхняя или правая нижняя координаты недействительны или если левая верхняя координата находится южнее правой нижней координаты.
Географические прямоугольники никогда не пересекают полюса.
Несколько методов ведут себя так, как будто географический прямоугольник определен с помощью центральной координаты, ширины географического прямоугольника в градусах и высоты географического прямоугольника в градусах.
Если высота или центр географического прямоугольника корректируются таким образом, что он пересекает один из полюсов, высота изменяется так, чтобы географический прямоугольник касался, но не пересекал полюс, и чтобы центральная координата оставалась в центре географического прямоугольника.
Этот класс является Q_GADGET начиная с Qt 5.5. Он может быть непосредственно использован из C++ и QML.
Документация свойств
[since 5.5] bottomLeft : QGeoCoordinate
Это свойство содержит координаты нижней левой точки этого гео-прямоугольника.
Хотя это свойство было добавлено в Qt 5.5, соответствующие функции-доступа существуют с первой версии этого класса.
Это свойство было добавлено в Qt 5.5.
Функции доступа:
| QGeoCoordinate | bottomLeft() const |
| void | setBottomLeft(const QGeoCoordinate &bottomLeft) |
[since 5.5] bottomRight : QGeoCoordinate
Это свойство содержит координаты нижней правой точки этого гео-прямоугольника.
Хотя это свойство было добавлено в Qt 5.5, соответствующие функции-доступа существуют с первой версии этого класса.
Это свойство было добавлено в Qt 5.5.
Функции доступа:
| QGeoCoordinate | bottomRight() const |
| void | setBottomRight(const QGeoCoordinate &bottomRight) |
[since 5.5] center : QGeoCoordinate
Это свойство содержит центр этого гео-прямоугольника.
Хотя это свойство было добавлено в Qt 5.5, соответствующие функции-доступа существуют с первой версии этого класса.
Это свойство было добавлено в Qt 5.5.
Функции доступа:
| QGeoCoordinate | center() const |
| void | setCenter(const QGeoCoordinate ¢er) |
См. также QGeoShape::center.
[since 5.5] height : double
Это свойство содержит высоту этого гео-прямоугольника в градусах.
Значение свойства не определено, если этот гео-прямоугольник некорректен.
Если новая высота меньше 0.0 или этот гео-прямоугольник некорректен, свойство не изменяется. Для настройки значений некорректного гео-прямоугольника на основе центра, ширины и высоты, необходимо сначала использовать setCenter() для его валидации.
Если изменение высоты приведет к пересечению гео-прямоугольником полюса, высота корректируется таким образом, чтобы гео-прямоугольник только касался полюса.
Это изменение выполняется так, чтобы координата центра по-прежнему находилась в центре гео-прямоугольника, что может привести к гео-прямоугольнику с меньшей высотой, чем ожидалось.
180.0 используется в качестве высоты только в том случае, если новая высота больше или равна 180.
Хотя это свойство было добавлено в Qt 5.5, соответствующие функции-доступа существуют с первой версии этого класса.
Это свойство было добавлено в Qt 5.5.
Функции доступа:
| double | height() const |
| void | setHeight(double degreesHeight) |
[since 5.5] topLeft : QGeoCoordinate
Это свойство содержит координаты верхней левой точки этого гео-прямоугольника.
Хотя это свойство было добавлено в Qt 5.5, соответствующие функции-доступа существуют с первой версии этого класса.
Это свойство было добавлено в Qt 5.5.
Функции доступа:
| QGeoCoordinate | topLeft() const |
| void | setTopLeft(const QGeoCoordinate &topLeft) |
[since 5.5] topRight : QGeoCoordinate
Это свойство содержит координаты верхней правой точки этого гео-прямоугольника.
Хотя это свойство было добавлено в Qt 5.5, соответствующие функции-доступа существуют с первой версии этого класса.
Это свойство было добавлено в Qt 5.5.
Функции доступа:
| QGeoCoordinate | topRight() const |
| void | setTopRight(const QGeoCoordinate &topRight) |
[since 5.5] width : double
Это свойство содержит ширину этого гео-прямоугольника в градусах.
Значение свойства не определено, если этот гео-прямоугольник некорректен.
Если новая ширина меньше 0.0 или этот гео-прямоугольник некорректен, эта функция ничего не делает. Для настройки значений некорректного гео-прямоугольника на основе центра, ширины и высоты, необходимо сначала использовать setCenter() для его валидации.
360.0 используется в качестве ширины только в том случае, если новая ширина больше или равна 360. В таких случаях левая долгота гео-прямоугольника устанавливается в -180.0 градусов, а правая долгота - в 180.0 градусов.
Хотя это свойство было добавлено в Qt 5.5, соответствующие функции-доступа существуют с первой версии этого класса.
Это свойство было добавлено в Qt 5.5.
Функции доступа:
| double | width() const |
| void | setWidth(double degreesWidth) |
Документация функций-членов
QGeoRectangle::QGeoRectangle(const QGeoShape &other)
Создаёт гео-прямоугольник из содержимого other.
QGeoRectangle::QGeoRectangle(const QGeoRectangle &other)
Создаёт гео-прямоугольник из содержимого other.
QGeoRectangle::QGeoRectangle(const QList<QGeoCoordinate> &coordinates)
Создаёт новый гео-прямоугольник минимального размера, содержащий все coordinates.
QGeoRectangle::QGeoRectangle(const QGeoCoordinate &topLeft, const QGeoCoordinate &bottomRight)
Создаёт новый гео-прямоугольник с координатами верхней левой точки topLeft и нижней правой точки bottomRight.
QGeoRectangle::QGeoRectangle(const QGeoCoordinate ¢er, double degreesWidth, double degreesHeight)
Создаёт новый гео-прямоугольник, центрированный в center, с шириной degreesWidth и высотой degreesHeight в градусах.
Если degreesHeight выведет гео-прямоугольник за пределы одного из полюсов, высота гео-прямоугольника будет усечена так, чтобы гео-прямоугольник простирался только до полюса. Центр гео-прямоугольника останется неизменным, а высота будет скорректирована так, чтобы центральная точка была в центре усечённого гео-прямоугольника.
QGeoRectangle::QGeoRectangle()
Создаёт новый, некорректный гео-прямоугольник.
QGeoRectangle &QGeoRectangle::operator=(const QGeoRectangle &other)
Присваивает other этому гео-прямоугольнику и возвращает ссылку на этот гео-прямоугольник.
QGeoRectangle::~QGeoRectangle()
Удаляет этот гео-прямоугольник.
QGeoCoordinate QGeoRectangle::bottomLeft() const
Возвращает координаты нижней левой точки этого гео-прямоугольника.
Примечание: Функция-получатель для свойства bottomLeft.
См. также setBottomLeft().
QGeoCoordinate QGeoRectangle::bottomRight() const
Возвращает координаты нижней правой точки этого гео-прямоугольника.
Примечание: Функция-получатель для свойства bottomRight.
См. также setBottomRight().
QGeoCoordinate QGeoRectangle::center() const
Возвращает центр этого гео-прямоугольника. Эквивалентно QGeoShape::center().
Примечание: Функция-получатель для свойства center.
См. также setCenter().
bool QGeoRectangle::contains(const QGeoRectangle &rectangle) const
Возвращает значение, указывающее, содержится ли геопрямоугольник rectangle в этом геопрямоугольнике.
[invokable, since 5.9] void QGeoRectangle::extendRectangle(const QGeoCoordinate &coordinate)
Расширяет геопрямоугольник, чтобы он также охватывал координату coordinate.
Примечание: Данную функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.
Данная функция была введена в Qt 5.9.
double QGeoRectangle::height() const
Возвращает высоту этого геопрямоугольника в градусах.
Возвращаемое значение неопределено, если этот геопрямоугольник некорректен.
Примечание: Функция-геттер для свойства height.
См. также setHeight().
[invokable] bool QGeoRectangle::intersects(const QGeoRectangle &rectangle) const
Возвращает значение, указывающее, пересекается ли геопрямоугольник rectangle с этим геопрямоугольником.
Если верхние или нижние грани обоих геопрямоугольников находятся на одном из полюсов, геопрямоугольники считаются пересекающимися, поскольку долгота не имеет значения, когда грани находятся на полюсе.
Примечание: Данную функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.
void QGeoRectangle::setBottomLeft(const QGeoCoordinate &bottomLeft)
Устанавливает нижнюю левую координату этого геопрямоугольника в bottomLeft.
Примечание: Функция-сеттер для свойства bottomLeft.
См. также bottomLeft().
void QGeoRectangle::setBottomRight(const QGeoCoordinate &bottomRight)
Устанавливает нижнюю правую координату этого геопрямоугольника в bottomRight.
Примечание: Функция-сеттер для свойства bottomRight.
См. также bottomRight().
void QGeoRectangle::setCenter(const QGeoCoordinate ¢er)
Устанавливает центр этого геопрямоугольника в center.
Если это приводит к тому, что геопрямоугольник пересекает один из полюсов, высота геопрямоугольника будет усечена таким образом, что геопрямоугольник будет простираться только до полюса. Центр геопрямоугольника останется неизменным, а высота будет скорректирована таким образом, чтобы центральная точка находилась в центре усечённого геопрямоугольника.
Примечание: Функция-сеттер для свойства center.
См. также center().
void QGeoRectangle::setHeight(double degreesHeight)
Устанавливает высоту этого геопрямоугольника в градусах в degreesHeight.
Примечание: Функция-сеттер для свойства height.
См. также height().
void QGeoRectangle::setTopLeft(const QGeoCoordinate &topLeft)
Устанавливает верхнюю левую координату этого геопрямоугольника в topLeft.
Примечание: Функция-сеттер для свойства topLeft.
См. также topLeft().
void QGeoRectangle::setTopRight(const QGeoCoordinate &topRight)
Устанавливает верхнюю правую координату этого геопрямоугольника в topRight.
Примечание: Функция-сеттер для свойства topRight.
См. также topRight().
void QGeoRectangle::setWidth(double degreesWidth)
Устанавливает ширину этого геопрямоугольника в градусах в degreesWidth.
Примечание: Функция-сеттер для свойства width.
См. также width().
[invokable, since 5.5] QString QGeoRectangle::toString() const
Возвращает свойства геопрямоугольника в виде строки.
Примечание: Данную функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.
Данная функция была введена в Qt 5.5.
QGeoCoordinate QGeoRectangle::topLeft() const
Возвращает верхнюю левую координату этого геопрямоугольника.
Примечание: Функция-геттер для свойства topLeft.
См. также setTopLeft().
QGeoCoordinate QGeoRectangle::topRight() const
Возвращает верхнюю правую координату этого геопрямоугольника.
Примечание: Функция-геттер для свойства topRight.
См. также setTopRight().
[invokable] void QGeoRectangle::translate(double degreesLatitude, double degreesLongitude)
Перемещает этот геопрямоугольник на degreesLatitude градусов к северу и degreesLongitude градусов к востоку.
Отрицательные значения degreesLatitude и degreesLongitude соответствуют перемещению на юг и запад соответственно.
Если перемещение вызовет пересечение геопрямоугольника с полюсом, геопрямоугольник будет перемещен до тех пор, пока верхняя или нижняя грань геопрямоугольника не коснется полюса, но не дальше.
Примечание: Данную функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.
[invokable] QGeoRectangle QGeoRectangle::translated(double degreesLatitude, double degreesLongitude) const
Возвращает копию этого геопрямоугольника, перемещенного на degreesLatitude градусов к северу и degreesLongitude градусов к востоку.
Отрицательные значения degreesLatitude и degreesLongitude соответствуют перемещению на юг и запад соответственно.
Примечание: Данную функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.
См. также translate().
[invokable] QGeoRectangle QGeoRectangle::united(const QGeoRectangle &rectangle) const
Возвращает наименьший геопрямоугольник, содержащий как этот геопрямоугольник, так и rectangle.
Если центры двух геопрямоугольников разделены ровно на 180.0 градусов, ширина устанавливается в 360.0 градусов, с самой левой долготой -180.0 градусов и самой правой долготой 180.0 градусов. Это делается для обеспечения независимости результата от порядка операндов.
Примечание: Данную функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.
double QGeoRectangle::width() const
Возвращает ширину этого геопрямоугольника в градусах.
Возвращаемое значение неопределено, если этот геопрямоугольник некорректен.
Примечание: Функция-геттер для свойства width.
См. также setWidth().
QGeoRectangle QGeoRectangle::operator|(const QGeoRectangle &rectangle) const
Возвращает наименьший геопрямоугольник, содержащий как этот геопрямоугольник, так и rectangle.
Если центры двух геопрямоугольников разделены ровно на 180.0 градусов, ширина устанавливается в 360.0 градусов, с самой левой долготой -180.0 градусов и самой правой долготой 180.0 градусов. Это делается для обеспечения независимости результата от порядка операндов.
QGeoRectangle &QGeoRectangle::operator|=(const QGeoRectangle &rectangle)
Возвращает наименьший геопрямоугольник, содержащий как этот геопрямоугольник, так и rectangle.
Если центры двух геопрямоугольников разделены ровно на 180.0 градусов, ширина устанавливается в 360.0 градусов, с самой левой долготой -180.0 градусов и самой правой долготой 180.0 градусов. Это делается для обеспечения независимости результата от порядка операндов.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qgeorectangle.html