|  | Home · All Classes · Modules

# QVector4D Class Reference
[QtGui module]

The QVector4D class represents a vector or vertex in 4D space. More...

### Methods

- __init__ (self)
- __init__ (self, float xpos, float ypos, float zpos, float wpos)
- __init__ (self, QPoint point)
- __init__ (self, QPointF point)
- __init__ (self, QVector2D vector)
- __init__ (self, QVector2D vector, float zpos, float wpos)
- __init__ (self, QVector3D vector)
- __init__ (self, QVector3D vector, float wpos)
- __init__ (self, QVector4D)
- bool isNull (self)
- float length (self)
- float lengthSquared (self)
- normalize (self)
- QVector4D normalized (self)
- setW (self, float aW)
- setX (self, float aX)
- setY (self, float aY)
- setZ (self, float aZ)
- QPoint toPoint (self)
- QPointF toPointF (self)
- QVector2D toVector2D (self)
- QVector2D toVector2DAffine (self)
- QVector3D toVector3D (self)
- QVector3D toVector3DAffine (self)
- float w (self)
- float x (self)
- float y (self)
- float z (self)

### Static Methods

- float dotProduct (QVector4D v1, QVector4D v2)

### Special Methods

- QVector4D __add__ (self, QVector4D v2)
- QVector4D __div__ (self, float divisor)
- bool __eq__ (self, QVector4D v2)
- QVector4D __iadd__ (self, QVector4D vector)
- QVector4D __idiv__ (self, float divisor)
- QVector4D __imul__ (self, float factor)
- QVector4D __imul__ (self, QVector4D vector)
- QVector4D __isub__ (self, QVector4D vector)
- QVector4D __mul__ (self, QMatrix4x4 matrix)
- QVector4D __mul__ (self, QVector4D vector)
- QVector4D __mul__ (self, float factor)
- QVector4D __mul__ (self, QVector4D v2)
- bool __ne__ (self, QVector4D v2)
- QVector4D __neg__ (self)
- object __repr__ (self)
- QVector4D __sub__ (self, QVector4D v2)

## Detailed Description

This class can be pickled.

The QVector4D class represents a vector or vertex 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.

Note: By design values in the QVector4D instance are stored as `float`. This means that on platforms where the `qreal` arguments to QVector4D functions are represented by `double` values, it is possible to lose precision.

## Method Documentation

### QVector4D.__init__ (self)

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

### QVector4D.__init__ (self, float xpos, float ypos, float zpos, float wpos)

Constructs a vector with coordinates (xpos, ypos, zpos, wpos).

### QVector4D.__init__ (self, QPoint point)

Constructs a vector with x and y coordinates from a 2D point, and z and w coordinates of 0.

### QVector4D.__init__ (self, QPointF point)

Constructs a vector with x and y coordinates from a 2D point, and z and w coordinates of 0.

### QVector4D.__init__ (self, QVector2D vector)

Constructs a 4D vector from the specified 2D vector. The z and w coordinates are set to zero.

See also toVector2D().

### QVector4D.__init__ (self, QVector2D vector, float zpos, float wpos)

Constructs a 4D vector from the specified 2D vector. The z and w coordinates are set to zpos and wpos respectively.

See also toVector2D().

### QVector4D.__init__ (self, QVector3D vector)

Constructs a 4D vector from the specified 3D vector. The w coordinate is set to zero.

See also toVector3D().

### QVector4D.__init__ (self, QVector3D vector, float wpos)

Constructs a 4D vector from the specified 3D vector. The w coordinate is set to wpos.

See also toVector3D().

### QVector4D.__init__ (self, QVector4D)

### float QVector4D.dotProduct (QVector4D v1, QVector4D v2)

Returns the dot product of v1 and v2.

### bool QVector4D.isNull (self)

Returns true if the x, y, z, and w coordinates are set to 0.0, otherwise returns false.

### float QVector4D.length (self)

Returns the length of the vector from the origin.

See also lengthSquared() and normalized().

### float QVector4D.lengthSquared (self)

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

See also length() and dotProduct().

### QVector4D.normalize (self)

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 length() and normalized().

### QVector4D QVector4D.normalized (self)

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 length() and normalize().

### QVector4D.setW (self, float aW)

Sets the w coordinate of this point to the given w coordinate.

See also w(), setX(), setY(), and setZ().

### QVector4D.setX (self, float aX)

Sets the x coordinate of this point to the given x coordinate.

See also x(), setY(), setZ(), and setW().

### QVector4D.setY (self, float aY)

Sets the y coordinate of this point to the given y coordinate.

See also y(), setX(), setZ(), and setW().

### QVector4D.setZ (self, float aZ)

Sets the z coordinate of this point to the given z coordinate.

See also z(), setX(), setY(), and setW().

### QPoint QVector4D.toPoint (self)

Returns the QPoint form of this 4D vector. The z and w coordinates are dropped.

See also toPointF() and toVector2D().

### QPointF QVector4D.toPointF (self)

Returns the QPointF form of this 4D vector. The z and w coordinates are dropped.

See also toPoint() and toVector2D().

### QVector2D QVector4D.toVector2D (self)

Returns the 2D vector form of this 4D vector, dropping the z and w coordinates.

See also toVector2DAffine(), toVector3D(), and toPoint().

### QVector2D QVector4D.toVector2DAffine (self)

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.

See also toVector2D(), toVector3DAffine(), and toPoint().

### QVector3D QVector4D.toVector3D (self)

Returns the 3D vector form of this 4D vector, dropping the w coordinate.

See also toVector3DAffine(), toVector2D(), and toPoint().

### QVector3D QVector4D.toVector3DAffine (self)

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.

See also toVector3D(), toVector2DAffine(), and toPoint().

### float QVector4D.w (self)

Returns the w coordinate of this point.

See also setW(), x(), y(), and z().

### float QVector4D.x (self)

Returns the x coordinate of this point.

See also setX(), y(), z(), and w().

### float QVector4D.y (self)

Returns the y coordinate of this point.

See also setY(), x(), z(), and w().

### float QVector4D.z (self)

Returns the z coordinate of this point.

See also setZ(), x(), y(), and w().

### QVector4D QVector4D.__add__ (self, QVector4D v2)

### QVector4D QVector4D.__div__ (self, float divisor)

### bool QVector4D.__eq__ (self, QVector4D v2)

### QVector4D QVector4D.__iadd__ (self, QVector4D vector)

### QVector4D QVector4D.__idiv__ (self, float divisor)

### QVector4D QVector4D.__imul__ (self, float factor)

### QVector4D QVector4D.__imul__ (self, QVector4D vector)

### QVector4D QVector4D.__isub__ (self, QVector4D vector)

### QVector4D QVector4D.__mul__ (self, QMatrix4x4 matrix)

### QVector4D QVector4D.__mul__ (self, QVector4D vector)

### QVector4D QVector4D.__mul__ (self, float factor)

### QVector4D QVector4D.__mul__ (self, QVector4D v2)

### bool QVector4D.__ne__ (self, QVector4D v2)

### QVector4D QVector4D.__neg__ (self)

### object QVector4D.__repr__ (self)

### QVector4D QVector4D.__sub__ (self, QVector4D v2)