mirror of
https://github.com/alicevision/Meshroom.git
synced 2025-08-06 10:18:42 +02:00
[Panorama Viewer] Add fisheye support for viewer
This commit is contained in:
parent
67fab19892
commit
7e65c91bf5
2 changed files with 20 additions and 1 deletions
|
@ -40,6 +40,10 @@ AliceVision.PanoramaViewer {
|
||||||
|
|
||||||
property int mouseMultiplier: 1
|
property int mouseMultiplier: 1
|
||||||
|
|
||||||
|
property bool isFisheyePano: false
|
||||||
|
|
||||||
|
property vector3d fisheyeCircleParametersPano
|
||||||
|
|
||||||
onIsHighlightableChanged:{
|
onIsHighlightableChanged:{
|
||||||
for (var i = 0; i < repeater.model; i++) {
|
for (var i = 0; i < repeater.model; i++) {
|
||||||
repeater.itemAt(i).item.onChangedHighlightState(isHighlightable);
|
repeater.itemAt(i).item.onChangedHighlightState(isHighlightable);
|
||||||
|
@ -246,6 +250,8 @@ AliceVision.PanoramaViewer {
|
||||||
'surface.viewerType': AliceVision.Surface.EViewerType.PANORAMA,
|
'surface.viewerType': AliceVision.Surface.EViewerType.PANORAMA,
|
||||||
'viewerTypeString': 'panorama',
|
'viewerTypeString': 'panorama',
|
||||||
'surface.subdivisions': Qt.binding(function() { return subdivisionsPano; }),
|
'surface.subdivisions': Qt.binding(function() { return subdivisionsPano; }),
|
||||||
|
'surface.isFisheye' : Qt.binding(function(){ return isFisheyePano; }),
|
||||||
|
'fisheyeCircleParameters': Qt.binding(function(){ return fisheyeCircleParametersPano; }),
|
||||||
'surface.pitch': Qt.binding(function() { return root.pitch; }),
|
'surface.pitch': Qt.binding(function() { return root.pitch; }),
|
||||||
'surface.yaw': Qt.binding(function() { return root.yaw; }),
|
'surface.yaw': Qt.binding(function() { return root.yaw; }),
|
||||||
'surface.roll': Qt.binding(function() { return root.roll; }),
|
'surface.roll': Qt.binding(function() { return root.roll; }),
|
||||||
|
|
|
@ -19,6 +19,17 @@ FocusScope {
|
||||||
property alias useLensDistortionViewer: displayLensDistortionViewer.checked
|
property alias useLensDistortionViewer: displayLensDistortionViewer.checked
|
||||||
property alias usePanoramaViewer: displayPanoramaViewer.checked
|
property alias usePanoramaViewer: displayPanoramaViewer.checked
|
||||||
|
|
||||||
|
property var activeNodeFisheye: _reconstruction.activeNodes.get("PanoramaInit").node
|
||||||
|
property bool isFisheye : activeNodeFisheye ? activeNodeFisheye.attribute("useFisheye").value : false
|
||||||
|
property bool useAutoFisheye: activeNodeFisheye ? activeNodeFisheye.attribute("estimateFisheyeCircle").value : true
|
||||||
|
property real userFisheyeRadius: activeNodeFisheye ? activeNodeFisheye.attribute("fisheyeRadius").value : 0
|
||||||
|
property variant fisheyeAutoParams: activeNodeFisheye ? _reconstruction.getAutoFisheyeCircle(activeNodeFisheye) : null
|
||||||
|
|
||||||
|
property real fisheyeCircleX: useAutoFisheye ? (fisheyeAutoParams ? (fisheyeAutoParams.x) : 0) : activeNodeFisheye.attribute("fisheyeCenterOffset.fisheyeCenterOffset_x").value
|
||||||
|
property real fisheyeCircleY: useAutoFisheye ? (fisheyeAutoParams ? (fisheyeAutoParams.y) : 0) : activeNodeFisheye.attribute("fisheyeCenterOffset.fisheyeCenterOffset_y").value
|
||||||
|
|
||||||
|
property vector3d fisheyeCircleParametersVec: Qt.vector3d(fisheyeCircleX, fisheyeCircleY, userFisheyeRadius)
|
||||||
|
|
||||||
QtObject {
|
QtObject {
|
||||||
id: m
|
id: m
|
||||||
property variant imgMetadata: {
|
property variant imgMetadata: {
|
||||||
|
@ -306,6 +317,8 @@ FocusScope {
|
||||||
if(active) {
|
if(active) {
|
||||||
setSource("PanoramaViewer.qml", {
|
setSource("PanoramaViewer.qml", {
|
||||||
'subdivisionsPano': Qt.binding(function(){ return panoramaViewerToolbar.subdivisionsValue;}),
|
'subdivisionsPano': Qt.binding(function(){ return panoramaViewerToolbar.subdivisionsValue;}),
|
||||||
|
'isFisheyePano': Qt.binding(function(){ return root.isFisheye;}),
|
||||||
|
'fisheyeCircleParametersPano' : Qt.binding(function(){ return root.fisheyeCircleParametersVec;}),
|
||||||
'downscale': Qt.binding(function(){ return panoramaViewerToolbar.downscaleValue;}),
|
'downscale': Qt.binding(function(){ return panoramaViewerToolbar.downscaleValue;}),
|
||||||
'isEditable': Qt.binding(function(){ return panoramaViewerToolbar.enableEdit;}),
|
'isEditable': Qt.binding(function(){ return panoramaViewerToolbar.enableEdit;}),
|
||||||
'isHighlightable': Qt.binding(function(){ return panoramaViewerToolbar.enableHover;}),
|
'isHighlightable': Qt.binding(function(){ return panoramaViewerToolbar.enableHover;}),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue