Public Member Functions | Static Public Member Functions | Friends

QVector3D Class Reference

Search for all occurrences

Detailed Description

Definition at line 60 of file qvector3d.h.

#include <qvector3d.h>

List of all members.

Public Member Functions

  QVector3D ()
  QVector3D (qreal xpos, qreal ypos, qreal zpos)
  QVector3D (const QPoint &point)
  QVector3D (const QPointF &point)
  QVector3D (const QVector2D &vector)
  QVector3D (const QVector2D &vector, qreal zpos)
  QVector3D (const QVector4D &vector)
bool  isNull () const
qreal  x () const
qreal  y () const
qreal  z () const
void  setX (qreal x)
void  setY (qreal y)
void  setZ (qreal z)
qreal  length () const
qreal  lengthSquared () const
QVector3D  normalized () const
void  normalize ()
QVector3D operator+= (const QVector3D &vector)
QVector3D operator-= (const QVector3D &vector)
QVector3D operator*= (qreal factor)
QVector3D operator*= (const QVector3D &vector)
QVector3D operator/= (qreal divisor)
qreal  distanceToPlane (const QVector3D &plane, const QVector3D &normal) const
qreal  distanceToPlane (const QVector3D &plane1, const QVector3D &plane2, const QVector3D &plane3) const
qreal  distanceToLine (const QVector3D &point, const QVector3D &direction) const
QVector2D  toVector2D () const
QVector4D  toVector4D () const
QPoint  toPoint () const
QPointF  toPointF () const
  operator QVariant () const

Static Public Member Functions

static qreal  dotProduct (const QVector3D &v1, const QVector3D &v2)
static QVector3D  crossProduct (const QVector3D &v1, const QVector3D &v2)
static QVector3D  normal (const QVector3D &v1, const QVector3D &v2)
static QVector3D  normal (const QVector3D &v1, const QVector3D &v2, const QVector3D &v3)

Friends

class  QVector2D
class  QVector4D
bool  operator== (const QVector3D &v1, const QVector3D &v2)
bool  operator!= (const QVector3D &v1, const QVector3D &v2)
const QVector3D  operator+ (const QVector3D &v1, const QVector3D &v2)
const QVector3D  operator- (const QVector3D &v1, const QVector3D &v2)
const QVector3D  operator* (qreal factor, const QVector3D &vector)
const QVector3D  operator* (const QVector3D &vector, qreal factor)
const QVector3D  operator* (const QVector3D &v1, const QVector3D &v2)
const QVector3D  operator- (const QVector3D &vector)
const QVector3D  operator/ (const QVector3D &vector, qreal divisor)
bool  qFuzzyCompare (const QVector3D &v1, const QVector3D &v2)
QVector3D  operator* (const QVector3D &vector, const QMatrix4x4 &matrix)
QVector3D  operator* (const QMatrix4x4 &matrix, const QVector3D &vector)

Constructor & Destructor Documentation

QVector3D ( ) [inline]

Definition at line 146 of file qvector3d.h.

: xp(0.0f), yp(0.0f), zp(0.0f) {}
QVector3D ( qreal  xpos,
qreal  ypos,
qreal  zpos 
) [inline]

Definition at line 148 of file qvector3d.h.

: xp(xpos), yp(ypos), zp(zpos) {}
QVector3D ( const QPoint point ) [inline, explicit]

Definition at line 152 of file qvector3d.h.

: xp(point.x()), yp(point.y()), zp(0.0f) {}
QVector3D ( const QPointF point ) [inline, explicit]

Definition at line 154 of file qvector3d.h.

: xp(point.x()), yp(point.y()), zp(0.0f) {}
QVector3D ( const QVector2D vector )
QVector3D ( const QVector2D vector,
qreal  zpos 
)
QVector3D ( const QVector4D vector ) [explicit]

Member Function Documentation

bool isNull ( ) const [inline]

Definition at line 156 of file qvector3d.h.

{
    return qIsNull(xp) && qIsNull(yp) && qIsNull(zp);
}
qreal x ( ) const [inline]

Definition at line 161 of file qvector3d.h.

{ return qreal(xp); }
qreal y ( ) const [inline]

Definition at line 162 of file qvector3d.h.

{ return qreal(yp); }
qreal z ( ) const [inline]

Definition at line 163 of file qvector3d.h.

{ return qreal(zp); }
void setX ( qreal  x ) [inline]

