Spec-Zone.ru › Qt 6.0

Класс QLineF

Класс QLineF предоставляет двумерный вектор с плавающей точкой. Подробнее...

Заголовок: #include <QLineF>
CMake: find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
  • Список всех членов, включая унаследованные
  • Устаревшие члены

Типы public

Перечисление IntersectionType { NoIntersection, UnboundedIntersection, BoundedIntersection }

Функции public

QLineF(const QLine &line)
QLineF(qreal x1, qreal y1, qreal x2, qreal y2)
QLineF(const QPointF &p1, const QPointF &p2)
QLineF()
QPointF p1() const
QPointF p2() const
qreal x1() const
qreal x2() const
qreal y1() const
qreal y2() const
qreal angle() const

Статические public члены

QLineF fromPolar(qreal length, qreal angle)

Связанные нечлены

QDataStream & operator<<(QDataStream &stream, const QLineF &line)
QDataStream & operator>>(QDataStream &stream, QLineF &line)

Подробное описание

Класс QLineF описывает линию конечной длины (или отрезок прямой) на двумерной поверхности. QLineF определяет начальную и конечную точки линии, используя плавающую точку для координат. Используйте функцию toLine(), чтобы получить целочисленную копию этой линии.

Положение начальной и конечной точек линии можно получить, используя функции p1(), x1(), y1(), p2(), x2() и y2(). Функции dx() и dy() возвращают горизонтальную и вертикальную компоненты линии соответственно.

Длина линии может быть получена с помощью функции length() и изменена с помощью функции setLength(). Аналогично, функции angle() и setAngle() соответственно используются для получения и изменения угла линии. Используйте функцию isNull(), чтобы определить, представляет ли QLineF действительную линию или нулевую линию.

Функция intersects() определяет тип пересечения для этой линии и заданной линии, а функция angleTo() возвращает угол между линиями. Кроме того, функция unitVector() возвращает линию, которая имеет ту же начальную точку, что и эта линия, но с длиной только 1, а функция normalVector() возвращает линию, перпендикулярную этой линии, с той же начальной точкой и длиной.

Наконец, линию можно переместить на заданный смещение с помощью функции translate(), и можно пройти по ней с помощью функции pointAt().

Ограничения

QLine ограничена минимальными и максимальными значениями для типа int. Операции над QLine, которые могут привести к значениям за пределами этого диапазона, приведут к неопределенному поведению.

См. также QLine, QPolygonF и QRectF.

Документация типов членов

перечисление QLineF::IntersectionType

Описывает пересечение двух линий.

QLineF::UnboundedIntersection QLineF::BoundedIntersection
Постоянная Значение Описание
QLineF::NoIntersection 0 Указывает, что прямые не пересекаются; т.е. они параллельны.
QLineF::UnboundedIntersection 2 Две прямые пересекаются, но не в пределах диапазона, определяемого их длинами. Это будет иметь место, если прямые не параллельны. intersect() также вернёт это значение, если точка пересечения находится в пределах начальной и конечной точки только одной из прямых.
QLineF::BoundedIntersection 1 Две прямые пересекаются друг с другом в пределах начальных и конечных точек каждой прямой.

См. также intersects().

Документация по членам-функциям

QLineF::QLineF(const QLine &line)

Создаёт объект QLineF на основе заданной прямой line на основе целых чисел.

См. также toLine().

QLineF::QLineF(qreal x1, qreal y1, qreal x2, qreal y2)

Создаёт объект прямой, представляющий прямую между (x1, y1) и (x2, y2).

QLineF::QLineF(const QPointF &p1, const QPointF &p2)

Создаёт объект линии, представляющий линию между p1 и p2.

QLineF::QLineF()

Создаёт нулевую линию.

QPointF QLineF::p1() const

Возвращает начальную точку линии.

См. также setP1(), x1(), y1() и p2().

QPointF QLineF::p2() const

Возвращает конечную точку линии.

См. также setP2(), x2(), y2() и p1().

qreal QLineF::x1() const

Возвращает координату x начальной точки линии.

См. также p1().

qreal QLineF::x2() const

Возвращает координату x конечной точки линии.

См. также p2().

qreal QLineF::y1() const

Возвращает координату y начальной точки линии.

См. также p1().

qreal QLineF::y2() const

Возвращает координату y конечной точки линии.

См. также p2().

qreal QLineF::angle() const

Возвращает угол линии в градусах.

Возвращаемое значение будет в диапазоне от 0.0 до 360.0. Углы измеряются против часовой стрелки от точки на оси x справа от начала координат (x > 0).

См. также setAngle().

qreal QLineF::angleTo(const QLineF &line) const

Возвращает угол (в градусах) от этой линии до заданной линии line, учитывая направление линий. Если линии не пересекаются в пределах своего диапазона, то в качестве начала координат используется точка пересечения продолженных линий (см. QLineF::UnboundedIntersection).

Возвращаемое значение представляет собой количество градусов, которые нужно добавить к этой линии, чтобы её угол стал таким же, как у заданной линии, вращая против часовой стрелки.

См. также intersects().

[since 5.8] QPointF QLineF::center() const

Возвращает центральную точку этой линии. Эквивалентно 0.5 * p1() + 0.5 * p2().

