QGIS API Documentation  3.16.0-Hannover (43b64b13f3)
Public Member Functions | Static Public Member Functions | List of all members
QgsVector3D Class Reference

3 Class for storage of 3D vectors similar to QVector3D, with the difference that it uses double precision instead of single precision floating point numbers. More...

#include <qgsvector3d.h>

Public Member Functions

 QgsVector3D ()=default
 Constructs a null vector. More...
 
 QgsVector3D (const QVector3D &v)
 Constructs a vector from single-precision QVector3D. More...
 
 QgsVector3D (double x, double y, double z)
 Constructs a vector from given coordinates. More...
 
double distance (const QgsVector3D &other) const
 Returns the distance with the other QgsVector3. More...
 
bool isNull () const
 Returns true if all three coordinates are zero. More...
 
double length () const
 Returns the length of the vector. More...
 
void normalize ()
 Normalizes the current vector in place. More...
 
bool operator!= (const QgsVector3D &other) const
 
QgsVector3D operator* (const double factor) const
 Returns a new vector multiplied by scalar. More...
 
QgsVector3D operator+ (const QgsVector3D &other) const
 Returns sum of two vectors. More...
 
QgsVector3D operator- (const QgsVector3D &other) const
 Returns difference of two vectors. More...
 
QgsVector3D operator/ (const double factor) const
 Returns a new vector divided by scalar. More...
 
bool operator== (const QgsVector3D &other) const
 
void set (double x, double y, double z)
 Sets vector coordinates. More...
 
QString toString (int precision=17) const
 Returns a string representation of the 3D vector. More...
 
double x () const
 Returns X coordinate. More...
 
double y () const
 Returns Y coordinate. More...
 
double z () const
 Returns Z coordinate. More...
 

Static Public Member Functions

static QgsVector3D crossProduct (const QgsVector3D &v1, const QgsVector3D &v2)
 Returns the cross product of two vectors. More...
 
static double dotProduct (const QgsVector3D &v1, const QgsVector3D &v2)
 Returns the dot product of two vectors. More...
 
static QgsVector3D perpendicularPoint (const QgsVector3D &v1, const QgsVector3D &v2, const QgsVector3D &vp)
 Returns the perpendicular point of vector vp from [v1 - v2]. More...
 

Detailed Description

3 Class for storage of 3D vectors similar to QVector3D, with the difference that it uses double precision instead of single precision floating point numbers.

Since
QGIS 3.0

Definition at line 31 of file qgsvector3d.h.

Constructor & Destructor Documentation

◆ QgsVector3D() [1/3]

QgsVector3D::QgsVector3D ( )
default

Constructs a null vector.

◆ QgsVector3D() [2/3]

QgsVector3D::QgsVector3D ( double  x,
double  y,
double  z 
)
inline

Constructs a vector from given coordinates.

Definition at line 38 of file qgsvector3d.h.

◆ QgsVector3D() [3/3]

QgsVector3D::QgsVector3D ( const QVector3D &  v)
inline

Constructs a vector from single-precision QVector3D.

Definition at line 42 of file qgsvector3d.h.

Member Function Documentation

◆ crossProduct()

static QgsVector3D QgsVector3D::crossProduct ( const QgsVector3D v1,
const QgsVector3D v2 
)
inlinestatic

Returns the cross product of two vectors.

Definition at line 104 of file qgsvector3d.h.

◆ distance()

double QgsVector3D::distance ( const QgsVector3D other) const
inline

Returns the distance with the other QgsVector3.

Definition at line 130 of file qgsvector3d.h.

◆ dotProduct()

static double QgsVector3D::dotProduct ( const QgsVector3D v1,
const QgsVector3D v2 
)
inlinestatic

Returns the dot product of two vectors.

Definition at line 98 of file qgsvector3d.h.

◆ isNull()

bool QgsVector3D::isNull ( ) const
inline

Returns true if all three coordinates are zero.

Definition at line 46 of file qgsvector3d.h.

◆ length()

double QgsVector3D::length ( ) const
inline

Returns the length of the vector.

Definition at line 112 of file qgsvector3d.h.

◆ normalize()

void QgsVector3D::normalize ( )
inline

Normalizes the current vector in place.

Definition at line 118 of file qgsvector3d.h.

◆ operator!=()

bool QgsVector3D::operator!= ( const QgsVector3D other) const
inline

Definition at line 67 of file qgsvector3d.h.

◆ operator*()

QgsVector3D QgsVector3D::operator* ( const double  factor) const
inline

Returns a new vector multiplied by scalar.

Definition at line 85 of file qgsvector3d.h.

◆ operator+()

QgsVector3D QgsVector3D::operator+ ( const QgsVector3D other) const
inline

Returns sum of two vectors.

Definition at line 73 of file qgsvector3d.h.

◆ operator-()

QgsVector3D QgsVector3D::operator- ( const QgsVector3D other) const
inline

Returns difference of two vectors.

Definition at line 79 of file qgsvector3d.h.

◆ operator/()

QgsVector3D QgsVector3D::operator/ ( const double  factor) const
inline

Returns a new vector divided by scalar.

Definition at line 92 of file qgsvector3d.h.

◆ operator==()

bool QgsVector3D::operator== ( const QgsVector3D other) const
inline

Definition at line 63 of file qgsvector3d.h.

◆ perpendicularPoint()

static QgsVector3D QgsVector3D::perpendicularPoint ( const QgsVector3D v1,
const QgsVector3D v2,
const QgsVector3D vp 
)
inlinestatic

Returns the perpendicular point of vector vp from [v1 - v2].

Definition at line 138 of file qgsvector3d.h.

◆ set()

void QgsVector3D::set ( double  x,
double  y,
double  z 
)
inline

Sets vector coordinates.

Definition at line 56 of file qgsvector3d.h.

◆ toString()

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

Returns a string representation of the 3D vector.

Members will be truncated to the specified precision.

Definition at line 151 of file qgsvector3d.h.

◆ x()

double QgsVector3D::x ( ) const
inline

Returns X coordinate.

Definition at line 49 of file qgsvector3d.h.

◆ y()

double QgsVector3D::y ( ) const
inline

Returns Y coordinate.

Definition at line 51 of file qgsvector3d.h.

◆ z()

double QgsVector3D::z ( ) const
inline

Returns Z coordinate.

Definition at line 53 of file qgsvector3d.h.


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