Make QVector* compile on Win/static

Task-number: QTBUG-37122
Change-Id: Ib2283e8c27da7af2bdc08eee3b7cc542fbe55d71
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
bb10
Alex Blasche 2014-03-07 12:33:32 +01:00 committed by The Qt Project
parent 2f63d04ff1
commit d42b8a22ff
6 changed files with 11 additions and 3 deletions

View File

@ -326,10 +326,12 @@ float QVector2D::distanceToLine
/*!
Returns the dot product of \a v1 and \a v2.
*/
#if defined(QT_BUILD_GUI_LIB) && !defined(QT_STATIC)
float QVector2D::dotProduct(const QVector2D& v1, const QVector2D& v2)
{
return v1.xp * v2.xp + v1.yp * v2.yp;
}
#endif
/*!
\fn bool operator==(const QVector2D &v1, const QVector2D &v2)

View File

@ -99,7 +99,7 @@ public:
QVector2D &operator*=(const QVector2D &vector);
QVector2D &operator/=(float divisor);
#ifdef QT_BUILD_GUI_LIB
#if defined(QT_BUILD_GUI_LIB) && !defined(QT_STATIC)
static float dotProduct(const QVector2D& v1, const QVector2D& v2);
#else
Q_DECL_CONSTEXPR inline static float dotProduct(const QVector2D& v1, const QVector2D& v2)

View File

@ -316,10 +316,12 @@ void QVector3D::normalize()
/*!
Returns the dot product of \a v1 and \a v2.
*/
#if defined(QT_BUILD_GUI_LIB) && !defined(QT_STATIC)
float QVector3D::dotProduct(const QVector3D& v1, const QVector3D& v2)
{
return v1.xp * v2.xp + v1.yp * v2.yp + v1.zp * v2.zp;
}
#endif
/*!
Returns the cross-product of vectors \a v1 and \a v2, which corresponds
@ -327,12 +329,14 @@ float QVector3D::dotProduct(const QVector3D& v1, const QVector3D& v2)
\sa normal()
*/
#if defined(QT_BUILD_GUI_LIB) && !defined(QT_STATIC)
QVector3D QVector3D::crossProduct(const QVector3D& v1, const QVector3D& v2)
{
return QVector3D(v1.yp * v2.zp - v1.zp * v2.yp,
v1.zp * v2.xp - v1.xp * v2.zp,
v1.xp * v2.yp - v1.yp * v2.xp);
}
#endif
/*!
Returns the normal vector of a plane defined by vectors \a v1 and \a v2,

View File

@ -95,7 +95,7 @@ public:
QVector3D &operator*=(const QVector3D& vector);
QVector3D &operator/=(float divisor);
#ifdef QT_BUILD_GUI_LIB
#if defined(QT_BUILD_GUI_LIB) && !defined(QT_STATIC)
static float dotProduct(const QVector3D& v1, const QVector3D& v2);
static QVector3D crossProduct(const QVector3D& v1, const QVector3D& v2);
#else

View File

@ -369,10 +369,12 @@ void QVector4D::normalize()
/*!
Returns the dot product of \a v1 and \a v2.
*/
#if defined(QT_BUILD_GUI_LIB) && !defined(QT_STATIC)
float QVector4D::dotProduct(const QVector4D& v1, const QVector4D& v2)
{
return v1.xp * v2.xp + v1.yp * v2.yp + v1.zp * v2.zp + v1.wp * v2.wp;
}
#endif
/*!
\fn bool operator==(const QVector4D &v1, const QVector4D &v2)

View File

@ -102,7 +102,7 @@ public:
QVector4D &operator*=(const QVector4D &vector);
QVector4D &operator/=(float divisor);
#ifdef QT_BUILD_GUI_LIB
#if defined(QT_BUILD_GUI_LIB) && !defined(QT_STATIC)
static float dotProduct(const QVector4D& v1, const QVector4D& v2);
#else
static float dotProduct(const QVector4D& v1, const QVector4D& v2)