Класс QVector2D
Класс QVector2D представляет вектор или вершину в 2D пространстве. Подробнее...
| Заголовок: | #include <QVector2D> |
| CMake: | find_package(Qt6 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
Открытые функции
| QVector2D(QVector4D vector) | |
| QVector2D(QVector3D vector) | |
| QVector2D(QPointF point) | |
| QVector2D(QPoint point) | |
| QVector2D(float xpos, float ypos) | |
| QVector2D() | |
| float | distanceToLine(QVector2D point, QVector2D direction) const |
| float | distanceToPoint(QVector2D point) const |
| bool | isNull() const |
| float | length() const |
| float | lengthSquared() const |
| void | normalize() |
| QVector2D | normalized() const |
| void | setX(float x) |
| void | setY(float y) |
| QPoint | toPoint() const |
| QPointF | toPointF() const |
| QVector3D | toVector3D() const |
| QVector4D | toVector4D() const |
| float | x() const |
| float | y() const |
| QVariant | operator QVariant() const |
| QVector2D & | operator*=(float factor) |
| QVector2D & | operator*=(QVector2D vector) |
| QVector2D & | operator+=(QVector2D vector) |
| QVector2D & | operator-=(QVector2D vector) |
| QVector2D & | operator/=(float divisor) |
| QVector2D & | operator/=(QVector2D vector) |
| float & | operator[](int i) |
| float | operator[](int i) const |
Статические открытые члены
| float | dotProduct(QVector2D v1, QVector2D v2) |
Связанные нечлены
| bool | qFuzzyCompare(QVector2D v1, QVector2D v2) |
| bool | operator!=(QVector2D v1, QVector2D v2) |
| QVector2D | operator*(float factor, QVector2D vector) |
| QVector2D | operator*(QVector2D vector, float factor) |
| QVector2D | operator*(QVector2D v1, QVector2D v2) |
| QVector2D | operator+(QVector2D v1, QVector2D v2) |
| QVector2D | operator-(QVector2D v1, QVector2D v2) |
| QVector2D | operator-(QVector2D vector) |
| QVector2D | operator/(QVector2D vector, float divisor) |
| QVector2D | operator/(QVector2D vector, QVector2D divisor) |
| QDataStream & | operator<<(QDataStream &stream, QVector2D vector) |
| bool | operator==(QVector2D v1, QVector2D v2) |
| QDataStream & | operator>>(QDataStream &stream, QVector2D &vector) |
Подробное описание
Векторы являются одними из основных строительных блоков 2D представления и рисования. Они состоят из двух конечных координат с плавающей точкой, традиционно называемых x и y.
Класс QVector2D также может использоваться для представления вершин в 2D пространстве. Поэтому нам не нужно предоставлять отдельный класс вершины.
См. также QVector3D, QVector4D и QQuaternion.
Документация по функциям-членам
QVector2D::QVector2D(QVector4D vector)
Создаёт вектор с координатами x и y из 3D вектора. Координаты z и w вектора игнорируются.
См. также toVector4D().
QVector2D::QVector2D(QVector3D vector)
Создаёт вектор с координатами x и y из 3D вектора. Координата z вектора игнорируется.
См. также toVector3D().
QVector2D::QVector2D(QPointF point)
Создаёт вектор с координатами x и y из 2D точки.
QVector2D::QVector2D(QPoint point)
Создаёт вектор с координатами x и y из 2D точки.
QVector2D::QVector2D(float xpos, float ypos)
Создаёт вектор с координатами (xpos, ypos). Обе координаты должны быть конечными.
QVector2D::QVector2D()
Создаёт нулевой вектор, т.е. с координатами (0, 0).
[since 5.1] float QVector2D::distanceToLine(QVector2D point, QVector2D direction) const
Возвращает расстояние от этой вершины до прямой, заданной точкой point и единичным вектором direction.
Если direction является нулевым вектором, то он не определяет прямую. В этом случае возвращается расстояние от точки point до этой вершины.
Эта функция была введена в Qt 5.1.
См. также distanceToPoint().
[since 5.1] float QVector2D::distanceToPoint(QVector2D point) const
Возвращает расстояние от этой вершины до точки, заданной вершиной point.
Эта функция была введена в Qt 5.1.
См. также distanceToLine().
[static] float QVector2D::dotProduct(QVector2D v1, QVector2D v2)
Возвращает скалярное произведение векторов v1 и v2.
bool QVector2D::isNull() const
Возвращает true , если координаты x и y равны 0.0, иначе возвращает false.
float QVector2D::length() const
Возвращает длину вектора от начала координат.
См. также lengthSquared() и normalized().
float QVector2D::lengthSquared() const
Возвращает квадрат длины вектора от начала координат. Это эквивалентно скалярному произведению вектора на самого себя.
См. также length() и dotProduct().
void QVector2D::normalize()
Нормализует текущий вектор на месте. Ничего не происходит, если этот вектор является нулевым вектором или длина вектора очень близка к 1.
См. также length() и normalized().
QVector2D QVector2D::normalized() const
Возвращает нормированный единичный вектор этого вектора.
Если этот вектор является нулевым, то возвращается нулевой вектор. Если длина вектора очень близка к 1, то вектор возвращается как есть. В противном случае возвращается нормированная форма вектора длиной 1.
См. также length() и normalize().
void QVector2D::setX(float x)
Устанавливает координату x этой точки на заданную конечную координату x.
void QVector2D::setY(float y)
Устанавливает координату y этой точки на заданную конечную координату y.
QPoint QVector2D::toPoint() const
Возвращает представление этого 2D вектора в виде QPoint. Каждая координата округляется до ближайшего целого числа.
См. также toPointF() и toVector3D().
QPointF QVector2D::toPointF() const
Возвращает представление этого 2D вектора в виде QPointF.
См. также toPoint() и toVector3D().
QVector3D QVector2D::toVector3D() const
Возвращает 3D представление этого 2D вектора, с координатой z, равной нулю.
См. также toVector4D() и toPoint().
QVector4D QVector2D::toVector4D() const
Возвращает 4D представление этого 2D вектора, с координатами z и w, равными нулю.
См. также toVector3D() и toPoint().
float QVector2D::x() const
Возвращает координату x этой точки.
float QVector2D::y() const
Возвращает координату y этой точки.
QVariant QVector2D::operator QVariant() const
Возвращает 2D вектор в виде QVariant.
QVector2D &QVector2D::operator*=(float factor)
Умножает координаты этого вектора на заданный конечный множитель factor и возвращает ссылку на этот вектор.
См. также operator/=() и operator*().
QVector2D &QVector2D::operator*=(QVector2D vector)
Умножает каждый компонент этого вектора на соответствующий компонент вектора vector и возвращает ссылку на этот вектор.
Примечание: Это не векторное произведение этого вектора с vector. (Его компоненты складываются до скалярного произведения этого вектора и vector.)
См. также operator/=() и operator*().
QVector2D &QVector2D::operator+=(QVector2D vector)
Добавляет заданный вектор vector к этому вектору и возвращает ссылку на этот вектор.
См. также operator-=().
QVector2D &QVector2D::operator-=(QVector2D vector)
Вычитает заданный вектор vector из этого вектора и возвращает ссылку на этот вектор.
См. также operator+=().
QVector2D &QVector2D::operator/=(float divisor)
Делит координаты этого вектора на заданный делитель divisor и возвращает ссылку на этот вектор. divisor не должен быть равен нулю или NaN.
См. также operator*=().
[since 5.5] QVector2D &QVector2D::operator/=(QVector2D vector)
Делит каждый компонент этого вектора на соответствующий компонент вектора vector и возвращает ссылку на этот вектор.
Вектор vector не должен иметь компонента, равного нулю или NaN.
Эта функция была введена в Qt 5.5.
См. также operator*=() и operator/().
[since 5.2] float &QVector2D::operator[](int i)
Возвращает компонент вектора по индексу i в виде изменяемой ссылки.
i должен быть допустимым индексом в векторе (т.е., 0 <= i < 2).
Эта функция была введена в Qt 5.2.
[since 5.2] float QVector2D::operator[](int i) const
Возвращает компонент вектора по индексу i.
i должен быть допустимым индексом в векторе (т.е., 0 <= i < 2).
Эта функция была введена в Qt 5.2.
Связанные не члены
bool qFuzzyCompare(QVector2D v1, QVector2D v2)
Возвращает true если v1 и v2 равны, учитывая небольшой фактор неточности для сравнения чисел с плавающей точкой; в противном случае — false.
bool operator!=(QVector2D v1, QVector2D v2)
Возвращает true если v1 не равно v2; в противном случае возвращает false. Этот оператор использует точное сравнение чисел с плавающей точкой.
QVector2D operator*(float factor, QVector2D vector)
Возвращает копию заданного vector, умноженную на заданный конечный factor.
См. также QVector2D::operator*=().
QVector2D operator*(QVector2D vector, float factor)
Возвращает копию заданного vector, умноженную на заданный конечный factor.
См. также QVector2D::operator*=().
QVector2D operator*(QVector2D v1, QVector2D v2)
Возвращает объект QVector2D, полученный путем умножения каждого компонента v1 на соответствующий компонент v2.
Примечание: Это не векторное произведение v1 и v2 ни в каком смысле. (Его компоненты складываются в скалярное произведение v1 и v2.)
См. также QVector2D::operator*=().
QVector2D operator+(QVector2D v1, QVector2D v2)
Возвращает объект QVector2D, являющийся суммой заданных векторов v1 и v2; каждый компонент добавляется отдельно.
См. также QVector2D::operator+=().
QVector2D operator-(QVector2D v1, QVector2D v2)
Возвращает объект QVector2D, полученный путем вычитания v2 из v1; каждый компонент вычитается отдельно.
См. также QVector2D::operator-=().
QVector2D operator-(QVector2D vector)
Это перегруженная функция.
Возвращает объект QVector2D, образованный изменением знака каждого компонента заданного vector.
Эквивалентно QVector2D(0,0) - vector.
QVector2D operator/(QVector2D vector, float divisor)
Возвращает объект QVector2D, полученный путем деления каждого компонента заданного vector на заданный divisor.
divisor не должен быть равен нулю или NaN.
См. также QVector2D::operator/=().
[since 5.5] QVector2D operator/(QVector2D vector, QVector2D divisor)
Возвращает объект QVector2D, полученный путем деления каждого компонента заданного vector на соответствующий компонент заданного divisor.
divisor не должен иметь ни одного компонента, равного нулю или NaN.
Эта функция была добавлена в Qt 5.5.
См. также QVector2D::operator/=().
QDataStream &operator<<(QDataStream &stream, QVector2D vector)
Записывает заданный vector в заданный stream и возвращает ссылку на поток.
См. также Сериализация типов данных Qt.
bool operator==(QVector2D v1, QVector2D v2)
Возвращает true если v1 равно v2; в противном случае возвращает false. Этот оператор использует точное сравнение чисел с плавающей точкой.
QDataStream &operator>>(QDataStream &stream, QVector2D &vector)
Читает вектор 2D из заданного stream в заданный vector и возвращает ссылку на поток.
См. также Сериализация типов данных Qt.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qvector2d.html