diff options
Diffstat (limited to 'tests/auto/threed/qgraphicstransform3d/tst_qgraphicstransform3d.cpp')
-rw-r--r-- | tests/auto/threed/qgraphicstransform3d/tst_qgraphicstransform3d.cpp | 280 |
1 files changed, 0 insertions, 280 deletions
diff --git a/tests/auto/threed/qgraphicstransform3d/tst_qgraphicstransform3d.cpp b/tests/auto/threed/qgraphicstransform3d/tst_qgraphicstransform3d.cpp deleted file mode 100644 index 2f42a202..00000000 --- a/tests/auto/threed/qgraphicstransform3d/tst_qgraphicstransform3d.cpp +++ /dev/null @@ -1,280 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the QtQuick3D module of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:LGPL$ -** GNU Lesser General Public License Usage -** This file may be used under the terms of the GNU Lesser General Public -** License version 2.1 as published by the Free Software Foundation and -** appearing in the file LICENSE.LGPL included in the packaging of this -** file. Please review the following information to ensure the GNU Lesser -** General Public License version 2.1 requirements will be met: -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU General -** Public License version 3.0 as published by the Free Software Foundation -** and appearing in the file LICENSE.GPL included in the packaging of this -** file. Please review the following information to ensure the GNU General -** Public License version 3.0 requirements will be met: -** http://www.gnu.org/copyleft/gpl.html. -** -** Other Usage -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** -** -** -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <QtTest/QtTest> -#include "qgraphicsrotation3d.h" -#include "qgraphicsscale3d.h" -#include "qgraphicstranslation3d.h" -#include "qgraphicsbillboardtransform.h" - -class tst_QGraphicsTransform3D : public QObject -{ - Q_OBJECT -public: - tst_QGraphicsTransform3D() {} - ~tst_QGraphicsTransform3D() {} - -private slots: - void rotation3D(); - void scale3D(); - void translation3D(); - void billboard(); -}; - -static bool isSameMatrix(const QMatrix4x4 &m1, const QMatrix4x4 &m2) -{ - for (int row = 0; row < 4; ++row) { - for (int col = 0; col < 4; ++col) { - if (!qFuzzyIsNull(float(m1(row, col) - m2(row, col)))) - return false; - } - } - return true; -} - -void tst_QGraphicsTransform3D::rotation3D() -{ - QGraphicsRotation3D rot1; - QVERIFY(rot1.origin() == QVector3D(0, 0, 0)); - QVERIFY(rot1.axis() == QVector3D(0, 0, 1)); - QCOMPARE(rot1.angle(), qreal(0.0f)); - - QSignalSpy spy1(&rot1, SIGNAL(originChanged())); - QSignalSpy spy2(&rot1, SIGNAL(axisChanged())); - QSignalSpy spy3(&rot1, SIGNAL(angleChanged())); - QSignalSpy spy4(&rot1, SIGNAL(transformChanged())); - - rot1.setOrigin(QVector3D(1, 2, 3)); - rot1.setAxis(QVector3D(4, -5, 6)); - rot1.setAngle(45.0f); - QVERIFY(rot1.origin() == QVector3D(1, 2, 3)); - QVERIFY(rot1.axis() == QVector3D(4, -5, 6)); - QCOMPARE(rot1.angle(), qreal(45.0f)); - - QCOMPARE(spy1.size(), 1); - QCOMPARE(spy2.size(), 1); - QCOMPARE(spy3.size(), 1); - QCOMPARE(spy4.size(), 3); - - // Change to same values should not result in any extra signals. - rot1.setOrigin(QVector3D(1, 2, 3)); - rot1.setAxis(QVector3D(4, -5, 6)); - rot1.setAngle(45.0f); - QCOMPARE(spy1.size(), 1); - QCOMPARE(spy2.size(), 1); - QCOMPARE(spy3.size(), 1); - QCOMPARE(spy4.size(), 3); - - QMatrix4x4 m1; - rot1.applyTo(&m1); - - QMatrix4x4 m2; - m2.translate(1, 2, 3); - m2.rotate(45.0f, QVector3D(4, -5, 6)); - m2.translate(-1, -2, -3); - QVERIFY(isSameMatrix(m1, m2)); - - QGraphicsRotation3D *rot2 = qobject_cast<QGraphicsRotation3D *> - (rot1.clone(this)); - QVERIFY(rot2 != 0); - QVERIFY(rot2 != &rot1); - QVERIFY(rot2->parent() == this); - QVERIFY(rot2->origin() == rot1.origin()); - QVERIFY(rot2->axis() == rot1.axis()); - QVERIFY(rot2->angle() == rot1.angle()); - delete rot2; -} - -void tst_QGraphicsTransform3D::scale3D() -{ - QGraphicsScale3D scale1; - QVERIFY(scale1.origin() == QVector3D(0, 0, 0)); - QVERIFY(scale1.scale() == QVector3D(1, 1, 1)); - - QSignalSpy spy1(&scale1, SIGNAL(originChanged())); - QSignalSpy spy2(&scale1, SIGNAL(scaleChanged())); - QSignalSpy spy3(&scale1, SIGNAL(transformChanged())); - - scale1.setOrigin(QVector3D(1, 2, 3)); - scale1.setScale(QVector3D(4, -6, 0.5f)); - QVERIFY(scale1.origin() == QVector3D(1, 2, 3)); - QVERIFY(scale1.scale() == QVector3D(4, -6, 0.5f)); - - QCOMPARE(spy1.size(), 1); - QCOMPARE(spy2.size(), 1); - QCOMPARE(spy3.size(), 2); - - // Change to same values should not result in any extra signals. - scale1.setOrigin(QVector3D(1, 2, 3)); - scale1.setScale(QVector3D(4, -6, 0.5f)); - QCOMPARE(spy1.size(), 1); - QCOMPARE(spy2.size(), 1); - QCOMPARE(spy3.size(), 2); - - QMatrix4x4 m1; - scale1.applyTo(&m1); - - QMatrix4x4 m2; - m2.translate(1, 2, 3); - m2.scale(QVector3D(4, -6, 0.5f)); - m2.translate(-1, -2, -3); - QVERIFY(isSameMatrix(m1, m2)); - - scale1.setScale(QVector3D(20, -4, 42)); - QCOMPARE(spy2.size(), 2); - QCOMPARE(spy3.size(), 3); - - QVERIFY(scale1.scale() == QVector3D(20, -4, 42)); - - QVERIFY(scale1.origin() == QVector3D(1, 2, 3)); - QCOMPARE(spy1.size(), 1); - - QGraphicsScale3D *scale2 = qobject_cast<QGraphicsScale3D *> - (scale1.clone(this)); - QVERIFY(scale2 != 0); - QVERIFY(scale2 != &scale1); - QVERIFY(scale2->parent() == this); - QVERIFY(scale2->origin() == scale1.origin()); - QVERIFY(scale2->scale() == scale1.scale()); - delete scale2; -} - -void tst_QGraphicsTransform3D::translation3D() -{ - QGraphicsTranslation3D translate1; - QVERIFY(translate1.translate() == QVector3D(0, 0, 0)); - QCOMPARE(translate1.progress(), qreal(1.0f)); - - QSignalSpy spy1(&translate1, SIGNAL(translateChanged())); - QSignalSpy spy2(&translate1, SIGNAL(progressChanged())); - QSignalSpy spy3(&translate1, SIGNAL(transformChanged())); - - translate1.setTranslate(QVector3D(4, -6, 0.5f)); - translate1.setProgress(2.0f); - QVERIFY(translate1.translate() == QVector3D(4, -6, 0.5f)); - QCOMPARE(translate1.progress(), qreal(2.0f)); - - QCOMPARE(spy1.size(), 1); - QCOMPARE(spy2.size(), 1); - QCOMPARE(spy3.size(), 2); - - // Change to same values should not result in any extra signals. - translate1.setTranslate(QVector3D(4, -6, 0.5f)); - translate1.setProgress(2.0f); - QCOMPARE(spy1.size(), 1); - QCOMPARE(spy2.size(), 1); - QCOMPARE(spy3.size(), 2); - - QMatrix4x4 m1; - translate1.applyTo(&m1); - - QMatrix4x4 m2; - m2.translate(QVector3D(8, -12, 1)); - QVERIFY(isSameMatrix(m1, m2)); - - QGraphicsTranslation3D *translate2 = qobject_cast<QGraphicsTranslation3D *> - (translate1.clone(this)); - QVERIFY(translate2 != 0); - QVERIFY(translate2 != &translate1); - QVERIFY(translate2->parent() == this); - QVERIFY(translate2->translate() == translate1.translate()); - QVERIFY(translate2->progress() == translate1.progress()); - delete translate2; -} - -void tst_QGraphicsTransform3D::billboard() -{ - QGraphicsBillboardTransform billboard1; - QVERIFY(!billboard1.preserveUpVector()); - - QSignalSpy spy1(&billboard1, SIGNAL(preserveUpVectorChanged())); - QSignalSpy spy2(&billboard1, SIGNAL(transformChanged())); - - billboard1.setPreserveUpVector(true); - QVERIFY(billboard1.preserveUpVector()); - - QCOMPARE(spy1.size(), 1); - QCOMPARE(spy2.size(), 1); - - // Change to same value should not result in any extra signals. - billboard1.setPreserveUpVector(true); - QCOMPARE(spy1.size(), 1); - QCOMPARE(spy2.size(), 1); - - QMatrix4x4 m1; - billboard1.applyTo(&m1); - QVERIFY(m1.isIdentity()); - - QMatrix4x4 m2(2.0f, 3.0f, 4.0f, 5.0f, - 6.0f, 7.0f, 8.0f, 9.0f, - 10.0f, 11.0f, 12.0f, 13.0f, - 14.0f, 15.0f, 16.0f, 17.0f); - QMatrix4x4 m3(1.0f, 0.0f, 0.0f, 5.0f, - 0.0f, 1.0f, 0.0f, 9.0f, - 0.0f, 0.0f, 1.0f, 13.0f, - 14.0f, 15.0f, 16.0f, 17.0f); - QMatrix4x4 m4(1.0f, 3.0f, 0.0f, 5.0f, - 0.0f, 7.0f, 0.0f, 9.0f, - 0.0f, 11.0f, 1.0f, 13.0f, - 14.0f, 15.0f, 16.0f, 17.0f); - - QMatrix4x4 m5(m2); - billboard1.setPreserveUpVector(false); - billboard1.applyTo(&m5); - QVERIFY(m5 == m3); - - QMatrix4x4 m6(m2); - billboard1.setPreserveUpVector(true); - billboard1.applyTo(&m6); - QVERIFY(m6 == m4); - - QGraphicsBillboardTransform *billboard2 = qobject_cast<QGraphicsBillboardTransform *> - (billboard1.clone(this)); - QVERIFY(billboard2 != 0); - QVERIFY(billboard2 != &billboard1); - QVERIFY(billboard2->parent() == this); - QVERIFY(billboard2->preserveUpVector() == billboard1.preserveUpVector()); - delete billboard2; -} - -QTEST_APPLESS_MAIN(tst_QGraphicsTransform3D) - -#include "tst_qgraphicstransform3d.moc" |