diff options
Diffstat (limited to 'src/gui/math3d/qvector3d.h')
-rw-r--r-- | src/gui/math3d/qvector3d.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/gui/math3d/qvector3d.h b/src/gui/math3d/qvector3d.h index 49d9ca6bf8..c880930935 100644 --- a/src/gui/math3d/qvector3d.h +++ b/src/gui/math3d/qvector3d.h @@ -79,6 +79,9 @@ public: void setY(float y); void setZ(float z); + float &operator[](int i); + float operator[](int i) const; + float length() const; float lengthSquared() const; @@ -160,6 +163,18 @@ inline void QVector3D::setX(float aX) { xp = aX; } inline void QVector3D::setY(float aY) { yp = aY; } inline void QVector3D::setZ(float aZ) { zp = aZ; } +inline float &QVector3D::operator[](int i) +{ + Q_ASSERT(uint(i) < 3u); + return *(&xp + i); +} + +inline float QVector3D::operator[](int i) const +{ + Q_ASSERT(uint(i) < 3u); + return *(&xp + i); +} + inline QVector3D &QVector3D::operator+=(const QVector3D &vector) { xp += vector.xp; |