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