QVector2D 类

QVector2D 类表示 2D 空间中的向量或顶点。 更多...

头: #include <QVector2D>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui

公共函数

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 )

详细描述

Vectors are one of the main building blocks of 2D representation and drawing. They consist of two finite floating-point coordinates, traditionally called x and y.

The QVector2D class can also be used to represent vertices in 2D space. We therefore do not need to provide a separate vertex class.

另请参阅 QVector3D , QVector4D ,和 QQuaternion .

成员函数文档编制

[constexpr noexcept] QVector2D:: QVector2D ()

Constructs a null vector, i.e. with coordinates (0, 0).

[constexpr noexcept] QVector2D:: QVector2D ( float xpos , float ypos )

构造向量采用坐标 ( xpos , ypos ). Both coordinates must be finite.

[explicit constexpr noexcept] QVector2D:: QVector2D ( QPoint point )

Constructs a vector with x and y coordinates from a 2D point .

[explicit constexpr noexcept] QVector2D:: QVector2D ( QPointF point )

Constructs a vector with x and y coordinates from a 2D point .

[explicit constexpr noexcept] QVector2D:: QVector2D ( QVector3D vector )

Constructs a vector with x and y coordinates from a 3D vector . The z coordinate of vector is dropped.

另请参阅 toVector3D ().

[explicit constexpr noexcept] QVector2D:: QVector2D ( QVector4D vector )

Constructs a vector with x and y coordinates from a 3D vector . The z and w coordinates of vector are dropped.

另请参阅 toVector4D ().

[noexcept] float QVector2D:: distanceToLine ( QVector2D point , QVector2D direction ) const

Returns the distance that this vertex is from a line defined by point and the unit vector direction .

direction is a null vector, then it does not define a line. In that case, the distance from point to this vertex is returned.

另请参阅 distanceToPoint ().

[noexcept] float QVector2D:: distanceToPoint ( QVector2D point ) const

Returns the distance from this vertex to a point defined by the vertex point .

另请参阅 distanceToLine ().

[static constexpr noexcept] float QVector2D:: dotProduct ( QVector2D v1 , QVector2D v2 )

返回点积为 v1 and v2 .

[constexpr noexcept] bool QVector2D:: isNull () const

返回 true if the x and y coordinates are set to 0.0, otherwise returns false .

[noexcept] float QVector2D:: length () const

从原点返回向量长度。

另请参阅 lengthSquared () 和 normalized ().

[constexpr noexcept] float QVector2D:: lengthSquared () const

Returns the squared length of the vector from the origin. This is equivalent to the dot product of the vector with itself.

另请参阅 length () 和 dotProduct ().

[noexcept] void QVector2D:: normalize ()

Normalizes the current vector in place. Nothing happens if this vector is a null vector or the length of the vector is very close to 1.

另请参阅 length () 和 normalized ().

[noexcept] QVector2D QVector2D:: normalized () const

Returns the normalized unit vector form of this vector.

If this vector is null, then a null vector is returned. If the length of the vector is very close to 1, then the vector will be returned as-is. Otherwise the normalized form of the vector of length 1 will be returned.

另请参阅 length () 和 normalize ().

[constexpr noexcept] void QVector2D:: setX ( float x )

将此点的 X 坐标设为给定有限 x 坐标。

另请参阅 x () 和 setY ().

[constexpr noexcept] void QVector2D:: setY ( float y )

将此点的 Y 坐标设为给定有限 y 坐标。

另请参阅 y () 和 setX ().

[constexpr noexcept] QPoint QVector2D:: toPoint () const

返回 QPoint form of this 2D vector. Each coordinate is rounded to the nearest integer.

另请参阅 toPointF () 和 toVector3D ().

[constexpr noexcept] QPointF QVector2D:: toPointF () const

返回 QPointF form of this 2D vector.

另请参阅 toPoint () 和 toVector3D ().

[constexpr noexcept] QVector3D QVector2D:: toVector3D () const

Returns the 3D form of this 2D vector, with the z coordinate set to zero.

另请参阅 toVector4D () 和 toPoint ().

[constexpr noexcept] QVector4D QVector2D:: toVector4D () const

Returns the 4D form of this 2D vector, with the z and w coordinates set to zero.

另请参阅 toVector3D () 和 toPoint ().

[constexpr noexcept] float QVector2D:: x () const

返回此点的 X 坐标。

另请参阅 setX () 和 y ().

[constexpr noexcept] float QVector2D:: y () const

返回此点的 Y 坐标。

另请参阅 setY () 和 x ().

QVariant QVector2D:: operator QVariant () const

Returns the 2D vector as a QVariant .

[constexpr noexcept] QVector2D &QVector2D:: operator*= ( float factor )

