Класс QVector2D
Класс QVector2D представляет вектор или вершину в двумерном пространстве. Подробнее...
| Заголовок: | #include <QVector2D> |
| qmake: | QT += gui |
| С тех пор: | Qt 4.6 |
Открытые функции
| QVector2D() | |
| QVector2D(float xpos, float ypos) | |
| QVector2D(const QPoint &point) | |
| QVector2D(const QPointF &point) | |
| QVector2D(const QVector3D &vector) | |
| QVector2D(const QVector4D &vector) | |
| float | distanceToLine(const QVector2D &point, const QVector2D &direction) const |
| float | distanceToPoint(const 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 |
| operator QVariant() const | |
| QVector2D & | operator*=(float factor) |
| QVector2D & | operator*=(const QVector2D &vector) |
| QVector2D & | operator+=(const QVector2D &vector) |
| QVector2D & | operator-=(const QVector2D &vector) |
| QVector2D & | operator/=(float divisor) |
| QVector2D & | operator/=(const QVector2D &vector) |
| float & | operator[](int i) |
| float | operator[](int i) const |
Статические открытые члены
| float | dotProduct(const QVector2D &v1, const QVector2D &v2) |
Связанные нечлены
| bool | qFuzzyCompare(const QVector2D &v1, const QVector2D &v2) |
| bool | operator!=(const QVector2D &v1, const QVector2D &v2) |
| const QVector2D | operator*(float factor, const QVector2D &vector) |
| const QVector2D | operator*(const QVector2D &vector, float factor) |
| const QVector2D | operator*(const QVector2D &v1, const QVector2D &v2) |
| const QVector2D | operator+(const QVector2D &v1, const QVector2D &v2) |
| const QVector2D | operator-(const QVector2D &v1, const QVector2D &v2) |
| const QVector2D | operator-(const QVector2D &vector) |
| const QVector2D | operator/(const QVector2D &vector, float divisor) |
| const QVector2D | operator/(const QVector2D &vector, const QVector2D &divisor) |
| QDataStream & | operator<<(QDataStream &stream, const QVector2D &vector) |
| bool | operator==(const QVector2D &v1, const QVector2D &v2) |
| QDataStream & | operator>>(QDataStream &stream, QVector2D &vector) |
Подробное описание
Класс QVector2D представляет вектор или вершину в двумерном пространстве.
Класс QVector2D также может использоваться для представления вершин в двумерном пространстве. Поэтому нам не нужно предоставлять отдельный класс вершин.
См. также QVector3D, QVector4D и QQuaternion.
Документация по членам-функциям
QVector2D::QVector2D()
Создаёт нулевой вектор, т.е. с координатами (0, 0).
QVector2D::QVector2D(float xpos, float ypos)
Создаёт вектор с координатами (xpos, ypos).
QVector2D::QVector2D(const QPoint &point)
Создаёт вектор с координатами x и y из 2D точки point.
QVector2D::QVector2D(const QPointF &point)
Создаёт вектор с координатами x и y из 2D точки point.
QVector2D::QVector2D(const QVector3D &vector)
Создаёт вектор с координатами x и y из 3D вектора vector. Координата z вектора vector отбрасывается.
См. также toVector3D().
QVector2D::QVector2D(const QVector4D &vector)
Создаёт вектор с координатами x и y из 3D вектора vector. Координаты z и w вектора vector отбрасываются.
См. также toVector4D().
float QVector2D::distanceToLine(const QVector2D &point, const QVector2D &direction) const
Возвращает расстояние до прямой, определяемой точкой point и единичным вектором direction.
Если direction — нулевой вектор, то он не определяет прямую. В этом случае возвращается расстояние от точки point до текущей вершины.
Функция была добавлена в Qt 5.1.
См. также distanceToPoint().
float QVector2D::distanceToPoint(const QVector2D &point) const
Возвращает расстояние от текущей вершины до точки, определяемой вершиной point.
Функция была добавлена в Qt 5.1.
См. также distanceToLine().
[static] float QVector2D::dotProduct(const QVector2D &v1, const 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 этой точки.
QVector2D::operator QVariant() const
Возвращает 2D вектор в виде QVariant.
QVector2D &QVector2D::operator*=(float factor)
Умножает координаты этого вектора на заданный factor и возвращает ссылку на этот вектор.
См. также operator/=().
QVector2D &QVector2D::operator*=(const QVector2D &vector)
Умножает компоненты этого вектора на соответствующие компоненты в vector.
QVector2D &QVector2D::operator+=(const QVector2D &vector)
Добавляет заданный vector к этому вектору и возвращает ссылку на этот вектор.
См. также operator-=().
QVector2D &QVector2D::operator-=(const QVector2D &vector)
Вычитает заданный vector из этого вектора и возвращает ссылку на этот вектор.
См. также operator+=().
QVector2D &QVector2D::operator/=(float divisor)
Делит координаты этого вектора на заданный divisor и возвращает ссылку на этот вектор.
См. также operator*=().
QVector2D &QVector2D::operator/=(const QVector2D &vector)
Делит компоненты этого вектора на соответствующие компоненты в vector.
Функция была добавлена в Qt 5.5.
См. также operator*=().
float &QVector2D::operator[](int i)
Возвращает компонент вектора в позиции индекса i в качестве изменяемой ссылки.
i должен быть допустимой позицией индекса в векторе (т.е., 0 <= i < 2).
Функция была добавлена в Qt 5.2.
float QVector2D::operator[](int i) const
Возвращает компонент вектора в позиции индекса i.
i должен быть допустимой позицией индекса в векторе (т.е., 0 <= i < 2).
Функция была добавлена в Qt 5.2.
Связанные нечлены
bool qFuzzyCompare(const QVector2D &v1, const QVector2D &v2)
Возвращает true, если v1 и v2 равны, с учётом небольшой погрешности при сравнении чисел с плавающей точкой; в противном случае возвращает false.
bool operator!=(const QVector2D &v1, const QVector2D &v2)
Возвращает true, если v1 не равно v2; в противном случае возвращает false. Этот оператор использует точное сравнение чисел с плавающей точкой.
const QVector2D operator*(float factor, const QVector2D &vector)
Возвращает копию заданного vector, умноженную на заданный factor.
См. также QVector2D::operator*=().
const QVector2D operator*(const QVector2D &vector, float factor)
Возвращает копию заданного vector, умноженную на заданный factor.
См. также QVector2D::operator*=().
const QVector2D operator*(const QVector2D &v1, const QVector2D &v2)
Умножает компоненты v1 на соответствующие компоненты в v2.
const QVector2D operator+(const QVector2D &v1, const QVector2D &v2)
Возвращает объект QVector2D, который является суммой заданных векторов v1 и v2; каждая компонента складывается отдельно.
См. также QVector2D::operator+=().
const QVector2D operator-(const QVector2D &v1, const QVector2D &v2)
Возвращает объект QVector2D, полученный вычитанием v2 из v1; каждая компонента вычитается отдельно.
См. также QVector2D::operator-=().
const QVector2D operator-(const QVector2D &vector)
Это перегруженная функция.
Возвращает объект QVector2D, полученный изменением знака компонентов заданного vector.
Эквивалентно QVector2D(0,0) - vector.
const QVector2D operator/(const QVector2D &vector, float divisor)
Возвращает объект QVector2D, полученный делением всех трёх компонентов заданного vector на заданный divisor.
См. также QVector2D::operator/=().
const QVector2D operator/(const QVector2D &vector, const QVector2D &divisor)
Возвращает объект QVector2D, полученный делением компонентов заданного vector на соответствующие компоненты заданного divisor.
Эта функция была добавлена в Qt 5.5.
См. также QVector2D::operator/=().
QDataStream &operator<<(QDataStream &stream, const QVector2D &vector)
Записывает заданный vector в заданный stream и возвращает ссылку на поток.
См. также Сериализация типов данных Qt.
bool operator==(const QVector2D &v1, const 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-5.9/qvector2d.html