mirror of
https://github.com/alicevision/Meshroom.git
synced 2025-06-06 04:41:58 +02:00
[ui] add partial graph submission up to a certain node
This commit is contained in:
parent
907c9cbcba
commit
25992286d0
4 changed files with 21 additions and 7 deletions
|
@ -1812,8 +1812,7 @@ def execute(graph, toNodes=None, forceCompute=False, forceStatus=False):
|
||||||
node.endSequence()
|
node.endSequence()
|
||||||
|
|
||||||
|
|
||||||
def submitGraph(graph, submitter, toNode=None):
|
def submitGraph(graph, submitter, toNodes=None):
|
||||||
toNodes = graph.findNodes([toNode]) if toNode else None
|
|
||||||
nodesToProcess, edgesToProcess = graph.dfsToProcess(startNodes=toNodes)
|
nodesToProcess, edgesToProcess = graph.dfsToProcess(startNodes=toNodes)
|
||||||
flowEdges = graph.flowEdges(startNodes=toNodes)
|
flowEdges = graph.flowEdges(startNodes=toNodes)
|
||||||
edgesToProcess = set(edgesToProcess).intersection(flowEdges)
|
edgesToProcess = set(edgesToProcess).intersection(flowEdges)
|
||||||
|
@ -1843,5 +1842,6 @@ def submit(graphFile, submitter, toNode=None):
|
||||||
Submit the given graph via the given submitter.
|
Submit the given graph via the given submitter.
|
||||||
"""
|
"""
|
||||||
graph = loadGraph(graphFile)
|
graph = loadGraph(graphFile)
|
||||||
submitGraph(graph, submitter, toNode)
|
toNodes = graph.findNodes([toNode]) if toNode else None
|
||||||
|
submitGraph(graph, submitter, toNodes)
|
||||||
|
|
||||||
|
|
|
@ -179,11 +179,18 @@ class UIGraph(QObject):
|
||||||
self._computeThread.join()
|
self._computeThread.join()
|
||||||
self.computeStatusChanged.emit()
|
self.computeStatusChanged.emit()
|
||||||
|
|
||||||
@Slot()
|
@Slot(graph.Node)
|
||||||
def submit(self):
|
def submit(self, node=None):
|
||||||
""" Submit the whole graph to the default Submitter. """
|
""" Submit the graph to the default Submitter.
|
||||||
|
If a node is specified, submit this node and its uncomputed predecessors.
|
||||||
|
Otherwise, submit the whole graph.
|
||||||
|
|
||||||
|
Notes:
|
||||||
|
Default submitter is specified using the MESHROOM_DEFAULT_SUBMITTER environment variable.
|
||||||
|
"""
|
||||||
self.save() # graph must be saved before being submitted
|
self.save() # graph must be saved before being submitted
|
||||||
graph.submitGraph(self._graph, os.environ.get('MESHROOM_DEFAULT_SUBMITTER', ''))
|
node = [node] if node else None
|
||||||
|
graph.submitGraph(self._graph, os.environ.get('MESHROOM_DEFAULT_SUBMITTER', ''), node)
|
||||||
|
|
||||||
def onChunkStatusChanged(self, chunk, status):
|
def onChunkStatusChanged(self, chunk, status):
|
||||||
# update graph computing status
|
# update graph computing status
|
||||||
|
|
|
@ -229,6 +229,7 @@ Item {
|
||||||
onDoubleClicked: root.nodeDoubleClicked(node)
|
onDoubleClicked: root.nodeDoubleClicked(node)
|
||||||
|
|
||||||
onComputeRequest: uigraph.execute(node)
|
onComputeRequest: uigraph.execute(node)
|
||||||
|
onSubmitRequest: uigraph.submit(node)
|
||||||
onRemoveRequest: uigraph.removeNode(node)
|
onRemoveRequest: uigraph.removeNode(node)
|
||||||
|
|
||||||
Keys.onDeletePressed: uigraph.removeNode(node)
|
Keys.onDeletePressed: uigraph.removeNode(node)
|
||||||
|
|
|
@ -15,6 +15,7 @@ Item {
|
||||||
signal attributePinCreated(var attribute, var pin)
|
signal attributePinCreated(var attribute, var pin)
|
||||||
|
|
||||||
signal computeRequest()
|
signal computeRequest()
|
||||||
|
signal submitRequest()
|
||||||
signal removeRequest()
|
signal removeRequest()
|
||||||
|
|
||||||
implicitHeight: body.height
|
implicitHeight: body.height
|
||||||
|
@ -40,6 +41,11 @@ Item {
|
||||||
enabled: !root.readOnly
|
enabled: !root.readOnly
|
||||||
onTriggered: root.computeRequest()
|
onTriggered: root.computeRequest()
|
||||||
}
|
}
|
||||||
|
MenuItem {
|
||||||
|
text: "Submit"
|
||||||
|
enabled: !root.readOnly
|
||||||
|
onTriggered: root.submitRequest()
|
||||||
|
}
|
||||||
MenuItem {
|
MenuItem {
|
||||||
text: "Open Folder"
|
text: "Open Folder"
|
||||||
onTriggered: Qt.openUrlExternally(node.internalFolder)
|
onTriggered: Qt.openUrlExternally(node.internalFolder)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue