diff --git a/meshroom/core/node.py b/meshroom/core/node.py index 969c7063..013d3753 100644 --- a/meshroom/core/node.py +++ b/meshroom/core/node.py @@ -551,6 +551,9 @@ class BaseNode(BaseObject): def alreadySubmittedChunks(self): return [ch for ch in self._chunks if ch.isAlreadySubmitted()] + def isExtern(self): + return self._chunks.at(0).isExtern() + @Slot() def clearSubmittedChunks(self): """ Reset all submitted chunks to Status.NONE. This method should be used to clear inconsistent status diff --git a/meshroom/core/taskManager.py b/meshroom/core/taskManager.py index bfee84df..4e774470 100644 --- a/meshroom/core/taskManager.py +++ b/meshroom/core/taskManager.py @@ -155,7 +155,16 @@ class TaskManager(BaseObject): self._nodesExtern = [] self._nodesToProcess = [] - + def update(self, graph): + """ + Add all the nodes that are being rendered in a renderfarm to the taskmanager when new graph is loaded + :param graph: + :return: + """ + for node in graph._nodes: + if node.isAlreadySubmitted() and node._chunks.size() > 0 and node.isExtern(): + self._nodes.add(node) + self._nodesExtern.append(node) def submit(self, graph=None, submitter=None, toNodes=None): """