Класс QLineF
Класс QLineF предоставляет двумерный вектор с плавающей точкой. Подробнее...
| Заголовок: | #include <QLineF> |
| qmake: | QT += core |
Типы Public
| перечисление | IntersectType { 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 |
| qreal | angleTo(const QLineF &line) const |
| QPointF | center() const |
| qreal | dx() const |
| qreal | dy() const |
| QLineF::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) |
| 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) |
Подробное описание
A QLineF описывает линию конечной длины (или отрезок прямой) на двумерной поверхности. QLineF определяет начальную и конечную точки линии, используя плавающей точки точность для координат. Используйте функцию toLine() для получения целочисленной копии этой линии.
Позиции начальной и конечной точек линии можно получить с помощью функций p1(), x1(), y1(), p2(), x2() и y2(). Функции dx() и dy() возвращают горизонтальную и вертикальную составляющие линии соответственно.
Длина линии может быть получена с помощью функции length(), а изменёна с помощью функции setLength(). Аналогично, angle() и setAngle() соответственно используются для получения и изменения угла линии. Используйте функцию isNull(), чтобы определить, представляет ли QLineF действительную линию или нулевую.
Функция intersect() определяет IntersectType для этой линии и заданной линии, а функция angleTo() возвращает угол между линиями. Кроме того, функция unitVector() возвращает линию, имеющую ту же начальную точку, что и эта линия, но с длиной только 1, а функция normalVector() возвращает линию, перпендикулярную этой линии, с той же начальной точкой и длиной.
Наконец, линию можно перевести на заданный смещение с помощью функции translate(), и можно пройтись по ней с помощью функции pointAt().
Ограничения
QLine ограничена минимальными и максимальными значениями для типа int. Операции с QLine, которые могут потенциально привести к значениям за пределами этого диапазона, приведут к неопределённому поведению.
См. также QLine, QPolygonF и QRectF.
Документация по типам членов
перечисление QLineF::IntersectType
Описывает пересечение между двумя линиями.
| QLineF::UnboundedIntersection | QLineF::BoundedIntersection |
| Постоянная | Значение | Описание |
|---|---|---|
QLineF::NoIntersection |
0 |
Указывает, что прямые не пересекаются; т.е. они параллельны. |
QLineF::UnboundedIntersection |
2 |
Две прямые пересекаются, но не в пределах диапазона, определённого их длинами. Это будет иметь место, если прямые не параллельны. intersect() также вернёт это значение, если точка пересечения находится в пределах начальной и конечной точки только одной из прямых. |
QLineF::BoundedIntersection |
1 |
Две прямые пересекаются друг с другом в пределах начальных и конечных точек каждой прямой. |
См. также intersect().
Документация по членам-функциям
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 (не включая 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
Возвращает горизонтальную компоненту вектора линии.
qreal QLineF::dy() const
Возвращает вертикальную компоненту вектора линии.
[static] QLineF QLineF::fromPolar(qreal length, qreal angle)
Возвращает QLineF с заданной length и angle.
Первая точка линии будет в начале координат.
Положительные значения для углов означают против часовой стрелки, а отрицательные — по часовой стрелке. Ноль градусов находится в положении 3 часа.
Эта функция была введена в Qt 4.4.
QLineF::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.
void QLineF::setP1(const QPointF &p1)
Устанавливает начальную точку этой линии в p1.
Эта функция была введена в Qt 4.4.
void QLineF::setP2(const QPointF &p2)
Устанавливает конечную точку этой линии в p2.
Эта функция была введена в Qt 4.4.
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
Возвращает целочисленную копию этой линии.
Обратите внимание, что начальная и конечная точки возвращаемой линии округляются до ближайшего целого числа.
См. также 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 &QLineF::operator<<(QDataStream &stream, const QLineF &line)
Записывает заданную line в заданный stream и возвращает ссылку на поток.
См. также Сериализация типов данных Qt.
QDataStream &QLineF::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.13/qlinef.html