QVector2D 类
QVector2D 类表示 2D 空间中的一个向量或顶点。 更多...
头文件 | #include <QVector2D> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake | QT += gui |
- 所有成员列表,包括继承成员
- QVector2D 是 绘图类 和 3D 渲染 的一部分。
公共函数
QVector2D() | |
QVector2D(float xpos, float ypos) | |
QVector2D(QPoint point) | |
QVector2D(QPointF point) | |
QVector2D(QVector3D vector) | |
QVector2D(QVector4D vector) | |
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) |
另请参阅QVector3D、QVector4D和QQuaternion。
成员函数文档
[constexpr noexcept]
QVector2D::QVector2D()
构造一个零向量,即坐标为(0,0)。
[constexpr noexcept]
QVector2D::QVector2D(float xpos, float ypos)
构造坐标为(
[explicit constexpr noexcept]
QVector2D::QVector2D(QPoint point)
从 2D point 中获取 x 和 y 坐标来构造一个向量。
[explicit constexpr noexcept]
QVector2D::QVector2D(QPointF point)
从 2D point 中获取 x 和 y 坐标来构造一个向量。
[explicit constexpr noexcept]
QVector2D::QVector2D(QVector3D vector)
从 3D vector 获取 x 和 y 坐标来构造一个向量。向量中的 z 坐标会被丢弃。
另请参阅toVector3D。
[explicit constexpr noexcept]
QVector2D::QVector2D(QVector4D vector)
从 3D vector 获取 x 和 y 坐标来构造一个向量。向量中的 z 和 w 坐标会被丢弃。
另请参阅toVector4D。
[noexcept]
float QVector2D::distanceToLine(QVector2D point, QVector2D direction) const
返回该顶点到一个由 点 和单位向量 direction 定义的线的距离。
如果 direction 是零向量,则它不定义一条线。在这种情况下,返回从 点 到该顶点的距离。
另请参阅distanceToPoint().
[noexcept]
float QVector2D::distanceToPoint(QVector2D point) const
返回该顶点到由顶点 point 定义的重心的距离。
另请参阅distanceToLine().
[static constexpr noexcept]
float QVector2D::dotProduct(QVector2D v1, QVector2D v2)
返回 v1 和 v2 的点积。
[constexpr noexcept]
bool QVector2D::isNull() const
如果 x 和 y 坐标设置为 0.0,则返回 true
,否则返回 false
。
[noexcept]
float QVector2D::length() const
返回从原点到向量的长度。
另请参阅lengthSquared() 和 normalized().
[constexpr noexcept]
float QVector2D::lengthSquared() const
返回从原点到向量的平方长度。这等价于该向量与其自身的点积。
另请参阅length() 和 dotProduct().
[noexcept]
void QVector2D::normalize()
就地归一化当前的向量。如果此向量为零向量或向量的长度非常接近 1,则不执行任何操作。
另请参阅length() 和 normalized().
[noexcept]
QVector2D QVector2D::normalized() const
返回此向量的归一化单位向量形式。
如果此向量为零向量,则返回一个零向量。如果向量的长度非常接近 1,则返回该向量本身。否则返回长度为 1 的向量的归一化形式。
[constexpr noexcept]
void QVector2D::setX(float x)
将此点的 x 坐标设置为给定的有限 x 坐标。
[constexpr noexcept]
void QVector2D::setY(float y)
将此点的 y 坐标设置为给定的有限 y 坐标。
[constexpr noexcept]
QPoint QVector2D::toPoint() const
返回该2D向量的QPoint形式。每个坐标都四舍五入到最接近的整数。
另请参阅toPointF() 和 toVector3D。
[constexpr noexcept]
QPointF QVector2D::toPointF() const
返回该2D向量的QPointF形式。
另请参阅toPoint() 和 toVector3D。
[constexpr noexcept]
QVector3D QVector2D::toVector3D() const
返回该2D向量的3D形式,z坐标设置为0。
另请参阅toVector4D() 和 toPoint。
[constexpr noexcept]
QVector4D QVector2D::toVector4D() const
返回该2D向量的4D形式,z和w坐标设置为0。
另请参阅toVector3D() 和 toPoint。
[constexpr noexcept]
float QVector2D::x() const
返回该点的x坐标。
[constexpr noexcept]
float QVector2D::y() const
返回该点的y坐标。
QVariant QVector2D::operator QVariant() const
将2D向量作为QVariant返回。
[constexpr noexcept]
QVector2D &QVector2D::operator*=(float factor)
将此向量的坐标乘以给定的有限factor并返回对此向量的引用。
另请参阅operator/=() 和 operator*。
[constexpr noexcept]
QVector2D &QVector2D::operator*=(QVector2D vector)
将此向量的每个分量乘以vector的对应分量并返回对此向量的引用。
注意:这不是此向量与vector的叉积。(其分量之和为此向量与vector的点积。)
另请参阅operator/=() 和 operator*。
[constexpr noexcept]
QVector2D &QVector2D::operator+=(QVector2D vector)
将给定的 向量 添加到这个向量中,并返回对这个向量的引用。
另请参阅 运算符-=()。
[constexpr noexcept]
QVector2D &QVector2D::operator-=(QVector2D vector)
从本向量中减去给定的 向量 并返回对这个向量的引用。
另请参阅 运算符+=()。
[constexpr]
QVector2D &QVector2D::operator/=(float 除数)
将此向量的坐标除以给定的 除数 并返回对这个向量的引用。除数不能为零或NaN。
另请参阅 运算符*=()。
[constexpr]
QVector2D &QVector2D::operator/=(QVector2D vector)
将本向量的每个分量除以对应于 vector 的分量并返回对这个向量的引用。
向量 不能有任何分量为零或NaN。
[constexpr]
float &QVector2D::operator[](int i)
以可修改的引用返回向量在索引位置 i 的分量。
i 必须是向量中有效的索引位置(即,0 <= i < 2)。
[constexpr]
float QVector2D::operator[](int i) const
返回在索引位置 i 的向量分量。
i 必须是向量中有效的索引位置(即,0 <= i < 2)。
相关非成员
[noexcept]
bool qFuzzyCompare(QVector2D v1, QVector2D v2)
如果 v1 和 v2 相等,则返回 true
,允许在浮点数比较中有一定的模糊度因子;否则返回 false
。
[constexpr noexcept]
bool operator!=(QVector2D v1, QVector2D v2)
如果 v1 与 v2 不相等,则返回 true
;否则返回 false
。此运算符使用精确的浮点数比较。
[constexpr]
QVector2D operator*(float 系数, QVector2D vector)
返回给定 向量 的副本,乘以给定的有限 系数。
另请参阅 QVector2D::operator*=()。
[constexpr noexcept]
QVector2D operator*(QVector2D vector, float factor)
返回给定 向量 的副本,乘以给定的有限 系数。
另请参阅 QVector2D::operator*=()。
[constexpr noexcept]
QVector2D operator*(QVector2D v1, QVector2D v2)
返回由将v1的每个分量乘以v2的相应分量所形成的QVector2D对象。
注意:这绝不是v1和v2的任何意义上的叉积。(其分量之和等于v1和v2的点积。)
另请参阅 QVector2D::operator*=()。
[constexpr noexcept]
QVector2D operator+(QVector2D v1, QVector2D v2)
返回一个QVector2D对象,它是给定向量v1和v2的和;每个分量分别相加。
另请参阅:QVector2D::operator+=().
[constexpr noexcept]
QVector2D operator-(QVector2D v1, QVector2D v2)
返回一个QVector2D对象,它是通过从v1减去v2形成的;每个分量分别相减。
另请参阅:QVector2D::operator-=().
[constexpr noexcept]
QVector2D operator-(QVector2D vector)
这是一个重载函数。
返回一个QVector2D对象,它是通过改变给定vector的每个分量的符号形成的。
等同于QVector2D(0,0) - vector
。
[constexpr]
QVector2D operator/(QVector2D vector, float divisor)
返回通过将给定vector的每个分量除以给定divisor所形成的QVector2D对象。
divisor不能是零或NaN。
另请参阅:QVector2D::operator/=().
[constexpr]
QVector2D operator/(QVector2D vector, QVector2D divisor)
返回通过将给定vector的每个分量除以给定divisor的对应分量所形成的QVector2D对象。
divisor的任何分量都不能是零或NaN。
另请参阅:QVector2D::operator/=().
QDataStream &operator<<(QDataStream &stream, QVector2D vector)
将指定的 vector 写入指定的 stream 并返回对流的引用。
另请参阅 序列化 Qt 数据类型.
[constexpr noexcept]
bool operator==(QVector2D v1, QVector2D v2)
如果 v1 等于 v2,则返回 true
;否则返回 false
。此运算符使用精确的浮点数比较。
QDataStream &operator>>(QDataStream &stream, QVector2D &vector)
从指定的 stream 中读取 2D 向量到指定的 vector,并返回对流的引用。
另请参阅 序列化 Qt 数据类型.
© 2024 The Qt Company Ltd. 本文档中的贡献包括其各自拥有者的版权。本文档按照自由软件基金会发布的 GNU 自由文档许可协议版本 1.3 的条款提供。Qt 及相关标志是 The Qt Company Ltd. 在芬兰及全球其他国家的商标。所有其他商标均为其各自拥有者的财产。