Merged in f5soh/librepilot/LP-575_fedora_package (pull request #491)
[librepilot.git] / ground / gcs / src / share / qml / model / ModelView.qml
blob529da8c0c8908f3f015496d682c9ae9f270162df
1 /*
2  * Copyright (C) 2016 The LibrePilot Project
3  * Contact: http://www.librepilot.org
4  *
5  * This file is part of LibrePilot GCS.
6  *
7  * LibrePilot GCS is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation, either version 3 of the License, or
10  * (at your option) any later version.
11  *
12  * LibrePilot GCS is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with LibrePilot GCS.  If not, see <http://www.gnu.org/licenses/>.
19  */
20 import QtQuick 2.4
22 import OsgQtQuick 1.0
24 import "../js/uav.js" as UAV
26 Item {
28     OSGViewport {
29         anchors.fill: parent
30         focus: true
32         sceneNode: sceneNode
33         camera: camera
34         manipulator: trackballManipulator
36         OSGCamera {
37             id: camera
38             fieldOfView: 90
39         }
41         OSGTrackballManipulator {
42             id: trackballManipulator
43             sceneNode: transformNode
44         }
46         OSGGroup {
47             id: sceneNode
48             children: [ transformNode, backgroundNode ]
49         }
51         OSGBillboardNode {
52             id: backgroundNode
53             children: [ backgroundImageNode ]
54         }
56         OSGImageNode {
57             id: backgroundImageNode
58             imageUrl: pfdContext.backgroundImageFile
59         }
61         OSGTransformNode {
62             id: transformNode
64             children: [ fileNode ]
66             attitude: UAV.attitude()
67         }
69         OSGFileNode {
70             id: fileNode
71             source: pfdContext.modelFile
72             async: false
73             optimizeMode: OptimizeMode.OptimizeAndCheck
74         }
76         Keys.onUpPressed: {
77             pfdContext.nextModel();
78         }
80         Keys.onDownPressed: {
81             pfdContext.previousModel();
82         }
83     }