Spec-Zone.ru › Qt 5.9

Класс QLineF

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

Заголовок: #include <QLineF>
qmake: QT += core
  • Список всех членов, включая наследуемые
  • Устаревшие члены

Типы

перечисление IntersectType { NoIntersection, UnboundedIntersection, BoundedIntersection }

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

QLineF()
QLineF(const QPointF &p1, const QPointF &p2)
QLineF(qreal x1, qreal y1, qreal x2, qreal y2)
QLineF(const QLine &line)
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
IntersectType intersect(const QLineF &line, QPointF *intersectionPoint) 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)

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

QLineF fromPolar(qreal length, qreal angle)

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

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

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

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

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

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

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

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

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

Ограничения

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

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

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

enum QLineF::IntersectType

Описывает пересечение между двумя линиями.

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

intersect() также вернёт это значение, если точка пересечения находится внутри начальной и конечной точки только одной из линий.

Постоянная Значение Описание
QLineF::BoundedIntersection 1 Две линии пересекаются друг с другом в пределах начальных и конечных точек каждой линии.

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

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

QLineF::QLineF()

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

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

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

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

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

QLineF::QLineF(const QLine &line)

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

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

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 (не включая 360.0). Углы измеряются против часовой стрелки от точки на оси x справа от начала координат (x > 0).

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

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

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

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

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

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

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

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 часа».

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

IntersectType QLineF::intersect(const QLineF &line, QPointF *intersectionPoint) const

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

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

bool QLineF::isNull() const

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

qreal QLineF::length() const

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

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

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.

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

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

void QLineF::setP2(const QPointF &p2)

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

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

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

void QLineF::setAngle(qreal angle)

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

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

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

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

void QLineF::setLength(qreal length)

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

Если линия является нулевой, длина останется нулевой независимо от указанной длины.

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

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

Устанавливает начало линии в x1, y1 и конец в x2, y2.

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

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

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

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

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

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

QLine QLineF::toLine() const

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

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

END_OF_DOCUMENT_MARKER

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

Этот метод был добавлен в Qt 4.4.

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

Это перегруженный метод.

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

Этот метод был добавлен в Qt 4.4.

QLineF QLineF::unitVector() const

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

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

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

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

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

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

Spec-Zone.ru

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