QGIS API Documentation  3.6.0-Noosa (5873452)
Public Member Functions | List of all members
QgsVector Class Reference

A class to represent a vector. More...

#include <qgsvector.h>

Public Member Functions

 QgsVector ()=default
 Default constructor for QgsVector. More...
 
 QgsVector (double x, double y)
 Constructor for QgsVector taking x and y component values. More...
 
double angle () const
 Returns the angle of the vector in radians. More...
 
double angle (QgsVector v) const
 Returns the angle between this vector and another vector in radians. More...
 
double crossProduct (QgsVector v) const
 Returns the 2D cross product of this vector and another vector v. More...
 
double length () const
 Returns the length of the vector. More...
 
double lengthSquared () const
 Returns the length of the vector. More...
 
QgsVector normalized () const
 Returns the vector's normalized (or "unit") vector (ie same angle but length of 1.0). More...
 
bool operator!= (QgsVector other) const
 Inequality operator. More...
 
QgsVector operator* (double scalar) const
 Returns a vector where the components have been multiplied by a scalar value. More...
 
double operator* (QgsVector v) const
 Returns the dot product of two vectors, which is the sum of the x component of this vector multiplied by the x component of another vector plus the y component of this vector multiplied by the y component of another vector. More...
 
QgsVector operator+ (QgsVector other) const
 Adds another vector to this vector. More...
 
QgsVectoroperator+= (QgsVector other)
 Adds another vector to this vector in place. More...
 
QgsVector operator- () const
 Swaps the sign of the x and y components of the vector. More...
 
QgsVector operator- (QgsVector other) const
 Subtracts another vector to this vector. More...
 
QgsVectoroperator-= (QgsVector other)
 Subtracts another vector to this vector in place. More...
 
QgsVector operator/ (double scalar) const
 Returns a vector where the components have been divided by a scalar value. More...
 
bool operator== (QgsVector other) const
 Equality operator. More...
 
QgsVector perpVector () const
 Returns the perpendicular vector to this vector (rotated 90 degrees counter-clockwise) More...
 
QgsVector rotateBy (double rot) const
 Rotates the vector by a specified angle. More...
 
QString toString (int precision=17) const
 Returns a string representation of the vector. More...
 
double x () const
 Returns the vector's x-component. More...
 
double y () const
 Returns the vector's y-component. More...
 

Detailed Description

A class to represent a vector.

Currently no Z axis / 2.5D support is implemented.

Definition at line 29 of file qgsvector.h.

Constructor & Destructor Documentation

◆ QgsVector() [1/2]

QgsVector::QgsVector ( )
default

Default constructor for QgsVector.

Creates a vector with length of 0.0.

◆ QgsVector() [2/2]

QgsVector::QgsVector ( double  x,
double  y 
)

Constructor for QgsVector taking x and y component values.

Parameters
xx-component
yy-component

Definition at line 21 of file qgsvector.cpp.

Member Function Documentation

◆ angle() [1/2]

double QgsVector::angle ( ) const

Returns the angle of the vector in radians.

Definition at line 91 of file qgsvector.cpp.

◆ angle() [2/2]

double QgsVector::angle ( QgsVector  v) const

Returns the angle between this vector and another vector in radians.

Definition at line 97 of file qgsvector.cpp.

◆ crossProduct()

double QgsVector::crossProduct ( QgsVector  v) const

Returns the 2D cross product of this vector and another vector v.

(This is sometimes referred to as a "perpendicular dot product", and equals x1 * y1 - y1 * x2).

Since
QGIS 3.2

Definition at line 102 of file qgsvector.cpp.

◆ length()

double QgsVector::length ( ) const

Returns the length of the vector.

See also
lengthSquared()

Definition at line 71 of file qgsvector.cpp.

◆ lengthSquared()

double QgsVector::lengthSquared ( ) const
inline

Returns the length of the vector.

See also
length()
Since
QGIS 3.2

Definition at line 103 of file qgsvector.h.

◆ normalized()

QgsVector QgsVector::normalized ( ) const

Returns the vector's normalized (or "unit") vector (ie same angle but length of 1.0).

Will throw a QgsException if called on a vector with length of 0.

Definition at line 114 of file qgsvector.cpp.

◆ operator!=()

bool QgsVector::operator!= ( QgsVector  other) const

Inequality operator.

Definition at line 131 of file qgsvector.cpp.

◆ operator*() [1/2]

QgsVector QgsVector::operator* ( double  scalar) const

Returns a vector where the components have been multiplied by a scalar value.

Parameters
scalarfactor to multiply by

Definition at line 32 of file qgsvector.cpp.

◆ operator*() [2/2]

double QgsVector::operator* ( QgsVector  v) const

Returns the dot product of two vectors, which is the sum of the x component of this vector multiplied by the x component of another vector plus the y component of this vector multiplied by the y component of another vector.

Definition at line 42 of file qgsvector.cpp.

◆ operator+()

QgsVector QgsVector::operator+ ( QgsVector  other) const

Adds another vector to this vector.

Since
QGIS 3.0

Definition at line 47 of file qgsvector.cpp.

◆ operator+=()

QgsVector & QgsVector::operator+= ( QgsVector  other)

Adds another vector to this vector in place.

Since
QGIS 3.0

Definition at line 52 of file qgsvector.cpp.

◆ operator-() [1/2]

QgsVector QgsVector::operator- ( ) const

Swaps the sign of the x and y components of the vector.

Definition at line 27 of file qgsvector.cpp.

◆ operator-() [2/2]

QgsVector QgsVector::operator- ( QgsVector  other) const

Subtracts another vector to this vector.

Since
QGIS 3.0

Definition at line 59 of file qgsvector.cpp.

◆ operator-=()

QgsVector & QgsVector::operator-= ( QgsVector  other)

Subtracts another vector to this vector in place.

Since
QGIS 3.0

Definition at line 64 of file qgsvector.cpp.

◆ operator/()

QgsVector QgsVector::operator/ ( double  scalar) const

Returns a vector where the components have been divided by a scalar value.

Parameters
scalarfactor to divide by

Definition at line 37 of file qgsvector.cpp.

◆ operator==()

bool QgsVector::operator== ( QgsVector  other) const

Equality operator.

Definition at line 126 of file qgsvector.cpp.

◆ perpVector()

QgsVector QgsVector::perpVector ( ) const

Returns the perpendicular vector to this vector (rotated 90 degrees counter-clockwise)

Definition at line 86 of file qgsvector.cpp.

◆ rotateBy()

QgsVector QgsVector::rotateBy ( double  rot) const

Rotates the vector by a specified angle.

Parameters
rotangle in radians

Definition at line 107 of file qgsvector.cpp.

◆ toString()

QString QgsVector::toString ( int  precision = 17) const
inline

Returns a string representation of the vector.

Members will be truncated to the specified precision.

Definition at line 166 of file qgsvector.h.

◆ x()

double QgsVector::x ( ) const

Returns the vector's x-component.

See also
y()

Definition at line 76 of file qgsvector.cpp.

◆ y()

double QgsVector::y ( ) const

Returns the vector's y-component.

See also
x()

Definition at line 81 of file qgsvector.cpp.


The documentation for this class was generated from the following files: