def run(self): self.update_ports() for node in self.sub_graph_input_nodes: node._parent = self start_nodes = [] if self._marked_ports: for port in self._marked_ports: index = self.input_ports().index(port) for node in self.sub_graph_input_nodes: if node.get_property('input index') == index: start_nodes.append(node) self._marked_ports = [] else: start_nodes = self.sub_graph_input_nodes nodes = topological_sort_by_down(start_nodes=start_nodes) for node in nodes: if node.disabled(): node.when_disabled() else: node.cook() if node.has_error: self.error("/" + node.view.toolTip()) break
def update_nodes(nodes): _update_nodes(topological_sort_by_down(all_nodes=nodes))
def update_node_down_stream(nodes): if not isinstance(nodes, list): nodes = [nodes] _update_nodes(topological_sort_by_down(start_nodes=nodes))
def update_node_down_stream(node): _update_nodes(topological_sort_by_down(start_nodes=[node]))