diff options
Diffstat (limited to 'sources/pyside2/tests/Qt3DExtras')
-rw-r--r-- | sources/pyside2/tests/Qt3DExtras/CMakeLists.txt | 1 | ||||
-rw-r--r-- | sources/pyside2/tests/Qt3DExtras/qt3dextras_test.py | 161 |
2 files changed, 0 insertions, 162 deletions
diff --git a/sources/pyside2/tests/Qt3DExtras/CMakeLists.txt b/sources/pyside2/tests/Qt3DExtras/CMakeLists.txt deleted file mode 100644 index 5f8d2e77b..000000000 --- a/sources/pyside2/tests/Qt3DExtras/CMakeLists.txt +++ /dev/null @@ -1 +0,0 @@ -PYSIDE_TEST(qt3dextras_test.py) diff --git a/sources/pyside2/tests/Qt3DExtras/qt3dextras_test.py b/sources/pyside2/tests/Qt3DExtras/qt3dextras_test.py deleted file mode 100644 index 97ddc8af9..000000000 --- a/sources/pyside2/tests/Qt3DExtras/qt3dextras_test.py +++ /dev/null @@ -1,161 +0,0 @@ -#!/usr/bin/python - -############################################################################# -## -## Copyright (C) 2017 The Qt Company Ltd. -## Contact: https://www.qt.io/licensing/ -## -## This file is part of the test suite of Qt for Python. -## -## $QT_BEGIN_LICENSE:GPL-EXCEPT$ -## Commercial License Usage -## Licensees holding valid commercial Qt licenses may use this file in -## accordance with the commercial license agreement provided with the -## Software or, alternatively, in accordance with the terms contained in -## a written agreement between you and The Qt Company. For licensing terms -## and conditions see https://www.qt.io/terms-conditions. For further -## information use the contact form at https://www.qt.io/contact-us. -## -## GNU General Public License Usage -## Alternatively, this file may be used under the terms of the GNU -## General Public License version 3 as published by the Free Software -## Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -## included in the packaging of this file. Please review the following -## information to ensure the GNU General Public License requirements will -## be met: https://www.gnu.org/licenses/gpl-3.0.html. -## -## $QT_END_LICENSE$ -## -############################################################################# - -'''Test cases for Q3DExtras''' - -import os -import sys -import unittest - -sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) -from init_paths import init_test_paths -init_test_paths(False) - -from helper.usesqguiapplication import UsesQGuiApplication - -from PySide2.QtCore import(Property, QObject, QPropertyAnimation, QTimer, Signal, Slot) -from PySide2.QtGui import (QGuiApplication, QMatrix4x4, QQuaternion, QVector3D, QWindow) -from PySide2.Qt3DCore import (Qt3DCore) -from PySide2.Qt3DRender import (Qt3DRender) -from PySide2.Qt3DExtras import (Qt3DExtras) - -class OrbitTransformController(QObject): - def __init__(self, parent): - super(OrbitTransformController, self).__init__(parent) - self._target = None - self._matrix = QMatrix4x4() - self._radius = 1 - self._angle = 0 - - def setTarget(self, t): - self._target = t - - def getTarget(self): - return self._target - - def setRadius(self, radius): - if self._radius != radius: - self._radius = radius - self.updateMatrix() - self.radiusChanged.emit() - - def getRadius(self): - return self._radius - - def setAngle(self, angle): - if self._angle != angle: - self._angle = angle - self.updateMatrix() - self.angleChanged.emit() - - def getAngle(self): - return self._angle - - def updateMatrix(self): - self._matrix.setToIdentity(); - self._matrix.rotate(self._angle, QVector3D(0, 1, 0)) - self._matrix.translate(self._radius, 0, 0) - if self._target is not None: - self._target.setMatrix(self._matrix) - - angleChanged = Signal() - radiusChanged = Signal() - angle = Property(float, getAngle, setAngle, notify=angleChanged) - radius = Property(float, getRadius, setRadius, notify=radiusChanged) - -class Window(Qt3DExtras.Qt3DWindow): - def __init__(self): - super(Window, self).__init__() - - # Camera - self.camera().lens().setPerspectiveProjection(45, 16 / 9, 0.1, 1000) - self.camera().setPosition(QVector3D(0, 0, 40)) - self.camera().setViewCenter(QVector3D(0, 0, 0)) - - # For camera controls - self.createScene() - self.camController = Qt3DExtras.QOrbitCameraController(self.rootEntity) - self.camController.setLinearSpeed(50) - self.camController.setLookSpeed(180) - self.camController.setCamera(self.camera()) - - self.setRootEntity(self.rootEntity) - - def createScene(self): - # Root entity - self.rootEntity = Qt3DCore.QEntity() - - # Material - self.material = Qt3DExtras.QPhongMaterial(self.rootEntity) - - # Torus - self.torusEntity = Qt3DCore.QEntity(self.rootEntity) - self.torusMesh = Qt3DExtras.QTorusMesh() - self.torusMesh.setRadius(5) - self.torusMesh.setMinorRadius(1) - self.torusMesh.setRings(100) - self.torusMesh.setSlices(20) - - self.torusTransform = Qt3DCore.QTransform() - self.torusTransform.setScale3D(QVector3D(1.5, 1, 0.5)) - self.torusTransform.setRotation(QQuaternion.fromAxisAndAngle(QVector3D(1, 0, 0), 45)) - - self.torusEntity.addComponent(self.torusMesh) - self.torusEntity.addComponent(self.torusTransform) - self.torusEntity.addComponent(self.material) - - # Sphere - self.sphereEntity = Qt3DCore.QEntity(self.rootEntity) - self.sphereMesh = Qt3DExtras.QSphereMesh() - self.sphereMesh.setRadius(3) - - self.sphereTransform = Qt3DCore.QTransform() - self.controller = OrbitTransformController(self.sphereTransform) - self.controller.setTarget(self.sphereTransform) - self.controller.setRadius(20) - - self.sphereEntity.addComponent(self.sphereMesh) - self.sphereEntity.addComponent(self.sphereTransform) - self.sphereEntity.addComponent(self.material) - -class Qt3DExtrasTestCase(UsesQGuiApplication): - '''Tests related to Q3DExtras''' - - def test3DExtras(self): - - window = Window() - window.show() - while not window.isExposed(): - self.app.processEvents() - QTimer.singleShot(2000, self.app.quit) - self.app.exec_() - -if __name__ == '__main__': - unittest.main() |