QVector4D 类表示 4D 空间中的向量或顶点。 更多...
头: | #include <QVector4D> |
CMake: |
find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
QVector4D () | |
QVector4D (float xpos , float ypos , float zpos , float wpos ) | |
QVector4D (QPoint point ) | |
QVector4D (QPointF point ) | |
QVector4D (QVector2D vector ) | |
QVector4D (QVector2D vector , float zpos , float wpos ) | |
QVector4D (QVector3D vector ) | |
QVector4D (QVector3D vector , float wpos ) | |
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 ) |
Vectors are one of the main building blocks of 4D affine representations of 3D space. They consist of four finite floating-point coordinates, traditionally called x, y, z and w.
The QVector4D class can also be used to represent vertices in 4D space. We therefore do not need to provide a separate vertex class.
另请参阅 QQuaternion , QVector2D ,和 QVector3D .
[constexpr noexcept]
QVector4D::
QVector4D
()
Constructs a null vector, i.e. with coordinates (0, 0, 0, 0).
[constexpr noexcept]
QVector4D::
QVector4D
(
float
xpos
,
float
ypos
,
float
zpos
,
float
wpos
)
构造向量采用坐标 ( xpos , ypos , zpos , wpos )。所有参数必须是有限的。
[explicit constexpr noexcept]
QVector4D::
QVector4D
(
QPoint
point
)
Constructs a vector with x and y coordinates from a 2D point , and z and w coordinates of 0.
[explicit constexpr noexcept]
QVector4D::
QVector4D
(
QPointF
point
)
Constructs a vector with x and y coordinates from a 2D point , and z and w coordinates of 0.
[explicit constexpr noexcept]
QVector4D::
QVector4D
(
QVector2D
vector
)
构造 4D 向量从指定 2D vector . The z and w coordinates are set to zero.
另请参阅 toVector2D ().
[constexpr noexcept]
QVector4D::
QVector4D
(
QVector2D
vector
,
float
zpos
,
float
wpos
)
构造 4D 向量从指定 2D vector . The z and w coordinates are set to zpos and wpos respectively, each of which must be finite.
另请参阅 toVector2D ().
[explicit constexpr noexcept]
QVector4D::
QVector4D
(
QVector3D
vector
)
构造 4D 向量从指定 3D vector . The w coordinate is set to zero.
另请参阅 toVector3D ().
[constexpr noexcept]
QVector4D::
QVector4D
(
QVector3D
vector
,
float
wpos
)
构造 4D 向量从指定 3D vector 。w 坐标被设为 wpos ,必须是有限的。
另请参阅 toVector3D ().
[static constexpr noexcept]
float
QVector4D::
dotProduct
(
QVector4D
v1
,
QVector4D
v2
)
返回点积为 v1 and v2 .
[constexpr noexcept]
bool
QVector4D::
isNull
() const
返回
true
若 x、y、z 和 w 坐标被设为 0.0,否则返回
false
.
[noexcept]
float
QVector4D::
length
() const
从原点返回向量长度。
另请参阅 lengthSquared () 和 normalized ().
[constexpr noexcept]
float
QVector4D::
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
QVector4D::
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]
QVector4D
QVector4D::
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
QVector4D::
setW
(
float
w
)
Sets the w coordinate of this point to the given finite w 坐标。
另请参阅 w (), setX (), setY (),和 setZ ().
[constexpr noexcept]
void
QVector4D::
setX
(
float
x
)
将此点的 X 坐标设为给定有限 x 坐标。
另请参阅 x (), setY (), setZ (),和 setW ().
[constexpr noexcept]
void
QVector4D::
setY
(
float
y
)
将此点的 Y 坐标设为给定有限 y 坐标。
另请参阅 y (), setX (), setZ (),和 setW ().
[constexpr noexcept]
void
QVector4D::
setZ
(
float
z
)
Sets the z coordinate of this point to the given finite z 坐标。
另请参阅 z (), setX (), setY (),和 setW ().
[constexpr noexcept]
QPoint
QVector4D::
toPoint
() const
返回 QPoint form of this 4D vector. The z and w coordinates are dropped. The x and y coordinates are rounded to nearest integers.
另请参阅 toPointF () 和 toVector2D ().
[constexpr noexcept]
QPointF
QVector4D::
toPointF
() const
返回 QPointF form of this 4D vector. The z and w coordinates are dropped.
另请参阅 toPoint () 和 toVector2D ().
[constexpr noexcept]
QVector2D
QVector4D::
toVector2D
() const
Returns the 2D vector form of this 4D vector, dropping the z and w coordinates.
另请参阅 toVector2DAffine (), toVector3D (),和 toPoint ().
[constexpr noexcept]
QVector2D
QVector4D::
toVector2DAffine
() const
Returns the 2D vector form of this 4D vector, dividing the x and y coordinates by the w coordinate and dropping the z coordinate. Returns a null vector if w is zero.
另请参阅 toVector2D (), toVector3DAffine (),和 toPoint ().
[constexpr noexcept]
QVector3D
QVector4D::
toVector3D
() const
Returns the 3D vector form of this 4D vector, dropping the w coordinate.
另请参阅 toVector3DAffine (), toVector2D (),和 toPoint ().
[constexpr noexcept]
QVector3D
QVector4D::
toVector3DAffine
() const
Returns the 3D vector form of this 4D vector, dividing the x, y, and z coordinates by the w coordinate. Returns a null vector if w is zero.
另请参阅 toVector3D (), toVector2DAffine (),和 toPoint ().
[constexpr noexcept]
float
QVector4D::
w
() const
返回此点的 w 坐标。
另请参阅 setW (), x (), y (),和 z ().
[constexpr noexcept]
float
QVector4D::
x
() const
返回此点的 X 坐标。
另请参阅 setX (), y (), z (),和 w ().
[constexpr noexcept]
float
QVector4D::
y
() const
返回此点的 Y 坐标。
另请参阅 setY (), x (), z (),和 w ().
[constexpr noexcept]
float
QVector4D::
z
() const
返回此点的 z 坐标。
另请参阅 setZ (), x (), y (),和 w ().
将 4D 向量返回作为 QVariant .
[constexpr noexcept]
QVector4D
&QVector4D::
operator*=
(
float
factor
)
Multiplies this vector's coordinates by the given finite factor , and returns a reference to this vector.
另请参阅 operator/= () 和 operator* ().
[constexpr noexcept]
QVector4D
&QVector4D::
operator*=
(
QVector4D
vector
)
Multiplies each component of this vector by the corresponding component of vector and returns a reference to this vector.
另请参阅 operator/= () 和 operator* ().
[constexpr noexcept]
QVector4D
&QVector4D::
operator+=
(
QVector4D
vector
)
添加给定 vector to this vector and returns a reference to this vector.
另请参阅 operator-= ().
[constexpr noexcept]
QVector4D
&QVector4D::
operator-=
(
QVector4D
vector
)
减去给定 vector from this vector and returns a reference to this vector.
另请参阅 operator+= ().
[constexpr]
QVector4D
&QVector4D::
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]
QVector4D
&QVector4D::
operator/=
(
QVector4D
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
&QVector4D::
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 < 4).
[constexpr]
float
QVector4D::
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 < 4).
[noexcept]
bool
qFuzzyCompare
(
QVector4D
v1
,
QVector4D
v2
)
返回
true
if
v1
and
v2
are equal, allowing for a small fuzziness factor for floating-point comparisons; false otherwise.
[constexpr noexcept]
bool
operator!=
(
QVector4D
v1
,
QVector4D
v2
)
返回
true
if
v1
不等于
v2
;否则返回
false
。此运算符使用精确浮点比较。
[constexpr noexcept]
QVector4D
operator*
(
float
factor
,
QVector4D
vector
)
返回副本为给定 vector ,乘以给定 factor .
另请参阅 QVector4D::operator*= ().
[constexpr noexcept]
QVector4D
operator*
(
QVector4D
vector
,
float
factor
)
返回副本为给定 vector ,乘以给定 factor .
另请参阅 QVector4D::operator*= ().
[constexpr noexcept]
QVector4D
operator*
(
QVector4D
v1
,
QVector4D
v2
)
返回 QVector4D 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 )。
另请参阅 QVector4D::operator*= ().
[constexpr noexcept]
QVector4D
operator+
(
QVector4D
v1
,
QVector4D
v2
)
返回 QVector4D object that is the sum of the given vectors, v1 and v2 ;分别相加各分量。
另请参阅 QVector4D::operator+= ().
[constexpr noexcept]
QVector4D
operator-
(
QVector4D
v1
,
QVector4D
v2
)
返回 QVector4D 对象的形成是通过减去 v2 from v1 ;分别减去各分量。
另请参阅 QVector4D::operator-= ().
[constexpr noexcept]
QVector4D
operator-
(
QVector4D
vector
)
这是重载函数。
返回 QVector4D object that is formed by changing the sign of all three components of the given vector .
相当于
QVector4D(0,0,0,0) - vector
.
[constexpr]
QVector4D
operator/
(
QVector4D
vector
,
float
divisor
)
返回 QVector4D object formed by dividing each component of the given vector 通过给定 divisor .
The divisor must not be either zero or NaN.
另请参阅 QVector4D::operator/= ().
[constexpr]
QVector4D
operator/
(
QVector4D
vector
,
QVector4D
divisor
)
返回 QVector4D 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.
另请参阅 QVector4D::operator/= ().
写入给定 vector 到给定 stream 并返回流引用。
另请参阅 序列化 Qt 数据类型 .
[constexpr noexcept]
bool
operator==
(
QVector4D
v1
,
QVector4D
v2
)
返回
true
if
v1
等于
v2
;否则返回
false
。此运算符使用精确浮点比较。
读取 4D 向量从给定 stream 进给定 vector 并返回流引用。
另请参阅 序列化 Qt 数据类型 .