Класс QVector2D
Класс QVector2D представляет вектор или вершину в 2D пространстве. Подробнее...
| Заголовок: | #include <QVector2D> |
| qmake: | QT += gui |
| С момента: | Qt 4.6 |
Этот класс был введён в Qt 4.6.
Открытые функции
| QVector2D(const QVector4D &vector) | |
| QVector2D(const QVector3D &vector) | |
| QVector2D(const QPointF &point) | |
| QVector2D(const QPoint &point) | |
| QVector2D(float xpos, float ypos) | |
| QVector2D() | |
| 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 |
| QVariant | 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 также может использоваться для представления вершин в 2D пространстве. Поэтому нам не нужно предоставлять отдельный класс вершин.
См. также QVector3D, QVector4D и QQuaternion.
Документация по членам-функциям
QVector2D::QVector2D(const QVector4D &vector)
Создаёт вектор с координатами x и y из 3D-вектора vector. Координаты z и w из vector отбрасываются.
См. также toVector4D().
QVector2D::QVector2D(const QVector3D &vector)
Создаёт вектор с координатами x и y из 3D-вектора vector. Координата z из vector отбрасывается.
См. также toVector3D().
QVector2D::QVector2D(const QPointF &point)
Создаёт вектор с координатами x и y из 2D-точки point.
QVector2D::QVector2D(const QPoint &point)
Создаёт вектор с координатами x и y из 2D-точки point.
QVector2D::QVector2D(float xpos, float ypos)
Создаёт вектор с координатами (xpos, ypos).
QVector2D::QVector2D()
Создаёт нулевой вектор, т.е. с координатами (0, 0).
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 этой точки.
QVariant 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, полученный изменением знака компонентов заданного вектора.
Эквивалентно QVector2D(0,0) - vector.
const QVector2D operator/(const QVector2D &vector, float divisor)
Возвращает объект QVector2D, полученный делением всех трех компонентов заданного вектора на заданный делитель.
См. также QVector2D::operator/=().
const QVector2D operator/(const QVector2D &vector, const QVector2D &divisor)
Возвращает объект QVector2D, полученный делением компонентов заданного вектора на соответствующие компоненты заданного делителя.
Функция была добавлена в Qt 5.5.
См. также QVector2D::operator/=().
QDataStream &operator<<(QDataStream &stream, const QVector2D &vector)
Записывает заданный вектор в указанный поток и возвращает ссылку на поток.
См. также Сериализация типов данных Qt.
bool operator==(const QVector2D &v1, const QVector2D &v2)
Возвращает true если v1 равно v2; в противном случае возвращает false. Этот оператор использует точное сравнение чисел с плавающей точкой.
QDataStream &operator>>(QDataStream &stream, QVector2D &vector)
Читает вектор 2D из заданного потока в заданный вектор и возвращает ссылку на поток.
См. также Сериализация типов данных Qt.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qvector2d.html