mirror of
https://github.com/alicevision/Meshroom.git
synced 2025-04-29 10:17:27 +02:00
[Viewer] Handle checks on nodes when these node types don't exist
For checks on AliceVision nodes that may or may not be present, we want to ensure that we are never attempting to access these node instances if they have not been loaded by Meshroom.
This commit is contained in:
parent
aa54934e79
commit
1bb3550511
2 changed files with 84 additions and 12 deletions
|
@ -39,7 +39,13 @@ FloatingPane {
|
||||||
RowLayout {
|
RowLayout {
|
||||||
// pane title
|
// pane title
|
||||||
Label {
|
Label {
|
||||||
text: _reconstruction && _reconstruction.activeNodes.get("PhotometricStereo").node ? _reconstruction.activeNodes.get("PhotometricStereo").node.label : ""
|
text: {
|
||||||
|
if (_reconstruction) {
|
||||||
|
if (_reconstruction.activeNodes.get("PhotometricStereo") !== null)
|
||||||
|
return _reconstruction.activeNodes.get("Photometric Stereo").node.label
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
font.bold: true
|
font.bold: true
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,7 +27,13 @@ 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 ? _reconstruction.activeNodes.get("PanoramaInit").node : null
|
property var activeNodeFisheye: {
|
||||||
|
if (_reconstruction) {
|
||||||
|
if (_reconstruction.activeNodes.get("PanoramaInit") !== null)
|
||||||
|
return _reconstruction.activeNodes.get("PanoramaInit").node
|
||||||
|
}
|
||||||
|
return null
|
||||||
|
}
|
||||||
property bool cropFisheye : activeNodeFisheye ? activeNodeFisheye.attribute("useFisheye").value : false
|
property bool cropFisheye : activeNodeFisheye ? activeNodeFisheye.attribute("useFisheye").value : false
|
||||||
property bool enable8bitViewer: enable8bitViewerAction.checked
|
property bool enable8bitViewer: enable8bitViewerAction.checked
|
||||||
property bool enableSequencePlayer: enableSequencePlayerAction.checked
|
property bool enableSequencePlayer: enableSequencePlayerAction.checked
|
||||||
|
@ -623,7 +629,13 @@ FocusScope {
|
||||||
xOrigin: imgContainer.width / 2
|
xOrigin: imgContainer.width / 2
|
||||||
yOrigin: imgContainer.height / 2
|
yOrigin: imgContainer.height / 2
|
||||||
|
|
||||||
property var activeNode: _reconstruction ? _reconstruction.activeNodes.get('PhotometricStereo').node : null
|
property var activeNode: {
|
||||||
|
if (_reconstruction) {
|
||||||
|
if (_reconstruction.activeNodes.get("PhotometricStereo") !== null)
|
||||||
|
return _reconstruction.activeNodes.get("PhotometricStereo").node
|
||||||
|
}
|
||||||
|
return null
|
||||||
|
}
|
||||||
property var vp: _reconstruction ? getViewpoint(_reconstruction.selectedViewId) : null
|
property var vp: _reconstruction ? getViewpoint(_reconstruction.selectedViewId) : null
|
||||||
property url sourcePath: getAlbedoFile()
|
property url sourcePath: getAlbedoFile()
|
||||||
property url normalPath: getNormalFile()
|
property url normalPath: getNormalFile()
|
||||||
|
@ -802,7 +814,13 @@ FocusScope {
|
||||||
orientationTag: imgContainer.orientationTag
|
orientationTag: imgContainer.orientationTag
|
||||||
xOrigin: imgContainer.width / 2
|
xOrigin: imgContainer.width / 2
|
||||||
yOrigin: imgContainer.height / 2
|
yOrigin: imgContainer.height / 2
|
||||||
property var activeNode: _reconstruction ? _reconstruction.activeNodes.get("PanoramaInit").node : null
|
property var activeNode: {
|
||||||
|
if (_reconstruction) {
|
||||||
|
if (_reconstruction.activeNodes.get("PanoramaInit") !== null)
|
||||||
|
return _reconstruction.activeNodes.get("PanoramaInit").node
|
||||||
|
}
|
||||||
|
return null
|
||||||
|
}
|
||||||
active: displayFisheyeCircleLoader.checked && activeNode
|
active: displayFisheyeCircleLoader.checked && activeNode
|
||||||
|
|
||||||
sourceComponent: CircleGizmo {
|
sourceComponent: CircleGizmo {
|
||||||
|
@ -839,7 +857,13 @@ FocusScope {
|
||||||
|
|
||||||
// LightingCalibration: display circle
|
// LightingCalibration: display circle
|
||||||
ExifOrientedViewer {
|
ExifOrientedViewer {
|
||||||
property var activeNode: _reconstruction.activeNodes.get("SphereDetection").node
|
property var activeNode: {
|
||||||
|
if (_reconstruction) {
|
||||||
|
if (_reconstruction.activeNodes.get("SphereDetection") !== null)
|
||||||
|
return _reconstruction.activeNodes.get("SphereDetection").node
|
||||||
|
}
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
anchors.centerIn: parent
|
anchors.centerIn: parent
|
||||||
orientationTag: imgContainer.orientationTag
|
orientationTag: imgContainer.orientationTag
|
||||||
|
@ -933,7 +957,13 @@ FocusScope {
|
||||||
orientationTag: imgContainer.orientationTag
|
orientationTag: imgContainer.orientationTag
|
||||||
xOrigin: imgContainer.width / 2
|
xOrigin: imgContainer.width / 2
|
||||||
yOrigin: imgContainer.height / 2
|
yOrigin: imgContainer.height / 2
|
||||||
property var activeNode: _reconstruction ? _reconstruction.activeNodes.get("ColorCheckerDetection").node : null
|
property var activeNode: {
|
||||||
|
if (_reconstruction) {
|
||||||
|
if (_reconstruction.activeNodes.get("ColorCheckerDetection") !== null)
|
||||||
|
return _reconstruction.activeNodes.get("ColorCheckerDetection").node
|
||||||
|
}
|
||||||
|
return null
|
||||||
|
}
|
||||||
active: (displayColorCheckerViewerLoader.checked && activeNode)
|
active: (displayColorCheckerViewerLoader.checked && activeNode)
|
||||||
|
|
||||||
sourceComponent: ColorCheckerViewer {
|
sourceComponent: ColorCheckerViewer {
|
||||||
|
@ -1289,7 +1319,13 @@ FocusScope {
|
||||||
id: ldrHdrCalibrationGraph
|
id: ldrHdrCalibrationGraph
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
|
|
||||||
property var activeNode: _reconstruction ? _reconstruction.activeNodes.get("LdrToHdrCalibration").node : null
|
property var activeNode: {
|
||||||
|
if (_reconstruction) {
|
||||||
|
if (_reconstruction.activeNodes.get("LdrToHdrCalibration"))
|
||||||
|
return _reconstruction.activeNodes.get("LdrToHdrCalibration").node
|
||||||
|
}
|
||||||
|
return null
|
||||||
|
}
|
||||||
property var isEnabled: displayLdrHdrCalibrationGraph.checked && activeNode && activeNode.isComputed
|
property var isEnabled: displayLdrHdrCalibrationGraph.checked && activeNode && activeNode.isComputed
|
||||||
active: isEnabled
|
active: isEnabled
|
||||||
|
|
||||||
|
@ -1495,7 +1531,13 @@ FocusScope {
|
||||||
|
|
||||||
MaterialToolButton {
|
MaterialToolButton {
|
||||||
id: displayFisheyeCircleLoader
|
id: displayFisheyeCircleLoader
|
||||||
property var activeNode: _reconstruction ? _reconstruction.activeNodes.get("PanoramaInit").node : null
|
property var activeNode: {
|
||||||
|
if (_reconstruction) {
|
||||||
|
if (_reconstruction.activeNodes.get("PanoramaInit") !== null)
|
||||||
|
return _reconstruction.activeNodes.get("PanoramaInit").node
|
||||||
|
}
|
||||||
|
return null
|
||||||
|
}
|
||||||
ToolTip.text: "Display Fisheye Circle: " + (activeNode ? activeNode.label : "No Node")
|
ToolTip.text: "Display Fisheye Circle: " + (activeNode ? activeNode.label : "No Node")
|
||||||
text: MaterialIcons.vignette
|
text: MaterialIcons.vignette
|
||||||
font.pointSize: 11
|
font.pointSize: 11
|
||||||
|
@ -1508,7 +1550,13 @@ FocusScope {
|
||||||
|
|
||||||
MaterialToolButton {
|
MaterialToolButton {
|
||||||
id: displayLightingCircleLoader
|
id: displayLightingCircleLoader
|
||||||
property var activeNode: _reconstruction.activeNodes.get("SphereDetection").node
|
property var activeNode: {
|
||||||
|
if (_reconstruction) {
|
||||||
|
if (_reconstruction.activeNodes.get("SphereDetection") !== null)
|
||||||
|
return _reconstruction.activeNodes.get("SphereDetection").node
|
||||||
|
}
|
||||||
|
return null
|
||||||
|
}
|
||||||
ToolTip.text: "Display Lighting Circle: " + (activeNode ? activeNode.label : "No Node")
|
ToolTip.text: "Display Lighting Circle: " + (activeNode ? activeNode.label : "No Node")
|
||||||
text: MaterialIcons.location_searching
|
text: MaterialIcons.location_searching
|
||||||
font.pointSize: 11
|
font.pointSize: 11
|
||||||
|
@ -1521,7 +1569,13 @@ FocusScope {
|
||||||
|
|
||||||
MaterialToolButton {
|
MaterialToolButton {
|
||||||
id: displayPhongLighting
|
id: displayPhongLighting
|
||||||
property var activeNode: _reconstruction.activeNodes.get('PhotometricStereo').node
|
property var activeNode: {
|
||||||
|
if (_reconstruction) {
|
||||||
|
if (_reconstruction.activeNodes.get("PhotometricStereo") !== null)
|
||||||
|
return _reconstruction.activeNodes.get("PhotometricStereo").node
|
||||||
|
}
|
||||||
|
return null
|
||||||
|
}
|
||||||
ToolTip.text: "Display Phong Lighting: " + (activeNode ? activeNode.label : "No Node")
|
ToolTip.text: "Display Phong Lighting: " + (activeNode ? activeNode.label : "No Node")
|
||||||
text: MaterialIcons.light_mode
|
text: MaterialIcons.light_mode
|
||||||
font.pointSize: 11
|
font.pointSize: 11
|
||||||
|
@ -1533,7 +1587,13 @@ FocusScope {
|
||||||
}
|
}
|
||||||
MaterialToolButton {
|
MaterialToolButton {
|
||||||
id: displayColorCheckerViewerLoader
|
id: displayColorCheckerViewerLoader
|
||||||
property var activeNode: _reconstruction ? _reconstruction.activeNodes.get("ColorCheckerDetection").node : null
|
property var activeNode: {
|
||||||
|
if (_reconstruction) {
|
||||||
|
if (_reconstruction.activeNodes.get("ColorCheckerDetection") !== null)
|
||||||
|
return _reconstruction.activeNodes.get("ColorCheckerDetection").node
|
||||||
|
}
|
||||||
|
return null
|
||||||
|
}
|
||||||
ToolTip.text: "Display Color Checker: " + (activeNode ? activeNode.label : "No Node")
|
ToolTip.text: "Display Color Checker: " + (activeNode ? activeNode.label : "No Node")
|
||||||
text: MaterialIcons.view_comfy
|
text: MaterialIcons.view_comfy
|
||||||
font.pointSize: 11
|
font.pointSize: 11
|
||||||
|
@ -1557,7 +1617,13 @@ FocusScope {
|
||||||
|
|
||||||
MaterialToolButton {
|
MaterialToolButton {
|
||||||
id: displayLdrHdrCalibrationGraph
|
id: displayLdrHdrCalibrationGraph
|
||||||
property var activeNode: _reconstruction ? _reconstruction.activeNodes.get("LdrToHdrCalibration").node : null
|
property var activeNode: {
|
||||||
|
if (_reconstruction) {
|
||||||
|
if (_reconstruction.activeNodes.get("LdrToHdrCalibration") !== null)
|
||||||
|
return _reconstruction.activeNodes.get("LdrToHdrCalibration").node
|
||||||
|
}
|
||||||
|
return null
|
||||||
|
}
|
||||||
property bool isComputed: activeNode && activeNode.isComputed
|
property bool isComputed: activeNode && activeNode.isComputed
|
||||||
ToolTip.text: "Display Camera Response Function: " + (activeNode ? activeNode.label : "No Node")
|
ToolTip.text: "Display Camera Response Function: " + (activeNode ? activeNode.label : "No Node")
|
||||||
text: MaterialIcons.timeline
|
text: MaterialIcons.timeline
|
||||||
|
|
Loading…
Add table
Reference in a new issue