Definition at line 165 of file qvector3d.h.

{ xp = aX; }
void setY ( qreal  y ) [inline]

Definition at line 166 of file qvector3d.h.

{ yp = aY; }
void setZ ( qreal  z ) [inline]

Definition at line 167 of file qvector3d.h.

{ zp = aZ; }
qreal length ( ) const
qreal lengthSquared ( ) const
QVector3D normalized ( ) const
void normalize ( )
QVector3D & operator+= ( const QVector3D vector ) [inline]

Definition at line 169 of file qvector3d.h.

{
    xp += vector.xp;
    yp += vector.yp;
    zp += vector.zp;
    return *this;
}
QVector3D & operator-= ( const QVector3D vector ) [inline]

Definition at line 177 of file qvector3d.h.

{
    xp -= vector.xp;
    yp -= vector.yp;
    zp -= vector.zp;
    return *this;
}
QVector3D & operator*= ( qreal  factor ) [inline]

Definition at line 185 of file qvector3d.h.

{
    xp *= factor;
    yp *= factor;
    zp *= factor;
    return *this;
}
QVector3D & operator*= ( const QVector3D vector ) [inline]

Definition at line 193 of file qvector3d.h.

{
    xp *= vector.xp;
    yp *= vector.yp;
    zp *= vector.zp;
    return *this;
}
QVector3D & operator/= ( qreal  divisor ) [inline]

Definition at line 201 of file qvector3d.h.

{
    xp /= divisor;
    yp /= divisor;
    zp /= divisor;
    return *this;
}
static qreal dotProduct ( const QVector3D v1,
const QVector3D v2 
) [static]
static QVector3D crossProduct ( const QVector3D v1,
const QVector3D v2 
) [static]
static QVector3D normal ( const QVector3D v1,
const QVector3D v2 
) [static]
static QVector3D normal ( const QVector3D v1,
const QVector3D v2,
const QVector3D v3 
) [static]
qreal distanceToPlane ( const QVector3D plane,
const QVector3D normal 
) const
qreal distanceToPlane ( const QVector3D plane1,
const QVector3D plane2,
const QVector3D plane3 
) const
qreal distanceToLine ( const QVector3D point,
const QVector3D direction 
) const
QVector2D toVector2D ( ) const
QVector4D toVector4D ( ) const
QPoint toPoint ( ) const [inline]

Definition at line 261 of file qvector3d.h.

{
    return QPoint(qRound(xp), qRound(yp));
}
QPointF toPointF ( ) const [inline]

Definition at line 266 of file qvector3d.h.

{
    return QPointF(qreal(xp), qreal(yp));
}
operator QVariant ( ) const

Friends And Related Function Documentation

friend class QVector2D [friend]

Definition at line 136 of file qvector3d.h.

friend class QVector4D [friend]

Definition at line 137 of file qvector3d.h.

bool operator== ( const QVector3D v1,
const QVector3D v2 
) [friend]

Definition at line 209 of file qvector3d.h.

{
    return v1.xp == v2.xp && v1.yp == v2.yp && v1.zp == v2.zp;
}
bool operator!= ( const QVector3D v1,
const QVector3D v2 
) [friend]

Definition at line 214 of file qvector3d.h.

{
    return v1.xp != v2.xp || v1.yp != v2.yp || v1.zp != v2.zp;
}
const QVector3D operator+ ( const QVector3D v1,
const QVector3D v2 
) [friend]

Definition at line 219 of file qvector3d.h.

{
    return QVector3D(v1.xp + v2.xp, v1.yp + v2.yp, v1.zp + v2.zp, 1);
}
const QVector3D operator- ( const QVector3D v1,
const QVector3D v2 
) [friend]

Definition at line 224 of file qvector3d.h.

{
    return QVector3D(v1.xp - v2.xp, v1.yp - v2.yp, v1.zp - v2.zp, 1);
}
const QVector3D operator* ( qreal  factor,
const QVector3D vector 
) [friend]

Definition at line 229 of file qvector3d.h.

{
    return QVector3D(vector.xp * factor, vector.yp * factor, vector.zp * factor, 1);
}
const QVector3D operator* ( const QVector3D vector,
qreal  factor 
) [friend]

Definition at line 234 of file qvector3d.h.

{
    return QVector3D(vector.xp * factor, vector.yp * factor, vector.zp * factor, 1);
}
const QVector3D operator* ( const QVector3D v1,
const QVector3D v2 
) [friend]

