![]() |
CopperSpice API
2.0.0
|
Represents a point or vector in 4D space. More...
Public Methods | |
QVector4D () | |
QVector4D (const QPoint &point) | |
QVector4D (const QPointF &point) | |
QVector4D (const QVector2D &vector) | |
QVector4D (const QVector2D &vector, qreal zpos, qreal wpos) | |
QVector4D (const QVector3D &vector) | |
QVector4D (const QVector3D &vector, qreal wpos) | |
QVector4D (qreal xpos, qreal ypos, qreal zpos, qreal wpos) | |
bool | isNull () const |
qreal | length () const |
qreal | lengthSquared () const |
void | normalize () |
QVector4D | normalized () const |
operator QVariant () const | |
QVector4D & | operator*= (const QVector4D &vector) |
QVector4D & | operator*= (qreal factor) |
QVector4D & | operator+= (const QVector4D &vector) |
QVector4D & | operator-= (const QVector4D &vector) |
QVector4D & | operator/= (qreal divisor) |
void | setW (qreal w) |
void | setX (qreal x) |
void | setY (qreal y) |
void | setZ (qreal z) |
QPoint | toPoint () const |
QPointF | toPointF () const |
QVector2D | toVector2D () const |
QVector2D | toVector2DAffine () const |
QVector3D | toVector3D () const |
QVector3D | toVector3DAffine () const |
qreal | w () const |
qreal | x () const |
qreal | y () const |
qreal | z () const |
Static Public Methods | |
static qreal | dotProduct (const QVector4D &v1, const QVector4D &v2) |
Friends | |
bool | operator!= (const QVector4D &v1, const QVector4D &v2) |
const QVector4D | operator* (const QVector4D &v1, const QVector4D &v2) |
const QVector4D | operator* (const QVector4D &vector, qreal factor) |
const QVector4D | operator* (qreal factor, const QVector4D &vector) |
const QVector4D | operator+ (const QVector4D &v1, const QVector4D &v2) |
const QVector4D | operator- (const QVector4D &v1, const QVector4D &v2) |
const QVector4D | operator- (const QVector4D &vector) |
const QVector4D | operator/ (const QVector4D &vector, qreal divisor) |
bool | operator== (const QVector4D &v1, const QVector4D &v2) |
bool | qFuzzyCompare (const QVector4D &v1, const QVector4D &v2) |
class | QVector2D |
class | QVector3D |
Related Functions | |
These are not member functions | |
QDataStream & | operator<< (QDataStream &stream, const QVector4D &vector) |
QDataStream & | operator>> (QDataStream &stream, QVector4D &vector) |
The QVector4D class represents a point or vector in 4D space. The QVector4D class can also be used to represent vertices in 4D space. We therefore do not need to provide a separate vertex class.
float
. This means that on platforms where the qreal
arguments to QVector4D functions are represented by double
values, it is possible to lose precision.
|
inline |
Constructs a null vector, i.e. with coordinates (0, 0, 0, 0).
Constructs a vector with coordinates (xpos, ypos, zpos, wpos).
|
inlineexplicit |
Constructs a vector with x and y coordinates from a 2D point, and z and w coordinates of 0.
|
inlineexplicit |
Constructs a vector with x and y coordinates from a 2D point, and z and w coordinates of 0.
QVector4D::QVector4D | ( | const QVector2D & | vector | ) |
Constructs a 4D vector from the specified 2D vector. The z and w coordinates are set to zero.
Constructs a 4D vector from the specified 2D vector. The z and w coordinates are set to zpos and wpos respectively.
QVector4D::QVector4D | ( | const QVector3D & | vector | ) |
Constructs a 4D vector from the specified 3D vector. The w coordinate is set to zero.
Constructs a 4D vector from the specified 3D vector. The w coordinate is set to wpos.
|
static |
Returns the dot product of v1 and v2.
|
inline |
Returns true if the x, y, z, and w coordinates are set to 0.0, otherwise returns false.
qreal QVector4D::length | ( | ) | const |
Returns the length of the vector from the origin.
qreal 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.
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.
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.
|
inline |
Multiplies the components of this vector by the corresponding components in vector.
|
inline |
Multiplies this vector's coordinates by the given factor, and returns a reference to this vector.
|
inline |
Adds the given vector to this vector and returns a reference to this vector.
|
inline |
Subtracts the given vector from this vector and returns a reference to this vector.
|
inline |
Divides this vector's coordinates by the given divisor, and returns a reference to this vector.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Returns the QPoint form of this 4D vector. The z and w coordinates are dropped.
|
inline |
Returns the QPointF form of this 4D vector. The z and w coordinates are dropped.
QVector2D QVector4D::toVector2D | ( | ) | const |
Returns the 2D vector form of this 4D vector, dropping the z and w coordinates.
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.
QVector3D QVector4D::toVector3D | ( | ) | const |
Returns the 3D vector form of this 4D vector, dropping the w coordinate.
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.
|
inline |
|
inline |
|
inline |
|
inline |
|
friend |
Returns true if v1 is not equal to v2, otherwise returns false. This operator uses an exact floating point comparison.
|
friend |
Returns the vector consisting of the multiplication of the components from v1 and v2.
|
friend |
Returns a copy of the given vector, multiplied by the given factor.
|
friend |
Returns a copy of the given vector, multiplied by the given factor.
|
friend |
Returns a QVector4D object that is the sum of the given vectors, v1 and v2, each component is added separately.
|
friend |
Returns a QVector4D object that is formed by subtracting v2 from v1, each component is subtracted separately.
|
friend |
Returns a QVector4D object that is formed by changing the sign of all three components of the given vector.
Equivalent to calliing QVector4D(0,0,0,0) - vector.
|
friend |
Returns the QVector4D object formed by dividing all four components of the given vector by the given divisor.
|
related |
Writes the vector to the stream and returns a reference to the stream.
Refer to Serializing Data Types for additional information.
|
friend |
Returns true if v1 is equal to v2, otherwise returns false. This operator uses an exact floating point comparison.
|
related |
Reads a 4D vector from the stream into the given vector and returns a reference to the stream.
Refer to Serializing Data Types for additional information.
|
friend |
Returns true if v1 and v2 are equal, allowing for a small fuzziness factor for floating-point comparisons, otherwise false.