The QVector2D class represents a vector or vertex in 2D space. More...

` #include <QVector2D>`

This class was introduced in Qt 4.6.

QVector2D () | |

QVector2D ( qreal xpos, qreal ypos ) | |

QVector2D ( const QPoint & point ) | |

QVector2D ( const QPointF & point ) | |

QVector2D ( const QVector3D & vector ) | |

QVector2D ( const QVector4D & vector ) | |

bool | isNull () const |

qreal | length () const |

qreal | lengthSquared () const |

void | normalize () |

QVector2D | normalized () const |

void | setX ( qreal x ) |

void | setY ( qreal y ) |

QPoint | toPoint () const |

QPointF | toPointF () const |

QVector3D | toVector3D () const |

QVector4D | toVector4D () const |

qreal | x () const |

qreal | y () const |

operator QVariant () const | |

QVector2D & | operator*= ( qreal factor ) |

QVector2D & | operator*= ( const QVector2D & vector ) |

QVector2D & | operator+= ( const QVector2D & vector ) |

QVector2D & | operator-= ( const QVector2D & vector ) |

QVector2D & | operator/= ( qreal divisor ) |

qreal | dotProduct ( const QVector2D & v1, const QVector2D & v2 ) |

bool | qFuzzyCompare ( const QVector2D & v1, const QVector2D & v2 ) |

bool | operator!= ( const QVector2D & v1, const QVector2D & v2 ) |

const QVector2D | operator* ( qreal factor, const QVector2D & vector ) |

const QVector2D | operator* ( const QVector2D & vector, qreal factor ) |

const QVector2D | operator* ( const QVector2D & v1, const QVector2D & v2 ) |

const QVector2D | operator+ ( const QVector2D & v1, const QVector2D & v2 ) |

const QVector2D | operator- ( const QVector2D & v1, const QVector2D & v2 ) |

const QVector2D | operator- ( const QVector2D & vector ) |

const QVector2D | operator/ ( const QVector2D & vector, qreal divisor ) |

QDataStream & | operator<< ( QDataStream & stream, const QVector2D & vector ) |

bool | operator== ( const QVector2D & v1, const QVector2D & v2 ) |

QDataStream & | operator>> ( QDataStream & stream, QVector2D & vector ) |

The QVector2D class represents a vector or vertex in 2D space.

The QVector2D class can also be used to represent vertices in 2D space. We therefore do not need to provide a separate vertex class.

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

**See also **QVector3D, QVector4D, and QQuaternion.

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

Constructs a vector with coordinates (*xpos*, *ypos*).

Constructs a vector with x and y coordinates from a 2D *point*.

Constructs a vector with x and y coordinates from a 2D *point*.

Constructs a vector with x and y coordinates from a 3D *vector*. The z coordinate of *vector* is dropped.

**See also **toVector3D().

Constructs a vector with x and y coordinates from a 3D *vector*. The z and w coordinates of *vector* are dropped.

**See also **toVector4D().

Returns the dot product of *v1* and *v2*.

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

Returns the length of the vector from the origin.

**See also **lengthSquared() and normalized().

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().

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().

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().

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

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

Returns the QPoint form of this 2D vector.

**See also **toPointF() and toVector3D().

Returns the QPointF form of this 2D vector.

**See also **toPoint() and toVector3D().

Returns the 3D form of this 2D vector, with the z coordinate set to zero.

**See also **toVector4D() and toPoint().

Returns the 4D form of this 2D vector, with the z and w coordinates set to zero.

**See also **toVector3D() and toPoint().

Returns the x coordinate of this point.

Returns the y coordinate of this point.

Returns the 2D vector as a QVariant.

Multiplies this vector's coordinates by the given *factor*, and returns a reference to this vector.

**See also **operator/=().

Multiplies the components of this vector by the corresponding components in *vector*.

Adds the given *vector* to this vector and returns a reference to this vector.

**See also **operator-=().

Subtracts the given *vector* from this vector and returns a reference to this vector.

**See also **operator+=().

Divides this vector's coordinates by the given *divisor*, and returns a reference to this vector.

**See also **operator*=().

Returns true if *v1* and *v2* are equal, allowing for a small fuzziness factor for floating-point comparisons; false otherwise.

Returns true if *v1* is not equal to *v2*; otherwise returns false. This operator uses an exact floating-point comparison.

Returns a copy of the given *vector*, multiplied by the given *factor*.

**See also **QVector2D::operator*=().

Returns a copy of the given *vector*, multiplied by the given *factor*.

**See also **QVector2D::operator*=().

Multiplies the components of *v1* by the corresponding components in *v2*.

Returns a QVector2D object that is the sum of the given vectors, *v1* and *v2*; each component is added separately.

**See also **QVector2D::operator+=().

Returns a QVector2D object that is formed by subtracting *v2* from *v1*; each component is subtracted separately.

**See also **QVector2D::operator-=().

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`.

Returns the QVector2D object formed by dividing all three components of the given *vector* by the given *divisor*.

**See also **QVector2D::operator/=().

Writes the given *vector* to the given *stream* and returns a reference to the stream.

**See also **Serializing Qt Data Types.

Returns true if *v1* is equal to *v2*; otherwise returns false. This operator uses an exact floating-point comparison.

Reads a 2D vector from the given *stream* into the given *vector* and returns a reference to the stream.

**See also **Serializing Qt Data Types.