Spec-Zone.ru › Qt 6.1

Класс QLineF

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

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

Открытые типы

enum IntersectionType { NoIntersection, UnboundedIntersection, BoundedIntersection }

Открытые функции

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
qreal angleTo(const QLineF &line) const
QPointF center() const
qreal dx() const
qreal dy() const
QLineF::IntersectionType intersects(const QLineF &line, QPointF *intersectionPoint = nullptr) const
bool isNull() const
qreal length() const
QLineF normalVector() const
QPointF pointAt(qreal t) const
void setP1(const QPointF &p1)
void setP2(const QPointF &p2)
void setAngle(qreal angle)
void setLength(qreal length)
void setLine(qreal x1, qreal y1, qreal x2, qreal y2)
void setPoints(const QPointF &p1, const QPointF &p2)
QLine toLine() const
void translate(const QPointF &offset)
void translate(qreal dx, qreal dy)
QLineF translated(const QPointF &offset) const
QLineF translated(qreal dx, qreal dy) const
QLineF unitVector() const
bool operator!=(const QLineF &line) const
bool operator==(const QLineF &line) const

Статические открытые члены

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() определяет IntersectionType для этой линии и данной линии, а функция angleTo() возвращает угол между линиями. Кроме того, функция unitVector() возвращает линию, имеющую ту же начальную точку, что и эта линия, но длиной только 1, а функция normalVector() возвращает линию, перпендикулярную этой линии, с той же начальной точкой и длиной.

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

Ограничения

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

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

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

enum 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).

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

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

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().

QLineF QLineF::fromPolar(qreal length, qreal angle)

Возвращает QLineF с заданной length и angle.

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

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

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() и unitVector().

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

Устанавливает эту прямую для начала в x1, y1 и конца в x2, y2.

END_OF_DOCUMENT_MARKER

См. также 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

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

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

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

Возвращает true если заданная line не такая же, как эта линия.

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

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

Возвращает true если заданная line такая же, как эта линия.

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

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

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.1/qlinef.html

Spec-Zone.ru

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