gitextract_yg7v1w9_/ ├── .codecov.yml ├── .git-blame-ignore-revs ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── feature_request.md │ │ └── question_help.md │ ├── pull_request_template.md │ ├── stale.yml │ └── workflows/ │ └── continuous-integration.yml ├── .gitignore ├── .readthedocs.yaml ├── CHANGES.md ├── CMakeLists.txt ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── COPYING.md ├── INSTALL.md ├── INSTALL_PLUGINS.md ├── LICENSE-MPL2.md ├── NODE_DEVELOPMENT.md ├── README.md ├── RELEASING.md ├── WINDOWS_EXE.md ├── bin/ │ ├── meshroom_batch │ ├── meshroom_compute │ ├── meshroom_createChunks │ ├── meshroom_newNodeType │ ├── meshroom_statistics │ ├── meshroom_status │ └── meshroom_submit ├── dev_requirements.txt ├── docker/ │ ├── Dockerfile_rocky │ ├── Dockerfile_rocky_deps │ ├── Dockerfile_ubuntu │ ├── Dockerfile_ubuntu_deps │ ├── build-all.sh │ ├── build-rocky.sh │ ├── build-ubuntu.sh │ ├── extract-rocky.sh │ └── extract-ubuntu.sh ├── docs/ │ ├── .gitignore │ ├── Makefile │ ├── README.md │ ├── make.bat │ ├── requirements.txt │ └── source/ │ ├── _ext/ │ │ ├── __init__.py │ │ ├── fetch_md.py │ │ ├── meshroom_doc.py │ │ └── utils.py │ ├── _templates/ │ │ └── autosummary/ │ │ ├── class.rst │ │ └── module.rst │ ├── api.rst │ ├── changes.rst │ ├── conf.py │ ├── index.rst │ └── install.rst ├── localfarm/ │ ├── __init__.py │ ├── localFarm.py │ ├── localFarmBackend.py │ ├── localFarmLauncher.py │ └── test.py ├── meshroom/ │ ├── __init__.py │ ├── common/ │ │ ├── PySignal.py │ │ ├── __init__.py │ │ ├── core.py │ │ ├── deprecated.py │ │ └── qt.py │ ├── core/ │ │ ├── __init__.py │ │ ├── attribute.py │ │ ├── cgroup.py │ │ ├── desc/ │ │ │ ├── __init__.py │ │ │ ├── attribute.py │ │ │ ├── computation.py │ │ │ ├── geometryAttribute.py │ │ │ ├── node.py │ │ │ └── shapeAttribute.py │ │ ├── evaluation.py │ │ ├── exception.py │ │ ├── fileUtils.py │ │ ├── graph.py │ │ ├── graphIO.py │ │ ├── keyValues.py │ │ ├── mtyping.py │ │ ├── node.py │ │ ├── nodeFactory.py │ │ ├── plugins.py │ │ ├── stats.py │ │ ├── submitter.py │ │ ├── taskManager.py │ │ ├── test.py │ │ └── utils.py │ ├── env.py │ ├── multiview.py │ ├── nodes/ │ │ ├── __init__.py │ │ └── general/ │ │ ├── Backdrop.py │ │ ├── CopyFiles.py │ │ ├── InputFile.py │ │ └── __init__.py │ ├── submitters/ │ │ ├── __init__.py │ │ └── localFarmSubmitter.py │ └── ui/ │ ├── __init__.py │ ├── __main__.py │ ├── app.py │ ├── commands.py │ ├── components/ │ │ ├── __init__.py │ │ ├── clipboard.py │ │ ├── csvData.py │ │ ├── edge.py │ │ ├── filepath.py │ │ ├── geom2D.py │ │ ├── logLinesModel.py │ │ ├── messaging.py │ │ ├── scene3D.py │ │ ├── scriptEditor.py │ │ ├── shapes/ │ │ │ ├── __init__.py │ │ │ ├── shapeFile.py │ │ │ ├── shapeFilesHelper.py │ │ │ └── shapeViewerHelper.py │ │ └── thumbnail.py │ ├── graph.py │ ├── palette.py │ ├── qml/ │ │ ├── AboutDialog.qml │ │ ├── Application.qml │ │ ├── Charts/ │ │ │ ├── ChartViewCheckBox.qml │ │ │ ├── ChartViewLegend.qml │ │ │ ├── InteractiveChartView.qml │ │ │ └── qmldir │ │ ├── Controls/ │ │ │ ├── ColorChart.qml │ │ │ ├── ColorSelector.qml │ │ │ ├── DelegateSelectionBox.qml │ │ │ ├── DelegateSelectionLine.qml │ │ │ ├── DirectionalLightPane.qml │ │ │ ├── ExifOrientedViewer.qml │ │ │ ├── ExpandableGroup.qml │ │ │ ├── FilterComboBox.qml │ │ │ ├── FloatingPane.qml │ │ │ ├── Group.qml │ │ │ ├── IntSelector.qml │ │ │ ├── KeyValue.qml │ │ │ ├── MScrollBar.qml │ │ │ ├── MSplitView.qml │ │ │ ├── MessageDialog.qml │ │ │ ├── NodeActions.qml │ │ │ ├── Panel.qml │ │ │ ├── SearchBar.qml │ │ │ ├── SelectionBox.qml │ │ │ ├── SelectionLine.qml │ │ │ ├── StatusBar.qml │ │ │ ├── StatusMessages.qml │ │ │ ├── TabPanel.qml │ │ │ ├── TextFileViewer.qml │ │ │ └── qmldir │ │ ├── DialogsFactory.qml │ │ ├── GraphEditor/ │ │ │ ├── AttributeControls/ │ │ │ │ ├── Choice.qml │ │ │ │ └── ChoiceMulti.qml │ │ │ ├── AttributeEditor.qml │ │ │ ├── AttributeItemDelegate.qml │ │ │ ├── AttributePin.qml │ │ │ ├── Backdrop.qml │ │ │ ├── ChunksListView.qml │ │ │ ├── CompatibilityBadge.qml │ │ │ ├── CompatibilityManager.qml │ │ │ ├── Edge.qml │ │ │ ├── GraphEditor.qml │ │ │ ├── GraphEditorSettings.qml │ │ │ ├── Node.qml │ │ │ ├── NodeChunks.qml │ │ │ ├── NodeDocumentation.qml │ │ │ ├── NodeEditor.qml │ │ │ ├── NodeFileBrowser.qml │ │ │ ├── NodeLog.qml │ │ │ ├── NodeStatistics.qml │ │ │ ├── NodeStatus.qml │ │ │ ├── ScriptEditor.qml │ │ │ ├── StatViewer.qml │ │ │ ├── TaskManager.qml │ │ │ └── qmldir │ │ ├── Homepage.qml │ │ ├── ImageGallery/ │ │ │ ├── ImageBadge.qml │ │ │ ├── ImageDelegate.qml │ │ │ ├── ImageGallery.qml │ │ │ ├── ImageGridView.qml │ │ │ ├── ImageListView.qml │ │ │ ├── IntrinsicDisplayDelegate.qml │ │ │ ├── IntrinsicsIndicator.qml │ │ │ ├── SensorDBDialog.qml │ │ │ └── qmldir │ │ ├── MaterialIcons/ │ │ │ ├── MLabel.qml │ │ │ ├── MaterialIcons.qml │ │ │ ├── MaterialLabel.qml │ │ │ ├── MaterialToolButton.qml │ │ │ ├── MaterialToolLabel.qml │ │ │ ├── MaterialToolLabelButton.qml │ │ │ ├── generate_material_icons.py │ │ │ └── qmldir │ │ ├── Shapes/ │ │ │ ├── Editor/ │ │ │ │ ├── Items/ │ │ │ │ │ ├── ShapeAttributeItem.qml │ │ │ │ │ ├── ShapeDataItem.qml │ │ │ │ │ ├── ShapeFileItem.qml │ │ │ │ │ ├── ShapeListAttributeItem.qml │ │ │ │ │ └── Utils/ │ │ │ │ │ └── ItemHeader.qml │ │ │ │ ├── ShapeEditor.qml │ │ │ │ └── ShapeEditorItem.qml │ │ │ ├── Viewer/ │ │ │ │ ├── Layers/ │ │ │ │ │ ├── BaseLayer.qml │ │ │ │ │ ├── CircleLayer.qml │ │ │ │ │ ├── LineLayer.qml │ │ │ │ │ ├── PointLayer.qml │ │ │ │ │ ├── RectangleLayer.qml │ │ │ │ │ ├── TextLayer.qml │ │ │ │ │ └── Utils/ │ │ │ │ │ └── Handle.qml │ │ │ │ ├── ShapeViewer.qml │ │ │ │ ├── ShapeViewerAttributeLayer.qml │ │ │ │ ├── ShapeViewerAttributeLoader.qml │ │ │ │ └── ShapeViewerLayer.qml │ │ │ └── qmldir │ │ ├── Utils/ │ │ │ ├── Clipboard.qml │ │ │ ├── Colors.qml │ │ │ ├── ExifOrientation.qml │ │ │ ├── ExpressionTextField.qml │ │ │ ├── Filepath.qml │ │ │ ├── Scene3DHelper.qml │ │ │ ├── SortFilterDelegateModel.qml │ │ │ ├── Transformations3DHelper.qml │ │ │ ├── errorHandler.js │ │ │ ├── format.js │ │ │ ├── qmldir │ │ │ └── request.js │ │ ├── Viewer/ │ │ │ ├── CameraResponseGraph.qml │ │ │ ├── CircleGizmo.qml │ │ │ ├── ColorCheckerEntity.qml │ │ │ ├── ColorCheckerPane.qml │ │ │ ├── ColorCheckerViewer.qml │ │ │ ├── FeaturesInfoOverlay.qml │ │ │ ├── FeaturesViewer.qml │ │ │ ├── FloatImage.qml │ │ │ ├── HdrImageToolbar.qml │ │ │ ├── ImageMetadataView.qml │ │ │ ├── LensDistortionToolbar.qml │ │ │ ├── MFeatures.qml │ │ │ ├── MSfMData.qml │ │ │ ├── MTracks.qml │ │ │ ├── PanoramaToolbar.qml │ │ │ ├── PanoramaViewer.qml │ │ │ ├── PhongImageViewer.qml │ │ │ ├── PhongImageViewerToolbar.qml │ │ │ ├── SequencePlayer.qml │ │ │ ├── SfmGlobalStats.qml │ │ │ ├── SfmStatsView.qml │ │ │ ├── TestAliceVisionPlugin.qml │ │ │ ├── TextViewer.qml │ │ │ ├── Viewer2D.qml │ │ │ └── qmldir │ │ ├── Viewer3D/ │ │ │ ├── BoundingBox.qml │ │ │ ├── DefaultCameraController.qml │ │ │ ├── DepthMapLoader.qml │ │ │ ├── EntityWithGizmo.qml │ │ │ ├── EnvironmentMapEntity.qml │ │ │ ├── Grid3D.qml │ │ │ ├── ImageOverlay.qml │ │ │ ├── Inspector3D.qml │ │ │ ├── Locator3D.qml │ │ │ ├── MaterialSwitcher.qml │ │ │ ├── Materials/ │ │ │ │ ├── SphericalHarmonicsEffect.qml │ │ │ │ ├── SphericalHarmonicsMaterial.qml │ │ │ │ ├── WireframeEffect.qml │ │ │ │ ├── WireframeMaterial.qml │ │ │ │ └── shaders/ │ │ │ │ ├── SphericalHarmonics.frag │ │ │ │ ├── SphericalHarmonics.vert │ │ │ │ ├── robustwireframe.frag │ │ │ │ └── robustwireframe.vert │ │ │ ├── MediaCache.qml │ │ │ ├── MediaLibrary.qml │ │ │ ├── MediaLoader.qml │ │ │ ├── MediaLoaderEntity.qml │ │ │ ├── MeshingBoundingBox.qml │ │ │ ├── SfMTransformGizmo.qml │ │ │ ├── SfmDataLoader.qml │ │ │ ├── TrackballGizmo.qml │ │ │ ├── TransformGizmo.qml │ │ │ ├── TransformGizmoPicker.qml │ │ │ ├── Viewer3D.qml │ │ │ ├── Viewer3DSettings.qml │ │ │ ├── ViewpointCamera.qml │ │ │ └── qmldir │ │ ├── WorkspaceView.qml │ │ └── main.qml │ ├── scene.py │ └── utils.py ├── requirements.txt ├── setup.py ├── setupInitScriptUnix.py ├── setupInitScriptWindows.py ├── start.bat ├── start.sh └── tests/ ├── __init__.py ├── appendTextAndFiles.mg ├── conftest.py ├── nodes/ │ ├── __init__.py │ └── test/ │ ├── Color.py │ ├── GroupAttributes.py │ ├── InputDynamicOutputs.py │ ├── NestedTest.py │ ├── Position.py │ ├── __init__.py │ ├── appendFiles.py │ ├── appendText.py │ └── ls.py ├── plugins/ │ └── meshroom/ │ ├── pluginA/ │ │ ├── PluginAInputInitNode.py │ │ ├── PluginAInputNode.py │ │ ├── PluginANodeA.py │ │ ├── PluginANodeB.py │ │ └── __init__.py │ ├── pluginB/ │ │ ├── PluginBNodeA.py │ │ ├── PluginBNodeB.py │ │ └── __init__.py │ ├── pluginC/ │ │ ├── PluginCNodeA.py │ │ └── __init__.py │ ├── pluginSubmitter/ │ │ ├── PluginSubmitter.py │ │ └── __init__.py │ └── sharedTemplate.mg ├── test_attributeChoiceParam.py ├── test_attributeDescDefaults.py ├── test_attributeKeyValues.py ├── test_attributeLambda.py ├── test_attributeShape.py ├── test_attributes.py ├── test_compatibility.py ├── test_compute.py ├── test_graph.py ├── test_graphIO.py ├── test_groupAttributes.py ├── test_invalidation.py ├── test_listAttribute.py ├── test_model.py ├── test_nodeAttributeChangedCallback.py ├── test_nodeAttributesFormatting.py ├── test_nodeCallbacks.py ├── test_nodeCommandLineFormatting.py ├── test_nodeDynamicOutputs.py ├── test_nodes.py ├── test_pipeline.py ├── test_plugins.py ├── test_submit.py └── utils.py