Класс QVector2D
Класс QVector2D представляет вектор или вершину в двумерном пространстве. Подробнее...
| Заголовок: | #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) |
Подробное описание
Класс QVector2D также может использоваться для представления вершин в двумерном пространстве. Поэтому нам не нужно предоставлять отдельный класс вершин.
См. также 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).
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
Возвращает форму QPoint этого 2D-вектора.
См. также toPointF() и toVector3D().
QPointF QVector2D::toPointF() const
Возвращает форму QPointF этого 2D-вектора.
См. также 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/=().
QVector2D &QVector2D::operator*=(QVector2D vector)
Умножает компоненты этого вектора на соответствующие компоненты в vector.
QVector2D &QVector2D::operator+=(QVector2D vector)
Добавляет заданный vector к этому вектору и возвращает ссылку на этот вектор.
См. также operator-=().
QVector2D &QVector2D::operator-=(QVector2D vector)
Вычитает заданный vector из этого вектора и возвращает ссылку на этот вектор.
См. также operator+=().
QVector2D &QVector2D::operator/=(float divisor)
Делит координаты этого вектора на заданный divisor и возвращает ссылку на этот вектор.
См. также operator*=().
[since 5.5] QVector2D &QVector2D::operator/=(QVector2D vector)
Делит компоненты этого вектора на соответствующие компоненты в vector.
Эта функция была добавлена в Qt 5.5.
См. также 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)
Умножает компоненты v1 на соответствующие компоненты в v2.
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.
См. также QVector2D::operator/=().
[since 5.5] QVector2D operator/(QVector2D vector, QVector2D divisor)
Возвращает объект QVector2D, полученный путем деления компонент заданного vector на соответствующие компоненты заданного divisor.
Эта функция была добавлена в 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.1/qvector2d.html