Класс QGeoRectangle
Класс QGeoRectangle определяет прямоугольную географическую область. Подробнее...
| Заголовок: | #include <QGeoRectangle> |
| qmake: | QT += positioning |
| С тех пор: | Qt 5.2 |
| Наследует: | QGeoShape |
Этот класс был представлен в Qt 5.2.
Свойства
|
Открытые функции
| 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 |
| bool | operator!=(const QGeoRectangle &other) const |
| bool | operator==(const QGeoRectangle &other) const |
| QGeoRectangle | operator|(const QGeoRectangle &rectangle) const |
| QGeoRectangle & | operator|=(const QGeoRectangle &rectangle) |
Подробное описание
Прямоугольник определяется с помощью QGeoCoordinate, задающей координату верхнего левого угла прямоугольника, и QGeoCoordinate, задающей координату нижнего правого угла прямоугольника.
Геометрический прямоугольник считается недействительным, если координаты верхнего левого или нижнего правого углов недействительны или если координата верхнего левого угла расположена южнее координаты нижнего правого угла.
Геометрические прямоугольники никогда не пересекают полюса.
Некоторые методы ведут себя так, как будто геометрический прямоугольник определяется с помощью центральной координаты, ширины геометрического прямоугольника в градусах и высоты геометрического прямоугольника в градусах.
Если высота или центр геометрического прямоугольника корректируются таким образом, что он пересекает один из полюсов, высота изменяется таким образом, чтобы геометрический прямоугольник касался, но не пересекал полюс, а центральная координата по-прежнему находится в центре геометрического прямоугольника.
Этот класс является Q_GADGET с Qt 5.5. Он может быть непосредственно использован из C++ и QML.
Документация по свойствам
bottomLeft : QGeoCoordinate
Это свойство содержит координаты нижнего левого угла этого гео-прямоугольника.
Хотя это свойство было добавлено в Qt 5.5, соответствующие функции доступа существуют с первой версии этого класса.
Это свойство было добавлено в Qt 5.5.
Функции доступа:
| QGeoCoordinate | bottomLeft() const |
| void | setBottomLeft(const QGeoCoordinate &bottomLeft) |
bottomRight : QGeoCoordinate
Это свойство содержит координаты нижнего правого угла этого гео-прямоугольника.
Хотя это свойство было добавлено в Qt 5.5, соответствующие функции доступа существуют с первой версии этого класса.
Это свойство было добавлено в Qt 5.5.
Функции доступа:
| QGeoCoordinate | bottomRight() const |
| void | setBottomRight(const QGeoCoordinate &bottomRight) |
center : QGeoCoordinate
Это свойство содержит центр этого гео-прямоугольника.
Хотя это свойство было добавлено в Qt 5.5, соответствующие функции доступа существуют с первой версии этого класса.
Это свойство было добавлено в Qt 5.5.
Функции доступа:
| QGeoCoordinate | center() const |
| void | setCenter(const QGeoCoordinate ¢er) |
См. также QGeoShape::center.
height : double
Это свойство содержит высоту этого гео-прямоугольника в градусах.
Значение свойства не определено, если этот гео-прямоугольник недействителен.
Если новая высота меньше 0,0 или если этот гео-прямоугольник недействителен, свойство не изменяется. Чтобы установить значения недействительного гео-прямоугольника на основе центра, ширины и высоты, сначала используйте setCenter() для приведения его в действительное состояние.
Если изменение высоты приведет к пересечению полюса, высота корректируется так, чтобы гео-прямоугольник только касался полюса.
Это делается так, чтобы координата центра по-прежнему находилась в центре гео-прямоугольника, что может привести к гео-прямоугольнику с меньшей высотой, чем ожидалось.
180,0 — высота, используемая только если новая высота больше или равна 180.
Хотя это свойство было добавлено в Qt 5.5, соответствующие функции доступа существуют с первой версии этого класса.
Это свойство было добавлено в Qt 5.5.
Функции доступа:
| double | height() const |
| void | setHeight(double degreesHeight) |
topLeft : QGeoCoordinate
Это свойство содержит координаты верхнего левого угла этого гео-прямоугольника.
Хотя это свойство было добавлено в Qt 5.5, соответствующие функции доступа существуют с первой версии этого класса.
Это свойство было добавлено в Qt 5.5.
Функции доступа:
| QGeoCoordinate | topLeft() const |
| void | setTopLeft(const QGeoCoordinate &topLeft) |
topRight : QGeoCoordinate
Это свойство содержит координаты верхнего правого угла этого гео-прямоугольника.
Хотя это свойство было добавлено в Qt 5.5, соответствующие функции доступа существуют с первой версии этого класса.
Это свойство было добавлено в Qt 5.5.
Функции доступа:
| QGeoCoordinate | topRight() const |
| void | setTopRight(const QGeoCoordinate &topRight) |
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
Возвращает значение true, если гео-прямоугольник rectangle содержится внутри этого гео-прямоугольника.
void QGeoRectangle::extendRectangle(const QGeoCoordinate &coordinate)
Расширяет гео-прямоугольник, чтобы он также охватывал координату coordinate.
Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.
Эта функция была добавлена в Qt 5.9.
double QGeoRectangle::height() const
Возвращает высоту этого гео-прямоугольника в градусах.
Значение возврата не определено, если этот гео-прямоугольник недопустим.
Примечание: Функция-получатель для свойства height.
См. также setHeight().
bool QGeoRectangle::intersects(const QGeoRectangle &rectangle) const
Возвращает значение true, если гео-прямоугольник 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().
QString QGeoRectangle::toString() const
Возвращает свойства гео-прямоугольника в виде строки.
Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.
Эта функция была добавлена в Qt 5.5.
QGeoCoordinate QGeoRectangle::topLeft() const
Возвращает верхнюю левую координату этого гео-прямоугольника.
Примечание: Функция-получатель для свойства topLeft.
См. также setTopLeft().
QGeoCoordinate QGeoRectangle::topRight() const
Возвращает верхнюю правую координату этого гео-прямоугольника.
Примечание: Функция-получатель для свойства topRight.
См. также setTopRight().
void QGeoRectangle::translate(double degreesLatitude, double degreesLongitude)
Перемещает этот гео-прямоугольник на degreesLatitude градусов на север и degreesLongitude градусов на восток.
Отрицательные значения degreesLatitude и degreesLongitude соответствуют перемещению на юг и запад соответственно.
Если перемещение привело бы к пересечению полюса, гео-прямоугольник будет перемещен до тех пор, пока верхняя или нижняя грань гео-прямоугольника не коснется полюса, но не дальше.
Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.
QGeoRectangle QGeoRectangle::translated(double degreesLatitude, double degreesLongitude) const
Возвращает копию этого гео-прямоугольника, перемещенного на degreesLatitude градусов на север и degreesLongitude градусов на восток.
Отрицательные значения degreesLatitude и degreesLongitude соответствуют перемещению на юг и запад соответственно.
Примечание: Эту функцию можно вызывать через систему метаобъектов и из QML. См. Q_INVOKABLE.
См. также translate().
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().
bool QGeoRectangle::operator!=(const QGeoRectangle &other) const
Возвращает значение true, если этот гео-прямоугольник не равен other.
bool QGeoRectangle::operator==(const QGeoRectangle &other) const
Возвращает значение true, если этот гео-прямоугольник равен other.
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-5.15/qgeorectangle.html