7import QGroundControl.Controls
8import QGroundControl.FlightMap
10/// Structure Scan Complex Mission Item visuals
14 property var map ///< Map control to place item in
17 property var _missionItem: object
18 property var _structurePolygon: object.structurePolygon
19 property var _flightPolygon: object.flightPolygon
20 property bool interactive: parent.interactive
22 signal clicked(int sequenceNumber)
24 function _addVisualElements() {
25 objMgr.createObjects([entryPointComponent, exitPointComponent], map, true /* parentObjectIsMap */)
28 Component.onCompleted: {
32 QGCDynamicObjectManager { id: objMgr }
34 QGCMapPolygonVisuals {
36 mapPolygon: _structurePolygon
37 interactive: _missionItem.isCurrentItem && _root.interactive
40 interiorColor: "green"
42 interiorOpacity: 0.5 * _root.opacity
45 QGCMapPolygonVisuals {
47 mapPolygon: _flightPolygon
51 interiorOpacity: _root.opacity
56 id: entryPointComponent
59 anchorPoint.x: sourceItem.anchorPointX
60 anchorPoint.y: sourceItem.anchorPointY
61 z: QGroundControl.zOrderMapItems
62 coordinate: _missionItem.coordinate
63 visible: _missionItem.exitCoordinate.isValid && _root.interactive
65 sourceItem: MissionItemIndexLabel {
66 index: _missionItem.sequenceNumber
68 checked: _missionItem.isCurrentItem
69 onClicked: _root.clicked(_missionItem.sequenceNumber)
76 id: exitPointComponent
79 anchorPoint.x: sourceItem.anchorPointX
80 anchorPoint.y: sourceItem.anchorPointY
81 z: QGroundControl.zOrderMapItems
82 coordinate: _missionItem.exitCoordinate
83 visible: _missionItem.exitCoordinate.isValid && _root.interactive
85 sourceItem: MissionItemIndexLabel {
86 index: _missionItem.lastSequenceNumber
88 checked: _missionItem.isCurrentItem
89 onClicked: _root.clicked(_missionItem.sequenceNumber)