From 348ac43821ad3b0251d383d82fb02b8ab52ddbeb Mon Sep 17 00:00:00 2001 From: Konstantin Ritt Date: Tue, 3 Feb 2015 00:12:29 +0400 Subject: [QMath3D] Add public c-tors that do not initialize the contents Change-Id: I1a28766451e6750986a239c989e7f30c14479057 Reviewed-by: Lars Knoll Reviewed-by: Friedemann Kleint --- src/gui/math3d/qgenericmatrix.cpp | 8 ++++++++ src/gui/math3d/qgenericmatrix.h | 1 + src/gui/math3d/qmatrix4x4.cpp | 8 ++++++++ src/gui/math3d/qmatrix4x4.h | 1 + src/gui/math3d/qquaternion.cpp | 8 ++++++++ src/gui/math3d/qquaternion.h | 1 + src/gui/math3d/qvector2d.cpp | 8 ++++++++ src/gui/math3d/qvector2d.h | 1 + src/gui/math3d/qvector3d.cpp | 8 ++++++++ src/gui/math3d/qvector3d.h | 1 + src/gui/math3d/qvector4d.cpp | 8 ++++++++ src/gui/math3d/qvector4d.h | 1 + 12 files changed, 54 insertions(+) diff --git a/src/gui/math3d/qgenericmatrix.cpp b/src/gui/math3d/qgenericmatrix.cpp index 995cf1716c..e9aab9785a 100644 --- a/src/gui/math3d/qgenericmatrix.cpp +++ b/src/gui/math3d/qgenericmatrix.cpp @@ -60,6 +60,14 @@ QT_BEGIN_NAMESPACE Constructs a NxM identity matrix. */ +/*! + \fn QGenericMatrix::QGenericMatrix(Qt::Initialization) + \since 5.5 + \internal + + Constructs a NxM matrix without initializing the contents. +*/ + /*! \fn QGenericMatrix::QGenericMatrix(const QGenericMatrix& other) diff --git a/src/gui/math3d/qgenericmatrix.h b/src/gui/math3d/qgenericmatrix.h index 5b45ab7fa1..958fdafa7a 100644 --- a/src/gui/math3d/qgenericmatrix.h +++ b/src/gui/math3d/qgenericmatrix.h @@ -46,6 +46,7 @@ class QGenericMatrix { public: QGenericMatrix(); + explicit QGenericMatrix(Qt::Initialization) {} QGenericMatrix(const QGenericMatrix& other); explicit QGenericMatrix(const T *values); diff --git a/src/gui/math3d/qmatrix4x4.cpp b/src/gui/math3d/qmatrix4x4.cpp index 2fa31b5b14..a02fca25ca 100644 --- a/src/gui/math3d/qmatrix4x4.cpp +++ b/src/gui/math3d/qmatrix4x4.cpp @@ -75,6 +75,14 @@ static const float inv_dist_to_plane = 1.0f / 1024.0f; Constructs an identity matrix. */ +/*! + \fn QMatrix4x4::QMatrix4x4(Qt::Initialization) + \since 5.5 + \internal + + Constructs a matrix without initializing the contents. +*/ + /*! Constructs a matrix from the given 16 floating-point \a values. The contents of the array \a values is assumed to be in diff --git a/src/gui/math3d/qmatrix4x4.h b/src/gui/math3d/qmatrix4x4.h index 74329b7cdd..1e7202ad73 100644 --- a/src/gui/math3d/qmatrix4x4.h +++ b/src/gui/math3d/qmatrix4x4.h @@ -53,6 +53,7 @@ class Q_GUI_EXPORT QMatrix4x4 { public: inline QMatrix4x4() { setToIdentity(); } + explicit QMatrix4x4(Qt::Initialization) {} explicit QMatrix4x4(const float *values); inline QMatrix4x4(float m11, float m12, float m13, float m14, float m21, float m22, float m23, float m24, diff --git a/src/gui/math3d/qquaternion.cpp b/src/gui/math3d/qquaternion.cpp index 23409189ac..eba5bb5976 100644 --- a/src/gui/math3d/qquaternion.cpp +++ b/src/gui/math3d/qquaternion.cpp @@ -62,6 +62,14 @@ QT_BEGIN_NAMESPACE and scalar 1. */ +/*! + \fn QQuaternion::QQuaternion(Qt::Initialization) + \since 5.5 + \internal + + Constructs a quaternion without initializing the contents. +*/ + /*! \fn QQuaternion::QQuaternion(float scalar, float xpos, float ypos, float zpos) diff --git a/src/gui/math3d/qquaternion.h b/src/gui/math3d/qquaternion.h index 2bef926b76..1f53970c9d 100644 --- a/src/gui/math3d/qquaternion.h +++ b/src/gui/math3d/qquaternion.h @@ -49,6 +49,7 @@ class Q_GUI_EXPORT QQuaternion { public: QQuaternion(); + explicit QQuaternion(Qt::Initialization) {} QQuaternion(float scalar, float xpos, float ypos, float zpos); #ifndef QT_NO_VECTOR3D QQuaternion(float scalar, const QVector3D& vector); diff --git a/src/gui/math3d/qvector2d.cpp b/src/gui/math3d/qvector2d.cpp index cf8ff25661..987a502280 100644 --- a/src/gui/math3d/qvector2d.cpp +++ b/src/gui/math3d/qvector2d.cpp @@ -63,6 +63,14 @@ QT_BEGIN_NAMESPACE Constructs a null vector, i.e. with coordinates (0, 0). */ +/*! + \fn QVector2D::QVector2D(Qt::Initialization) + \since 5.5 + \internal + + Constructs a vector without initializing the contents. +*/ + /*! \fn QVector2D::QVector2D(float xpos, float ypos) diff --git a/src/gui/math3d/qvector2d.h b/src/gui/math3d/qvector2d.h index ef69c80afe..abdd86f683 100644 --- a/src/gui/math3d/qvector2d.h +++ b/src/gui/math3d/qvector2d.h @@ -50,6 +50,7 @@ class Q_GUI_EXPORT QVector2D { public: Q_DECL_CONSTEXPR QVector2D(); + explicit QVector2D(Qt::Initialization) {} Q_DECL_CONSTEXPR QVector2D(float xpos, float ypos); Q_DECL_CONSTEXPR explicit QVector2D(const QPoint& point); Q_DECL_CONSTEXPR explicit QVector2D(const QPointF& point); diff --git a/src/gui/math3d/qvector3d.cpp b/src/gui/math3d/qvector3d.cpp index e3744d497d..2f4ecb9864 100644 --- a/src/gui/math3d/qvector3d.cpp +++ b/src/gui/math3d/qvector3d.cpp @@ -68,6 +68,14 @@ QT_BEGIN_NAMESPACE Constructs a null vector, i.e. with coordinates (0, 0, 0). */ +/*! + \fn QVector3D::QVector3D(Qt::Initialization) + \since 5.5 + \internal + + Constructs a vector without initializing the contents. +*/ + /*! \fn QVector3D::QVector3D(float xpos, float ypos, float zpos) diff --git a/src/gui/math3d/qvector3d.h b/src/gui/math3d/qvector3d.h index e24b38444a..d864a6055c 100644 --- a/src/gui/math3d/qvector3d.h +++ b/src/gui/math3d/qvector3d.h @@ -51,6 +51,7 @@ class Q_GUI_EXPORT QVector3D { public: Q_DECL_CONSTEXPR QVector3D(); + explicit QVector3D(Qt::Initialization) {} Q_DECL_CONSTEXPR QVector3D(float xpos, float ypos, float zpos) : xp(xpos), yp(ypos), zp(zpos) {} Q_DECL_CONSTEXPR explicit QVector3D(const QPoint& point); diff --git a/src/gui/math3d/qvector4d.cpp b/src/gui/math3d/qvector4d.cpp index b6d239e5ea..93db3a7969 100644 --- a/src/gui/math3d/qvector4d.cpp +++ b/src/gui/math3d/qvector4d.cpp @@ -62,6 +62,14 @@ QT_BEGIN_NAMESPACE Constructs a null vector, i.e. with coordinates (0, 0, 0, 0). */ +/*! + \fn QVector4D::QVector4D(Qt::Initialization) + \since 5.5 + \internal + + Constructs a vector without initializing the contents. +*/ + /*! \fn QVector4D::QVector4D(float xpos, float ypos, float zpos, float wpos) diff --git a/src/gui/math3d/qvector4d.h b/src/gui/math3d/qvector4d.h index 1864b58d7c..bfa3eb91c7 100644 --- a/src/gui/math3d/qvector4d.h +++ b/src/gui/math3d/qvector4d.h @@ -50,6 +50,7 @@ class Q_GUI_EXPORT QVector4D { public: Q_DECL_CONSTEXPR QVector4D(); + explicit QVector4D(Qt::Initialization) {} Q_DECL_CONSTEXPR QVector4D(float xpos, float ypos, float zpos, float wpos); Q_DECL_CONSTEXPR explicit QVector4D(const QPoint& point); Q_DECL_CONSTEXPR explicit QVector4D(const QPointF& point); -- cgit v1.2.3