summaryrefslogtreecommitdiffstats
path: root/tests/manual/scene3d/AnimatedEntity.qml
diff options
context:
space:
mode:
Diffstat (limited to 'tests/manual/scene3d/AnimatedEntity.qml')
-rw-r--r--tests/manual/scene3d/AnimatedEntity.qml101
1 files changed, 101 insertions, 0 deletions
diff --git a/tests/manual/scene3d/AnimatedEntity.qml b/tests/manual/scene3d/AnimatedEntity.qml
new file mode 100644
index 000000000..42ecd56fb
--- /dev/null
+++ b/tests/manual/scene3d/AnimatedEntity.qml
@@ -0,0 +1,101 @@
+// Copyright (C) 2015 Klaralvdalens Datakonsult AB (KDAB).
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+import Qt3D.Core 2.15
+import Qt3D.Render 2.15
+import Qt3D.Input 2.0
+import Qt3D.Extras 2.15
+
+import QtQuick 2.0 as QQ2
+
+
+Entity {
+ id: sceneRoot
+ property RenderCapabilities capabilities : renderSettings.renderCapabilities
+
+ property bool validBounds: sphereMesh.implicitPointsValid
+ property vector3d sphereMinPt: sphereMesh.implicitMinPoint
+ property vector3d sphereMaxPt: sphereMesh.implicitMaxPoint
+ //! [0]
+ Camera {
+ id: camera
+ projectionType: CameraLens.PerspectiveProjection
+ fieldOfView: 45
+ nearPlane : 0.1
+ farPlane : 1000.0
+ position: Qt.vector3d( 0.0, 0.0, 40.0 )
+ upVector: Qt.vector3d( 0.0, 1.0, 0.0 )
+ viewCenter: Qt.vector3d( 0.0, 0.0, 0.0 )
+ }
+ //! [0]
+
+ FirstPersonCameraController { camera: camera }
+
+ components: [
+ RenderSettings {
+ id: renderSettings
+ activeFrameGraph: ForwardRenderer {
+ camera: camera
+ clearColor: "transparent"
+ showDebugOverlay: true
+ }
+ },
+ InputSettings { }
+ ]
+
+ PhongMaterial {
+ id: material
+ }
+
+ TorusMesh {
+ id: torusMesh
+ radius: 5
+ minorRadius: 1
+ rings: 100
+ slices: 20
+ }
+
+ Transform {
+ id: torusTransform
+ scale3D: Qt.vector3d(1.5, 1, 0.5)
+ rotation: fromAxisAndAngle(Qt.vector3d(1, 0, 0), 45)
+ }
+
+ Entity {
+ id: torusEntity
+ components: [ torusMesh, material, torusTransform ]
+ }
+
+ SphereMesh {
+ id: sphereMesh
+ radius: 3
+ generateTangents: true
+ }
+
+ Transform {
+ id: sphereTransform
+ property real userAngle: 0.0
+ matrix: {
+ var m = Qt.matrix4x4();
+ m.rotate(userAngle, Qt.vector3d(0, 1, 0))
+ m.translate(Qt.vector3d(20, 0, 0));
+ return m;
+ }
+ }
+
+ QQ2.NumberAnimation {
+ target: sphereTransform
+ property: "userAngle"
+ duration: 10000
+ from: 0
+ to: 360
+
+ loops: QQ2.Animation.Infinite
+ running: true
+ }
+
+ Entity {
+ id: sphereEntity
+ components: [ sphereMesh, material, sphereTransform ]
+ }
+}