Класс 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
Возвращает, содержится ли геопрямоугольник rectangle внутри этого геопрямоугольника.
void QGeoRectangle::extendRectangle(const QGeoCoordinate &coordinate)
Расширяет геопрямоугольник, чтобы он также покрывал координату coordinate
Эта функция была добавлена в Qt 5.9.
Примечание: Эта функция может вызываться через систему метаобъектов и из QML. См. Q_INVOKABLE.
double QGeoRectangle::height() const
Возвращает высоту этого геопрямоугольника в градусах.
Значение возврата неопределено, если этот геопрямоугольник недействителен.
Примечание: Функция-геттер для свойства height.
См. также setHeight().
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().
QString QGeoRectangle::toString() const
Возвращает свойства геопрямоугольника в виде строки.
Эта функция была добавлена в Qt 5.5.
Примечание: Эта функция может вызываться через систему метаобъектов и из QML. См. Q_INVOKABLE.
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.14/qgeorectangle.html