From dc7ee20b02e684ce34b86b725fe67e5f98d6be90 Mon Sep 17 00:00:00 2001 From: Landrodie Date: Thu, 10 Jun 2021 14:59:40 +0200 Subject: [PATCH] [Lens Distortion Viewer] Remove control points on distortion viewer Removing control points from the distortion viewer. Now we only display the principal point. --- meshroom/ui/qml/Viewer/FloatImage.qml | 91 +------------------ .../ui/qml/Viewer/LensDistortionToolbar.qml | 6 +- meshroom/ui/qml/Viewer/Viewer2D.qml | 2 +- 3 files changed, 7 insertions(+), 92 deletions(-) diff --git a/meshroom/ui/qml/Viewer/FloatImage.qml b/meshroom/ui/qml/Viewer/FloatImage.qml index efecb46b..8ca518c8 100644 --- a/meshroom/ui/qml/Viewer/FloatImage.qml +++ b/meshroom/ui/qml/Viewer/FloatImage.qml @@ -37,7 +37,6 @@ AliceVision.FloatImageViewer { root.updateSubdivisions(1); } - root.defaultControlPoints(); root.surface.setIdView(idView); updateSfmPath(); } @@ -51,7 +50,7 @@ AliceVision.FloatImageViewer { property int gridOpacity : 100; - property bool isCtrlPointsDisplayed : true; + property bool isPrincipalPointsDisplayed : false; property int subdivisions: 4; property int pointsNumber: (subdivisions + 1) * (subdivisions + 1); @@ -76,20 +75,16 @@ AliceVision.FloatImageViewer { //Putting states back where they were if(isDistoViewer){ - //root.displayGrid(isGridDisplayed); - repeater.displayControlPoints(isCtrlPointsDisplayed) root.updateSubdivisions(subdivisions) } //Forcing disabling of parameters else{ - root.displayGrid(isDistoViewer) - repeater.displayControlPoints(isDistoViewer) + root.updateSubdivisions(1) } } onIsPanoViewerChanged: { - //root.surface.setPanoViewerEnabled(isPanoViewer) surface.viewerType = AliceVision.Surface.EViewerType.PANORAMA; } @@ -98,10 +93,6 @@ AliceVision.FloatImageViewer { root.updateSubdivisions(subdivisions) } - onIsCtrlPointsDisplayedChanged: { - repeater.displayControlPoints(isCtrlPointsDisplayed) - } - onGridOpacityChanged: { root.surface.gridColor = Qt.rgba(root.surface.gridColor.r, root.surface.gridColor.g, root.surface.gridColor.b, gridOpacity/100); } @@ -161,7 +152,7 @@ AliceVision.FloatImageViewer { x: 0 y: 0 color: "red" - visible: isDistoViewer && isCtrlPointsDisplayed + visible: isDistoViewer && isPrincipalPointsDisplayed } Connections { @@ -172,80 +163,4 @@ AliceVision.FloatImageViewer { } } } - - /* - * Controls Points - */ - Item { - id: points - width: root.width - height: root.height - - Connections { - target: root - onVerticesChanged : { - if (reinit){ - points.recalculateCP(); - points.generateControlPoints(); - } - } - } - - function generateControlPoints() { - if(repeater.model === pointsNumber){ - repeater.model = 0; - } - repeater.model = pointsNumber; - } - - function recalculateCP() { - if (repeater.model === 0) - return - - var width = repeater.itemAt(0).width; - var height = repeater.itemAt(0).height; - - for (let i = 0; i < repeater.model; i++) { - repeater.itemAt(i).x = root.surface.getVertex(i).x - (width / 2); - repeater.itemAt(i).y = root.surface.getVertex(i).y - (height / 2); - } - } - - Component { - id: point - Rectangle { - id: rect - width: root.sourceSize.width/100; height: width - radius: width/2 - x: root.surface.getVertex(model.index).x - (width / 2) - y: root.surface.getVertex(model.index).y - (height / 2) - color: Colors.yellow - visible: isDistoViewer && isCtrlPointsDisplayed - MouseArea { - id: mouseAreaCP - anchors.fill : parent; - acceptedButtons: Qt.LeftButton - - drag.target: rect - drag.smoothed: false - drag.axis: Drag.XAndYAxis - onReleased: { - root.setVertex(index, rect.x + (width / 2), rect.y + (height / 2)) - } - } - } - } - - Repeater { - id: repeater - model: pointsNumber - delegate: point - function displayControlPoints(state) { - for (let i = 0; i < model; i++) { - if (repeater.itemAt(i) !== null) - repeater.itemAt(i).visible = state; - } - } - } - } } diff --git a/meshroom/ui/qml/Viewer/LensDistortionToolbar.qml b/meshroom/ui/qml/Viewer/LensDistortionToolbar.qml index 3ba5dadc..82e0cc33 100644 --- a/meshroom/ui/qml/Viewer/LensDistortionToolbar.qml +++ b/meshroom/ui/qml/Viewer/LensDistortionToolbar.qml @@ -19,7 +19,7 @@ FloatingPane { property variant colorRGBA: null property bool displayGrid: displayGridButton.checked - property bool displayPoints: displayCtrlPointsButton.checked + property bool displayPrincipalPoint: displayPrincipalPointButton.checked property var colors: [Colors.lightgrey, Colors.grey, Colors.red, Colors.green, Colors.blue, Colors.yellow] readonly property int colorIndex: (colorOffset) % root.colors.length @@ -38,8 +38,8 @@ FloatingPane { anchors.fill: parent MaterialToolButton { - id: displayCtrlPointsButton - ToolTip.text: "Display Control Points" + id: displayPrincipalPointButton + ToolTip.text: "Display Principal Point" text: MaterialIcons.control_point font.pointSize: 13 padding: 5 diff --git a/meshroom/ui/qml/Viewer/Viewer2D.qml b/meshroom/ui/qml/Viewer/Viewer2D.qml index 808bb64d..a2659f75 100644 --- a/meshroom/ui/qml/Viewer/Viewer2D.qml +++ b/meshroom/ui/qml/Viewer/Viewer2D.qml @@ -273,7 +273,7 @@ FocusScope { 'gamma': Qt.binding(function() { return hdrImageToolbar.gammaValue; }), 'gain': Qt.binding(function() { return hdrImageToolbar.gainValue; }), 'channelModeString': Qt.binding(function() { return hdrImageToolbar.channelModeValue; }), - 'isCtrlPointsDisplayed' : Qt.binding(function(){ return lensDistortionImageToolbar.displayPoints;}), + 'isPrincipalPointsDisplayed' : Qt.binding(function(){ return lensDistortionImageToolbar.displayPrincipalPoint;}), 'surface.displayGrid' : Qt.binding(function(){ return lensDistortionImageToolbar.visible && lensDistortionImageToolbar.displayGrid;}), 'gridOpacity' : Qt.binding(function(){ return lensDistortionImageToolbar.opacityValue;}), 'surface.gridColor' : Qt.binding(function(){ return lensDistortionImageToolbar.color;}),