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 坐标。
[constexpr noexcept]
void
QVector2D::
setY
(
float
y
)
将此点的 Y 坐标设为给定有限 y 坐标。
[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 坐标。
[constexpr noexcept]
float
QVector2D::
y
() const
返回此点的 Y 坐标。
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 作为可修改引用。
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/= ().
写入给定 vector 到给定 stream 并返回流引用。
另请参阅 序列化 Qt 数据类型 .
[constexpr noexcept]
bool
operator==
(
QVector2D
v1
,
QVector2D
v2
)
返回
true
if
v1
等于
v2
;否则返回
false
。此运算符使用精确浮点比较。
Reads a 2D vector from the given stream 进给定 vector 并返回流引用。
另请参阅 序列化 Qt 数据类型 .