2import QGroundControl.AppSettings
3import QGroundControl.Controls
4import QGroundControl.FactControls
9 property Fact _viewer3DAltitudeBias: _viewer3DSettings.altitudeBias
10 property Fact _viewer3DBuildingLevelHeight: _viewer3DSettings.buildingLevelHeight
11 property Fact _viewer3DEnabled: _viewer3DSettings.enabled
12 property Fact _viewer3DMapProvider: _viewer3DSettings.mapProvider
13 property Fact _viewer3DOsmFilePath: _viewer3DSettings.osmFilePath
14 property var _viewer3DSettings: QGroundControl.settingsManager.viewer3DSettings
17 Layout.fillWidth: true
18 heading: qsTr("3D View")
21 Layout.fillWidth: true
22 fact: _viewer3DEnabled
24 visible: _viewer3DEnabled.visible
27 LabelledFactComboBox {
28 Layout.fillWidth: true
29 enabled: _viewer3DEnabled.rawValue
30 fact: _viewer3DMapProvider
31 label: qsTr("Map Provider")
32 visible: _viewer3DMapProvider.visible
36 Layout.fillWidth: true
37 enabled: _viewer3DEnabled.rawValue
38 spacing: ScreenTools.defaultFontPixelWidth
39 visible: _viewer3DMapProvider.rawValue === 0
42 Layout.fillWidth: true
43 spacing: ScreenTools.defaultFontPixelWidth
46 text: qsTr("3D Map File:")
47 wrapMode: Text.WordWrap
53 Layout.fillWidth: true
54 height: ScreenTools.defaultFontPixelWidth * 4.5
57 text: _viewer3DOsmFilePath.rawValue
63 Layout.alignment: Qt.AlignRight
64 spacing: ScreenTools.defaultFontPixelWidth
70 _viewer3DOsmFilePath.value = "";
75 text: qsTr("Select File")
78 var filename = _viewer3DOsmFilePath.rawValue;
79 const found = filename.match(/(.*)[\/\\]/);
81 filename = found[1] || ''; // extracting the directory from the file path
82 fileDialog.folder = (filename[0] === "/") ? (filename.slice(1)) : (filename);
84 fileDialog.openForLoad();
90 nameFilters: [qsTr("OpenStreetMap files (*.osm)")]
91 title: qsTr("Select map file")
93 onAcceptedForLoad: file => {
94 _viewer3DOsmFilePath.value = file;
101 LabelledFactTextField {
102 Layout.fillWidth: true
103 enabled: _viewer3DEnabled.rawValue
104 fact: _viewer3DBuildingLevelHeight
105 label: qsTr("Average Building Level Height")
106 visible: _viewer3DBuildingLevelHeight.visible
109 LabelledFactTextField {
110 Layout.fillWidth: true
111 enabled: _viewer3DEnabled.rawValue
112 fact: _viewer3DAltitudeBias
113 label: qsTr("Vehicles Altitude Bias")
114 visible: _viewer3DAltitudeBias.visible