Multiplies this vector's coordinates by the given finite factor and returns a reference to this vector.

另请参阅 operator/= () 和 operator* ().

[constexpr noexcept] QVector2D &QVector2D:: operator*= ( QVector2D vector )

Multiplies each component of this vector by the corresponding component of vector and returns a reference to this vector.

注意: This is not a cross product of this vector with vector . (Its components add up to the dot product of this vector and vector .)

另请参阅 operator/= () 和 operator* ().

[constexpr noexcept] QVector2D &QVector2D:: operator+= ( QVector2D vector )

添加给定 vector to this vector and returns a reference to this vector.

另请参阅 operator-= ().

[constexpr noexcept] QVector2D &QVector2D:: operator-= ( QVector2D vector )

减去给定 vector from this vector and returns a reference to this vector.

另请参阅 operator+= ().

[constexpr] QVector2D &QVector2D:: operator/= ( float divisor )

Divides this vector's coordinates by the given divisor and returns a reference to this vector. The divisor must not be either zero or NaN.

另请参阅 operator*= ().

[constexpr] QVector2D &QVector2D:: operator/= ( QVector2D vector )

Divides each component of this vector by the corresponding component of vector and returns a reference to this vector.

The vector must have no component that is either zero or NaN.

另请参阅 operator*= () 和 operator/ ().

[constexpr] float &QVector2D:: operator[] ( int i )

Returns the component of the vector at index position i as a modifiable reference.

i must be a valid index position in the vector (i.e., 0 <= i < 2).

[constexpr] float QVector2D:: operator[] ( int i ) const

Returns the component of the vector at index position i .

i must be a valid index position in the vector (i.e., 0 <= i < 2).

相关非成员

[noexcept] bool qFuzzyCompare ( QVector2D v1 , QVector2D v2 )

返回 true if v1 and v2 are equal, allowing for a small fuzziness factor for floating-point comparisons; false otherwise.

[constexpr noexcept] bool operator!= ( QVector2D v1 , QVector2D v2 )

返回 true if v1 不等于 v2 ;否则返回 false 。此运算符使用精确浮点比较。

[constexpr noexcept] QVector2D operator* ( float factor , QVector2D vector )

返回副本为给定 vector ,乘以给定有限 factor .

另请参阅 QVector2D::operator*= ().

[constexpr noexcept] QVector2D operator* ( QVector2D vector , float factor )

返回副本为给定 vector ,乘以给定有限 factor .

另请参阅 QVector2D::operator*= ().

[constexpr noexcept] QVector2D operator* ( QVector2D v1 , QVector2D v2 )

返回 QVector2D object formed by multiplying each component of v1 by the corresponding component of v2 .

注意: This is not a cross product of v1 and v2 in any sense. (Its components add up to the dot product of v1 and v2 .)

另请参阅 QVector2D::operator*= ().

[constexpr noexcept] QVector2D operator+ ( QVector2D v1 , QVector2D v2 )

返回 QVector2D object that is the sum of the given vectors, v1 and v2 ;分别相加各分量。

另请参阅 QVector2D::operator+= ().

[constexpr noexcept] QVector2D operator- ( QVector2D v1 , QVector2D v2 )

返回 QVector2D 对象的形成是通过减去 v2 from v1 ;分别减去各分量。

另请参阅 QVector2D::operator-= ().

[constexpr noexcept] QVector2D operator- ( QVector2D vector )

这是重载函数。

返回 QVector2D object that is formed by changing the sign of each component of the given vector .

相当于 QVector2D(0,0) - vector .

[constexpr] QVector2D operator/ ( QVector2D vector , float divisor )

返回 QVector2D object formed by dividing each component of the given vector 通过给定 divisor .

The divisor must not be either zero or NaN.

另请参阅 QVector2D::operator/= ().

[constexpr] QVector2D operator/ ( QVector2D vector , QVector2D divisor )

返回 QVector2D object formed by dividing each component of the given vector by the corresponding component of the given divisor .

The divisor must have no component that is either zero or NaN.

另请参阅 QVector2D::operator/= ().

QDataStream & operator<< ( QDataStream & stream , QVector2D vector )

写入给定 vector 到给定 stream 并返回流引用。

另请参阅 序列化 Qt 数据类型 .

[constexpr noexcept] bool operator== ( QVector2D v1 , QVector2D v2 )

返回 true if v1 等于 v2 ;否则返回 false 。此运算符使用精确浮点比较。

QDataStream & operator>> ( QDataStream & stream , QVector2D & vector )

Reads a 2D vector from the given stream 进给定 vector 并返回流引用。

另请参阅 序列化 Qt 数据类型 .