QGIS API Documentation  3.26.3-Buenos Aires (65e4edfdad)
Public Member Functions | Static Public Member Functions | List of all members
QgsVector3D Class Reference

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...
 
QVector3D toVector3D () const
 Converts the current object to QVector3D. 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

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

3

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 51 of file qgsvector3d.h.

◆ QgsVector3D() [3/3]

QgsVector3D::QgsVector3D ( const QVector3D &  v)
inline

Constructs a vector from single-precision QVector3D.

Definition at line 55 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 118 of file qgsvector3d.h.

◆ distance()

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

Returns the distance with the other QgsVector3.

Definition at line 144 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 112 of file qgsvector3d.h.

◆ isNull()

bool QgsVector3D::isNull ( ) const
inline

Returns true if all three coordinates are zero.

Definition at line 59 of file qgsvector3d.h.

◆ length()

double QgsVector3D::length ( ) const
inline

Returns the length of the vector.

Definition at line 126 of file qgsvector3d.h.

◆ normalize()

void QgsVector3D::normalize ( )
inline

Normalizes the current vector in place.

Definition at line 132 of file qgsvector3d.h.

◆ operator!=()

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

Definition at line 81 of file qgsvector3d.h.

◆ operator*()

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

Returns a new vector multiplied by scalar.

Definition at line 99 of file qgsvector3d.h.

◆ operator+()

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

Returns sum of two vectors.

Definition at line 87 of file qgsvector3d.h.

◆ operator-()

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

Returns difference of two vectors.

Definition at line 93 of file qgsvector3d.h.

◆ operator/()

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

Returns a new vector divided by scalar.

Definition at line 106 of file qgsvector3d.h.

◆ operator==()

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

Definition at line 77 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 152 of file qgsvector3d.h.

◆ set()

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

Sets vector coordinates.

Definition at line 69 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 165 of file qgsvector3d.h.

◆ toVector3D()

QVector3D QgsVector3D::toVector3D ( ) const
inline

Converts the current object to QVector3D.

Warning
the conversion may decrease the accuracy (double to float values conversion)
Since
QGIS 3.24

Definition at line 182 of file qgsvector3d.h.

◆ x()

double QgsVector3D::x ( ) const
inline

Returns X coordinate.

Definition at line 62 of file qgsvector3d.h.

◆ y()

double QgsVector3D::y ( ) const
inline

Returns Y coordinate.

Definition at line 64 of file qgsvector3d.h.

◆ z()

double QgsVector3D::z ( ) const
inline

Returns Z coordinate.

Definition at line 66 of file qgsvector3d.h.


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