Эта функция была добавлена в Qt 5.8.

qreal QLineF::dx() const

Возвращает горизонтальную компоненту вектора линии.

См. также dy() и pointAt().

qreal QLineF::dy() const

Возвращает вертикальную компоненту вектора линии.

См. также dx() и pointAt().

[static] QLineF QLineF::fromPolar(qreal length, qreal angle)

Возвращает QLineF с заданной длиной и углом.

Первая точка линии будет находиться в начале координат.

Положительные значения углов означают вращение против часовой стрелки, а отрицательные — по часовой стрелке. Ноль градусов соответствует положению 3 часа.

[since 5.14] QLineF::IntersectionType QLineF::intersects(const QLineF &line, QPointF *intersectionPoint = nullptr) const

Возвращает значение, указывающее, пересекается ли эта линия с заданной линией line.

Фактическая точка пересечения извлекается в intersectionPoint (если указатель допустим). Если линии параллельны, точка пересечения не определена.

Эта функция была добавлена в Qt 5.14.

bool QLineF::isNull() const

Возвращает true если у линии нет различных начальной и конечной точек; в противном случае возвращает false. Начальная и конечная точки считаются различными, если qFuzzyCompare() может их различить по хотя бы одной координате.

Примечание: Из-за использования приблизительного сравнения, isNull() может вернуть true для линий, длина которых не равна нулю.

См. также qFuzzyCompare() и length().

qreal QLineF::length() const

Возвращает длину линии.

См. также setLength() и isNull().

QLineF QLineF::normalVector() const

Возвращает линию, перпендикулярную этой линии, с той же начальной точкой и длиной.

См. также unitVector().

QPointF QLineF::pointAt(qreal t) const

Возвращает точку в параметризованной позиции, заданной значением t. Функция возвращает начальную точку линии, если t = 0, и конечную точку, если t = 1.

См. также dx() и dy().

void QLineF::setP1(const QPointF &p1)

Устанавливает начальную точку этой линии в p1.

См. также setP2() и p1().

void QLineF::setP2(const QPointF &p2)

Устанавливает конечную точку этой линии в p2.

См. также setP1() и p2().

void QLineF::setAngle(qreal angle)

Устанавливает угол линии в заданный angle (в градусах). Это изменит положение второй точки линии таким образом, чтобы линия имела заданный угол.

Положительные значения углов означают против часовой стрелки, а отрицательные значения — по часовой стрелке. Ноль градусов соответствует положению «3 часа».

См. также angle().

void QLineF::setLength(qreal length)

Устанавливает длину линии в заданное значение length. QLineF переместит конечную точку — p2() — линии, чтобы придать ей новую длину.

Линия с нулевой длиной не будет масштабироваться. Для не нулевых линий с очень короткими длинами (представленными денормализованными значениями с плавающей точкой) результаты могут быть неточными.

См. также length(), isNull(), и unitVector().

void QLineF::setLine(qreal x1, qreal y1, qreal x2, qreal y2)

Устанавливает эту линию, начиная в x1, y1 и заканчивая в x2, y2.

См. также setP1(), setP2(), p1(), и p2().

void QLineF::setPoints(const QPointF &p1, const QPointF &p2)

Устанавливает начальную точку этой линии в p1, а конечную точку в p2.

См. также setP1(), setP2(), p1(), и p2().

QLine QLineF::toLine() const

Возвращает целочисленную копию этой линии.

Обратите внимание, что начальная и конечная точки возвращаемой линии округляются до ближайшего целого числа.

См. также QLineF().

void QLineF::translate(const QPointF &offset)

Перемещает эту линию на заданный offset.

void QLineF::translate(qreal dx, qreal dy)

Это перегруженная функция.

Перемещает эту линию на расстояние, указанное dx и dy.

QLineF QLineF::translated(const QPointF &offset) const

Возвращает эту линию, перемещенную на заданный offset.

QLineF QLineF::translated(qreal dx, qreal dy) const

Это перегруженная функция.

Возвращает эту линию, перемещенную на расстояние, указанное dx и dy.

QLineF QLineF::unitVector() const

Возвращает единичный вектор для этой прямой, т. е. прямую, начинающуюся в той же точке, что и прямая this, с длиной 1.0, при условии, что прямая не равна null.

См. также normalVector() и setLength().

bool QLineF::operator!=(const QLineF &line) const

Возвращает true если заданная прямая line не совпадает с прямой this.

Прямые считаются разными, если их начальные или конечные точки отличаются, или внутренний порядок точек отличается.

bool QLineF::operator==(const QLineF &line) const

Возвращает true если заданная прямая line совпадает с прямой this.

Прямые считаются одинаковыми, если их начальные и конечные точки идентичны, и внутренний порядок точек одинаков.

Связанные внешние функции

QDataStream &operator<<(QDataStream &stream, const QLineF &line)

Записывает заданную прямую line в заданный поток stream и возвращает ссылку на поток.

См. также Сериализация типов данных Qt.

QDataStream &operator>>(QDataStream &stream, QLineF &line)

Считывает прямую из заданного потока stream в заданную прямую line и возвращает ссылку на поток.

См. также Сериализация типов данных Qt.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qlinef.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API