Definition at line 239 of file qvector3d.h.

{
    return QVector3D(v1.xp * v2.xp, v1.yp * v2.yp, v1.zp * v2.zp, 1);
}
const QVector3D operator- ( const QVector3D vector ) [friend]

Definition at line 244 of file qvector3d.h.

{
    return QVector3D(-vector.xp, -vector.yp, -vector.zp, 1);
}
const QVector3D operator/ ( const QVector3D vector,
qreal  divisor 
) [friend]

Definition at line 249 of file qvector3d.h.

{
    return QVector3D(vector.xp / divisor, vector.yp / divisor, vector.zp / divisor, 1);
}
bool qFuzzyCompare ( const QVector3D v1,
const QVector3D v2 
) [friend]

Definition at line 254 of file qvector3d.h.

{
    return qFuzzyCompare(v1.xp, v2.xp) &&
           qFuzzyCompare(v1.yp, v2.yp) &&
           qFuzzyCompare(v1.zp, v2.zp);
}
QVector3D operator* ( const QVector3D vector,
const QMatrix4x4 matrix 
) [friend]

Definition at line 612 of file qmatrix4x4.h.

{
    qreal x, y, z, w;
    x = vector.x() * matrix.m[0][0] +
        vector.y() * matrix.m[0][1] +
        vector.z() * matrix.m[0][2] +
        matrix.m[0][3];
    y = vector.x() * matrix.m[1][0] +
        vector.y() * matrix.m[1][1] +
        vector.z() * matrix.m[1][2] +
        matrix.m[1][3];
    z = vector.x() * matrix.m[2][0] +
        vector.y() * matrix.m[2][1] +
        vector.z() * matrix.m[2][2] +
        matrix.m[2][3];
    w = vector.x() * matrix.m[3][0] +
        vector.y() * matrix.m[3][1] +
        vector.z() * matrix.m[3][2] +
        matrix.m[3][3];
    if (w == 1.0f)
        return QVector3D(x, y, z);
    else
        return QVector3D(x / w, y / w, z / w);
}
QVector3D operator* ( const QMatrix4x4 matrix,
const QVector3D vector 
) [friend]

Definition at line 637 of file qmatrix4x4.h.

{
    qreal x, y, z, w;
    if (matrix.flagBits == QMatrix4x4::Identity) {
        return vector;
    } else if (matrix.flagBits == QMatrix4x4::Translation) {
        return QVector3D(vector.x() + matrix.m[3][0],
                         vector.y() + matrix.m[3][1],
                         vector.z() + matrix.m[3][2]);
    } else if (matrix.flagBits ==
                    (QMatrix4x4::Translation | QMatrix4x4::Scale)) {
        return QVector3D(vector.x() * matrix.m[0][0] + matrix.m[3][0],
                         vector.y() * matrix.m[1][1] + matrix.m[3][1],
                         vector.z() * matrix.m[2][2] + matrix.m[3][2]);
    } else if (matrix.flagBits == QMatrix4x4::Scale) {
        return QVector3D(vector.x() * matrix.m[0][0],
                         vector.y() * matrix.m[1][1],
                         vector.z() * matrix.m[2][2]);
    } else {
        x = vector.x() * matrix.m[0][0] +
            vector.y() * matrix.m[1][0] +
            vector.z() * matrix.m[2][0] +
            matrix.m[3][0];
        y = vector.x() * matrix.m[0][1] +
            vector.y() * matrix.m[1][1] +
            vector.z() * matrix.m[2][1] +
            matrix.m[3][1];
        z = vector.x() * matrix.m[0][2] +
            vector.y() * matrix.m[1][2] +
            vector.z() * matrix.m[2][2] +
            matrix.m[3][2];
        w = vector.x() * matrix.m[0][3] +
            vector.y() * matrix.m[1][3] +
            vector.z() * matrix.m[2][3] +
            matrix.m[3][3];
        if (w == 1.0f)
            return QVector3D(x, y, z);
        else
            return QVector3D(x / w, y / w, z / w);
    }
}

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

QVector3D QVector3D QVector3D QVector3D QVector3D QVector3D QVector3D QVector3D QVector3D QVector3D
QVector3D QVector3D QVector3D QVector3D QVector3D QVector3D QVector3D QVector3D QVector3D QVector3D