QVector2D Class▲
-
Header: QVector2D
-
CMake:
find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
-
qmake: QT += gui
-
Group: QVector2D is part of Painting Classes, Rendering in 3D
Detailed Description▲
The QVector2D class can also be used to represent vertices in 2D space. We therefore do not need to provide a separate vertex class.
See Also▲
See also QVector3D, QVector4D, QQuaternion
Member Function Documentation▲
[constexpr] QVector2D::QVector2D()▲
Constructs a null vector, i.e. with coordinates (0, 0).
[constexpr] QVector2D::QVector2D(float xpos, float ypos)▲
Constructs a vector with coordinates (xpos, ypos).
[explicit constexpr] QVector2D::QVector2D(QPoint point)▲
Constructs a vector with x and y coordinates from a 2D point.
[explicit constexpr] QVector2D::QVector2D(QPointF point)▲
Constructs a vector with x and y coordinates from a 2D point.
[explicit constexpr] QVector2D::QVector2D(QVector3D vector)▲
Constructs a vector with x and y coordinates from a 3D vector. The z coordinate of vector is dropped.
See Also▲
See also toVector3D()
[explicit constexpr] 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.
See Also▲
See also toVector4D()
[since 5.1] 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.
If direction is a null vector, then it does not define a line. In that case, the distance from point to this vertex is returned.
This function was introduced in Qt 5.1.
See Also▲
See also distanceToPoint()
[since 5.1] float QVector2D::distanceToPoint(QVector2D point) const▲
Returns the distance from this vertex to a point defined by the vertex point.
This function was introduced in Qt 5.1.
See Also▲
See also distanceToLine()
[static constexpr] float QVector2D::dotProduct(QVector2D v1, QVector2D v2)▲
Returns the dot product of v1 and v2.
[constexpr] bool QVector2D::isNull() const▲
Returns true if the x and y coordinates are set to 0.0, otherwise returns false.
float QVector2D::length() const▲
[constexpr] 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.
See Also▲
See also length(), dotProduct()
void QVector2D::normalize()▲
Normalizes the currect vector in place. Nothing happens if this vector is a null vector or the length of the vector is very close to 1.
See Also▲
See also length(), normalized()
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.
See Also▲
[constexpr] void QVector2D::setX(float x)▲
[constexpr] void QVector2D::setY(float y)▲
[constexpr] QPoint QVector2D::toPoint() const▲
[constexpr] QPointF QVector2D::toPointF() const▲
[constexpr] QVector3D QVector2D::toVector3D() const▲
Returns the 3D form of this 2D vector, with the z coordinate set to zero.
See Also▲
See also toVector4D(), toPoint()
[constexpr] QVector4D QVector2D::toVector4D() const▲
Returns the 4D form of this 2D vector, with the z and w coordinates set to zero.
See Also▲
See also toVector3D(), toPoint()
[constexpr] float QVector2D::x() const▲
[constexpr] float QVector2D::y() const▲
QVariant QVector2D::operator QVariant() const▲
Returns the 2D vector as a QVariant.
[constexpr] QVector2D &QVector2D::operator*=(float factor)▲
Multiplies this vector's coordinates by the given factor, and returns a reference to this vector.
See Also▲
See also operator/=()
[constexpr] QVector2D &QVector2D::operator*=(QVector2D vector)▲
Multiplies the components of this vector by the corresponding components in vector.
[constexpr] QVector2D &QVector2D::operator+=(QVector2D vector)▲
Adds the given vector to this vector and returns a reference to this vector.
See Also▲
See also operator-=()
[constexpr] QVector2D &QVector2D::operator-=(QVector2D vector)▲
Subtracts the given vector from this vector and returns a reference to this vector.
See Also▲
See also operator+=()
[constexpr] QVector2D &QVector2D::operator/=(float divisor)▲
Divides this vector's coordinates by the given divisor, and returns a reference to this vector.
See Also▲
See also operator*=()
[constexpr, since 5.5] QVector2D &QVector2D::operator/=(QVector2D vector)▲
Divides the components of this vector by the corresponding components in vector.
This function was introduced in Qt 5.5.
See Also▲
See also operator*=()
[constexpr, since 5.2] 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).
This function was introduced in Qt 5.2.
[constexpr, since 5.2] 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).
This function was introduced in Qt 5.2.
Related Non-Members▲
bool qFuzzyCompare(QVector2D v1, QVector2D v2)▲
Returns true if v1 and v2 are equal, allowing for a small fuzziness factor for floating-point comparisons; false otherwise.
[constexpr] bool operator!=(QVector2D v1, QVector2D v2)▲
Returns true if v1 is not equal to v2; otherwise returns false. This operator uses an exact floating-point comparison.
[constexpr] QVector2D operator*(float factor, QVector2D vector)▲
Returns a copy of the given vector, multiplied by the given factor.
See Also▲
See also QVector2D::operator*=()
[constexpr] QVector2D operator*(QVector2D vector, float factor)▲
Returns a copy of the given vector, multiplied by the given factor.
See Also▲
See also QVector2D::operator*=()
[constexpr] QVector2D operator*(QVector2D v1, QVector2D v2)▲
Multiplies the components of v1 by the corresponding components in v2.
[constexpr] QVector2D operator+(QVector2D v1, QVector2D v2)▲
Returns a QVector2D object that is the sum of the given vectors, v1 and v2; each component is added separately.
See Also▲
See also QVector2D::operator+=()
[constexpr] QVector2D operator-(QVector2D v1, QVector2D v2)▲
Returns a QVector2D object that is formed by subtracting v2 from v1; each component is subtracted separately.
See Also▲
See also QVector2D::operator-=()
[constexpr] QVector2D operator-(QVector2D vector)▲
This is an overloaded function.
Returns a QVector2D object that is formed by changing the sign of the components of the given vector.
Equivalent to QVector2D(0,0) - vector.
[constexpr] QVector2D operator/(QVector2D vector, float divisor)▲
Returns the QVector2D object formed by dividing all three components of the given vector by the given divisor.
See Also▲
See also QVector2D::operator/=()
[constexpr, since 5.5] QVector2D operator/(QVector2D vector, QVector2D divisor)▲
Returns the QVector2D object formed by dividing components of the given vector by a respective components of the given divisor.
This function was introduced in Qt 5.5.
See Also▲
See also QVector2D::operator/=()
QDataStream &operator<<(QDataStream &stream, QVector2D vector)▲
Writes the given vector to the given stream and returns a reference to the stream.
See Also▲
See also Serializing Qt Data Types
[constexpr] bool operator==(QVector2D v1, QVector2D v2)▲
Returns true if v1 is equal to v2; otherwise returns false. This operator uses an exact floating-point comparison.
QDataStream &operator>>(QDataStream &stream, QVector2D &vector)▲
Reads a 2D vector from the given stream into the given vector and returns a reference to the stream.
See Also▲
See also Serializing Qt Data Types