19 #include "qgis_core.h"    39       : mX( x ), mY( y ), mZ( z ) {}
    43       : mX( v.x() ), mY( v.y() ), mZ( v.z() ) {}
    46     bool isNull()
 const { 
return mX == 0 && mY == 0 && mZ == 0; }
    49     double x()
 const { 
return mX; }
    51     double y()
 const { 
return mY; }
    53     double z()
 const { 
return mZ; }
    56     void set( 
double x, 
double y, 
double z )
    65       return mX == other.mX && mY == other.mY && mZ == other.mZ;
    75       return QgsVector3D( mX + other.mX, mY + other.mY, mZ + other.mZ );
    81       return QgsVector3D( mX - other.mX, mY - other.mY, mZ - other.mZ );
    88       return QgsVector3D( mX * factor, mY * factor, mZ * factor );
    94       return QgsVector3D( mX / factor, mY / factor, mZ / factor );
   100       return v1.
x() * v2.
x() + v1.
y() * v2.
y() + v1.
z() * v2.
z();
   107                           v1.
z() * v2.
x() - v1.
x() * v2.
z(),
   108                           v1.
x() * v2.
y() - v1.
y() * v2.
x() );
   114       return sqrt( mX * mX + mY * mY + mZ * mZ );
   120       double len = length();
   131     double mX = 0, mY = 0, mZ = 0;
   134 #endif // QGSVECTOR3D_H 3 Class for storage of 3D vectors similar to QVector3D, with the difference that it uses double preci...
 
bool operator!=(const QgsVector3D &other) const 
 
QgsVector3D operator+(const QgsVector3D &other) const 
Returns sum of two vectors. 
 
bool operator==(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
 
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference) 
 
double length() const 
Returns the length of the vector. 
 
double z() const 
Returns Z coordinate. 
 
QgsVector3D operator-(const QgsVector3D &other) const 
Returns difference of two vectors. 
 
static double dotProduct(const QgsVector3D &v1, const QgsVector3D &v2)
Returns the dot product of two vectors. 
 
static QgsVector3D crossProduct(const QgsVector3D &v1, const QgsVector3D &v2)
Returns the cross product of two vectors. 
 
void normalize()
Normalizes the current vector in place. 
 
double x() const 
Returns X coordinate. 
 
QgsVector3D(const QVector3D &v)
Constructs a vector from single-precision QVector3D. 
 
QgsMargins operator/(const QgsMargins &margins, double divisor)
Returns a QgsMargins object that is formed by dividing the components of the given margins by the giv...
 
bool isNull() const 
Returns true if all three coordinates are zero. 
 
double y() const 
Returns Y coordinate. 
 
bool operator==(const QgsVector3D &other) const 
 
QgsVector3D(double x, double y, double z)
Constructs a vector from given coordinates. 
 
QgsMargins operator*(const QgsMargins &margins, double factor)
Returns a QgsMargins object that is formed by multiplying each component of the given margins by fact...