From 9eccd9d8aa8b41cbe85fd397917c7dbf687c189a Mon Sep 17 00:00:00 2001 From: cgtinker Date: Mon, 12 Jun 2023 13:58:09 +0200 Subject: [PATCH 1/5] init loop nodes --- gui.py | 1 + nodes.py | 328 ++++++++++++++++++++++++++++++++++++++++++-- operators.py | 23 +++- rignode-loops.blend | Bin 0 -> 896556 bytes 4 files changed, 339 insertions(+), 13 deletions(-) create mode 100644 rignode-loops.blend diff --git a/gui.py b/gui.py index 59fe862..2700c6b 100644 --- a/gui.py +++ b/gui.py @@ -54,6 +54,7 @@ def draw_nodetree_header_menu(self, context): layout = self.layout row = layout.row(align=False) row.operator("rignodes.execute_tree", icon="PLAY") + row.operator("rignodes.prepare_tree", icon="NODETREE") row.prop(tree, "autorun") row.prop(context.scene, "rignodes_mode") row.operator("rignodes.rebuild_node") diff --git a/nodes.py b/nodes.py index 9fb4f1e..1da1160 100644 --- a/nodes.py +++ b/nodes.py @@ -4,7 +4,7 @@ import functools from collections import deque from copy import copy from math import degrees, radians -from typing import TypeVar, Callable, Optional, Iterable +from typing import TypeVar, Callable, Optional, Iterable, Set import bpy import nodeitems_utils @@ -65,21 +65,78 @@ class RigNodesNodeTree(bpy.types.NodeTree): return node return None - def _prepare_nodes(self) -> None: + def _reset_nodes(self) -> None: for node in self.nodes: node.reset_run() + def _prepare_nodes(self) -> None: + self._reset_nodes() + + # Find all loops in the tree. + output_nodes = list() + for node in self.nodes: + if isinstance(node, LoopOutputNode): + output_nodes.append(node) + + # Set iteration count foreach (nested) loop. + for output_node in output_nodes: + input_node = output_node._get_connection_node() + nodes = list(output_node._get_nodes_between(input_node)) + for node in nodes: + if node == output_node: + continue + node.iterations *= output_node.num_socks + + def _run_loop( + self, + node: "LoopInputNode", + depsgraph: bpy.types.Depsgraph, + to_visit: deque["AbstractRigNodesNode"], + depth: int = 1, + ) -> None: + """Run one iteration of a loop. + + :return: Node(s) to visit next.""" + + indent = '\t' * depth + print(f"{indent}\033[38;5;214mRunning {node}\033[0m") + + input_node = node + output_node = node._get_connection_node() + + while to_visit: + node = to_visit.popleft() + + nested_loop: Optional[deque[AbstractRigNodesNode]] = None + if isinstance(node, LoopInputNode) and node != input_node: + # Run nested loop. + nested_output_node = node._get_connection_node() + nested_loop = deque(nested_output_node._get_nodes_between(node)) + nested_loop.append(nested_output_node) + self._run_loop(node, depsgraph, nested_loop, depth+1) + # continue + + print(f"{indent}\t-{node}") + node.run(depsgraph) + # if node.iterations > 0: + # # Add output node for future iterations. + # to_visit.append(node) + + if node == output_node: + break + + def _run_from_node( self, depsgraph: bpy.types.Depsgraph, start_node: "AbstractRigNodesNode" ) -> None: # Execute the ForwardSolveNode and traverse its output connections - to_visit = deque([start_node]) + to_visit: deque[AbstractRigNodesNode] = deque([start_node]) visited = set() print(f"\033[38;5;214mRunning tree {self.name}\033[0m") while to_visit: node: AbstractRigNodesNode = to_visit[0] - print(f" - {node}") + print(f"\t- {node}") nodes_before = list(node.exec_order_prerequisites()) if nodes_before: @@ -88,6 +145,11 @@ class RigNodesNodeTree(bpy.types.NodeTree): to_visit.extendleft(reversed(nodes_before)) continue + if isinstance(node, LoopInputNode): + # Run one iteration if the found loop (recursive if nested). + self._run_loop(node, depsgraph, to_visit) + continue + # Everything that this node depends on has run, so time to run it # itself. It can be taken off the queue. to_visit.popleft() @@ -164,6 +226,7 @@ class AbstractRigNodesNode(bpy.types.Node): description="Error message; if empty, everything is fine", update=_on_node_error_updated, ) + iterations: bpy.props.IntProperty(name="Iterations", default=1) # type: ignore def init(self, context: bpy.types.Context) -> None: pass @@ -179,6 +242,9 @@ class AbstractRigNodesNode(bpy.types.Node): else: layout.label(text="did not run", icon="PAUSE") + if context.preferences.view.show_developer_ui: + layout.prop(self, "iterations") + if self.error: layout.label(text=self.error, icon="ERROR") @@ -199,10 +265,29 @@ class AbstractRigNodesNode(bpy.types.Node): sock.hide_value = True return sock + @property + def _inputs(self): + return self.inputs + + @property + def _outputs(self): + return self.outputs + + def _get_nodes_between( + self, to_node: "AbstractRigNodesNode" + ) -> Iterable["AbstractRigNodesNode"]: + # TODO: the naming is bad here I think. Check that it's actually from -> to or to -> from + nodes = list(self._connected_nodes(self._inputs, "from_socket")) + + if not to_node in nodes and len(nodes) > 0: + from_node = nodes[-1] + yield from from_node._get_nodes_between(to_node) + yield from nodes + def exec_order_prerequisites(self) -> Iterable["AbstractRigNodesNode"]: """Generator, yields the nodes that should be executed before this one.""" # For input execution order, consider all connected nodes regardless of socket types. - return self._connected_nodes(self.inputs, "from_socket") + return self._connected_nodes(self._inputs, "from_socket") def exec_order_successors(self) -> Iterable["AbstractRigNodesNode"]: """Generator, yields the nodes that should be executed after this one.""" @@ -213,7 +298,7 @@ class AbstractRigNodesNode(bpy.types.Node): socket.node, AbstractAlwaysExecuteNode ) - return self._connected_nodes(self.outputs, "to_socket", follow_socket) + return self._connected_nodes(self._outputs, "to_socket", follow_socket) def _connected_nodes( self, @@ -259,7 +344,9 @@ class AbstractRigNodesNode(bpy.types.Node): self.error = str(ex) raise finally: - self.has_run = True + self.iterations -= 1 + if self.iterations == 0: + self.has_run = True def __str__(self) -> str: return f"{self.__class__.__name__}({self.name!r})" @@ -267,6 +354,7 @@ class AbstractRigNodesNode(bpy.types.Node): def reset_run(self) -> None: self.has_run = False self.error = "" + self.iterations = 1 def _get_input_socket_value(self, input_socket: bpy.types.NodeSocket) -> object: for link in input_socket.links: @@ -415,6 +503,222 @@ class AbstractRigNodesNode(bpy.types.Node): tree.links.new(from_socket, to_socket) +def _on_update_recreate_node(self: "SequenceNode", context: bpy.types.Context) -> None: + self.recreate(context) + + +_enum_loop_dtype = ( + ("OBJECT", "Object", ""), + ("VECTOR", "Vector", ""), + ("QUATERNION", "Rotation", ""), + ("VALUE", "Value", ""), +) + + +class LoopInputNode(AbstractRigNodesNode): + bl_idname = "LoopInputNode" + bl_label = "Loop Input Node" + bl_icon = "LOOP_FORWARDS" + + dtype: bpy.props.EnumProperty( # type: ignore + name="Type", + items=_enum_loop_dtype, + default="OBJECT", + update=_on_update_recreate_node, + ) + + num_socks: bpy.props.IntProperty( # type: ignore + name="Number of Sockets", + default=2, + update=_on_update_recreate_node, + ) + + index: bpy.props.IntProperty(name="Index", default=0) # type: ignore + + def draw_buttons( + self, context: bpy.types.Context, layout: bpy.types.UILayout + ) -> None: + super().draw_buttons(context, layout) + layout.prop(self, "dtype") + layout.prop(self, "num_socks") + layout.prop(self, "index") + + # 67649: The socket_value_update fn does not work when changing values in a node tree. + # Therefore using update for prototying. + def update(self): + if "Loop Connection" in self.outputs: + setattr(self.outputs["Loop Connection"], "default_value", self.num_socks) + + def _get_connection_node(self) -> "LoopOutputNode": + # The 'Loop Connection' should be connected to a 'Loop Input Node', + # otherwise the loop won't be executed. + for socket in self.outputs[:1]: + for link in socket.links[:1]: + connected_socket = getattr(link, "to_socket") + if not hasattr(connected_socket, "node"): + raise RuntimeError( + "Loop Output Node is required to execute a loop." + ) + + if isinstance(connected_socket.node, LoopOutputNode): + return connected_socket.node + raise RuntimeError("Loop Output Node is required to execute a loop.") + + def reset_run(self): + super().reset_run() + self.index = 0 + + def init(self, context: bpy.types.Context) -> None: + for index in range(self.num_socks): + match self.dtype: + case "OBJECT": + self.inputs.new("NodeSocketObject", f"Object {index+1}") + case "VECTOR": + self.inputs.new("NodeSocketVector", f"Vector {index+1}") + case "QUATERNION": + self.inputs.new("NodeSocketQuaternion", f"Rotation {index+1}") + case "VALUE": + self.inputs.new("NodeSocketFloat", f"Value {index+1}") + + self.outputs.new("NodeSocketInt", "Loop Connection") + + match self.dtype: + case "OBJECT": + self.outputs.new("NodeSocketObject", f"Object") + case "VECTOR": + self.outputs.new("NodeSocketVector", f"Vector") + case "QUATERNION": + self.outputs.new("NodeSocketQuaternion", f"Rotation") + case "VALUE": + self.outputs.new("NodeSocketFloat", f"Value") + + def execute(self, depsgraph: bpy.types.Depsgraph) -> None: + if self.index == self.num_socks: + self.index = 0 + + self.index += 1 + index = self.index + + match self.dtype: + case "OBJECT": + obj = self._get_input_value(f"Object {index}", bpy.types.Object) + self.outputs["Object"].default_value = obj + case "VECTOR": + value = self._get_input_value(f"Vector {index}", Vector) + self.outputs["Vector"].default_value = value + case "QUATERNION": + value = self._get_input_value(f"Quaternion {index}", Quaternion) + self.outputs["Rotation"].default_value = value + case "VALUE": + value = self._get_input_value(f"Value {index}", float) + self.outputs["Value"].default_value = value + + +class LoopOutputNode(AbstractRigNodesNode): + bl_idname = "LoopOutputNode" + bl_label = "Loop Output Node" + bl_icon = "LOOP_BACK" + + dtype: bpy.props.EnumProperty( # type: ignore + name="Type", + items=_enum_loop_dtype, + default="OBJECT", + update=_on_update_recreate_node, + ) + + num_socks: bpy.props.IntProperty( # type: ignore + name="Number of Sockets", + default=2, + update=_on_update_recreate_node, + ) + + index: bpy.props.IntProperty(name="Index", default=0) # type: ignore + + def draw_buttons( + self, context: bpy.types.Context, layout: bpy.types.UILayout + ) -> None: + super().draw_buttons(context, layout) + layout.prop(self, "dtype") + layout.prop(self, "index") + + def _get_connection_node(self) -> "LoopInputNode": + # The 'Loop Connection' should be connected to a 'Loop Input Node', + # otherwise the loop won't be executed. + for socket in self.inputs[:1]: + for link in socket.links[:1]: + connected_socket = getattr(link, "from_socket") + if not hasattr(connected_socket, "node"): + raise RuntimeError("Loop Input Node is required to execute a loop.") + + if isinstance(connected_socket.node, LoopInputNode): + return connected_socket.node + raise RuntimeError("Loop Input Node is required to execute a loop.") + + @AbstractRigNodesNode._inputs.getter # type: ignore + def _inputs(self): + return self.inputs[1:] + + def init(self, context: bpy.types.Context) -> None: + self.inputs.new("NodeSocketInt", "Loop Connection") + match self.dtype: + case "OBJECT": + self.inputs.new("NodeSocketObject", f"Object") + case "VECTOR": + self.inputs.new("NodeSocketVector", f"Vector") + case "QUATERNION": + self.inputs.new("NodeSocketQuaternion", f"Rotation") + case "VALUE": + self.inputs.new("NodeSocketFloat", f"Value") + + for index in range(self.num_socks): + match self.dtype: + case "OBJECT": + self.outputs.new("NodeSocketObject", f"Object {index+1}") + case "VECTOR": + self.outputs.new("NodeSocketVector", f"Vector {index+1}") + case "QUATERNION": + self.outputs.new("NodeSocketQuaternion", f"Rotation {index+1}") + case "VALUE": + self.outputs.new("NodeSocketFloat", f"Value {index+1}") + + def execute(self, depsgraph: bpy.types.Depsgraph) -> None: + if self.index == self.num_socks: + self.index = 0 + + self.index += 1 + index = self.index + + match self.dtype: + case "OBJECT": + obj = self._get_input_value(f"Object", bpy.types.Object) + self.outputs[f"Object {index}"].default_value = obj + case "VECTOR": + obj = self._get_input_value(f"Vector", Vector) + self.outputs[f"Vector {index}"].default_value = obj + case "QUATERNION": + obj = self._get_input_value(f"Rotation", Quaternion) + self.outputs[f"Rotation {index}"].default_value = obj + case "VALUE": + obj = self._get_input_value(f"Value", float) + self.outputs[f"Value {index}"].default_value = obj + + def reset_run(self) -> None: + super().reset_run() + self.index = 0 + self.iterations = self.num_socks + + # 67649: The socket_value_update fn does not work when changing values in a node tree. + # Therefore using update for prototying the loop function. + # This allows to dynamically change the sockets based loop input socket amount. + def update(self): + if "Loop Connection" not in self.inputs: + return + + val = self._get_optional_input_value("Loop Connection", int) + if val != self.num_socks and isinstance(val, int): + self.num_socks = val + + class AbstractRigNodesEventNode(AbstractRigNodesNode): """Node that can only exist once in a tree.""" @@ -1232,10 +1536,6 @@ class ClampNode(AbstractRigNodesNode): self.outputs["Result"].default_value = clamped -def _on_num_sockets_change(self: "SequenceNode", context: bpy.types.Context) -> None: - self.recreate(context) - - class SequenceNode(AbstractRigNodesNode): """Multiple 'Execute' node sockets.""" @@ -1246,7 +1546,7 @@ class SequenceNode(AbstractRigNodesNode): num_socks: bpy.props.IntProperty( # type: ignore name="Number of Sockets", default=2, - update=_on_num_sockets_change, + update=_on_update_recreate_node, ) def draw_buttons( @@ -1307,6 +1607,8 @@ node_categories = [ "Flow", items=[ nodeitems_utils.NodeItem("SequenceNode"), + nodeitems_utils.NodeItem("LoopInputNode"), + nodeitems_utils.NodeItem("LoopOutputNode"), ], ), RigNodesNodeCategory( @@ -1371,6 +1673,8 @@ classes = ( TwoBoneIKNode, SetCursorNode, SequenceNode, + LoopInputNode, + LoopOutputNode, # Math Nodes RotateTowards, AngleFromVectors, diff --git a/operators.py b/operators.py index 1951982..a2368b7 100644 --- a/operators.py +++ b/operators.py @@ -56,6 +56,27 @@ class RigNodes_OT_snap_to_bone(bpy.types.Operator): snap_to_bone(context.object, context.view_layer.depsgraph) return {"FINISHED"} +class RigNodes_OT_prepare_tree(bpy.types.Operator): + """Prepare node tree manually.""" -classes = (RigNodes_OT_snap_to_bone,) + bl_idname = "rignodes.prepare_tree" + bl_label = "Prepare Tree" + bl_options = {"REGISTER", "UNDO"} + + @classmethod + def poll(cls, context: bpy.types.Context) -> bool: + return bool(context.object) and context.preferences.view.show_developer_ui + + def execute(self, context: bpy.types.Context) -> set[str]: + for tree in bpy.data.node_groups: + if tree.bl_idname != "RigNodesNodeTree": + continue + if tree.is_running: + continue + tree._prepare_nodes() + + return {"FINISHED"} + + +classes = (RigNodes_OT_snap_to_bone, RigNodes_OT_prepare_tree,) register, unregister = bpy.utils.register_classes_factory(classes) diff --git a/rignode-loops.blend b/rignode-loops.blend new file mode 100644 index 0000000000000000000000000000000000000000..88fb64dbb793a288e7420e62202df67682f62674 GIT binary patch literal 896556 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

X0hHRCB4;!`e6Cv5pea=FOPd3{QU?}VxB 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 P&#jl8J3^J^Kfiwgm^!TW literal 0 HcmV?d00001 -- 2.30.2 From ce870e8f612d026d87e078f8657caad5044664cb Mon Sep 17 00:00:00 2001 From: cgtinker Date: Mon, 12 Jun 2023 14:58:18 +0200 Subject: [PATCH 2/5] allow deep nesting --- nodes.py | 42 ++++++++++++++++++++++++++++++------------ rignode-loops.blend | Bin 896556 -> 916924 bytes 2 files changed, 30 insertions(+), 12 deletions(-) diff --git a/nodes.py b/nodes.py index 1da1160..a47abdd 100644 --- a/nodes.py +++ b/nodes.py @@ -93,38 +93,52 @@ class RigNodesNodeTree(bpy.types.NodeTree): depsgraph: bpy.types.Depsgraph, to_visit: deque["AbstractRigNodesNode"], depth: int = 1, - ) -> None: + ) -> deque['AbstractRigNodesNode']: """Run one iteration of a loop. :return: Node(s) to visit next.""" indent = '\t' * depth print(f"{indent}\033[38;5;214mRunning {node}\033[0m") - + input_node = node output_node = node._get_connection_node() + visited: Set["AbstractRigNodesNode"] = set() while to_visit: node = to_visit.popleft() - nested_loop: Optional[deque[AbstractRigNodesNode]] = None if isinstance(node, LoopInputNode) and node != input_node: - # Run nested loop. + # Find the nested loop. nested_output_node = node._get_connection_node() nested_loop = deque(nested_output_node._get_nodes_between(node)) nested_loop.append(nested_output_node) - self._run_loop(node, depsgraph, nested_loop, depth+1) - # continue - print(f"{indent}\t-{node}") + # Don't revisit nested nodes in the parent loop. + for nested_node in nested_loop: + visited.add(nested_node) + + # Run the nested loop using the current inputs. + for _ in range(node.num_socks): + self._run_loop(node, depsgraph, nested_loop.copy(), depth+1) + continue + + + if node in visited: + # Nested nodes are added to visited nodes as they get executed in advance. + # A Node can alsp be visited when a node has inputs from two different + # nodes; both of those will list this node as 'successor'. + continue + + print(f"{indent}\tRunning: {node}, remaining runs: {node.iterations}") + visited.add(node) node.run(depsgraph) - # if node.iterations > 0: - # # Add output node for future iterations. - # to_visit.append(node) if node == output_node: break + return to_visit + def _run_from_node( self, depsgraph: bpy.types.Depsgraph, start_node: "AbstractRigNodesNode" @@ -136,7 +150,7 @@ class RigNodesNodeTree(bpy.types.NodeTree): print(f"\033[38;5;214mRunning tree {self.name}\033[0m") while to_visit: node: AbstractRigNodesNode = to_visit[0] - print(f"\t- {node}") + print(f"\t- Visiting {node}") nodes_before = list(node.exec_order_prerequisites()) if nodes_before: @@ -146,7 +160,10 @@ class RigNodesNodeTree(bpy.types.NodeTree): continue if isinstance(node, LoopInputNode): - # Run one iteration if the found loop (recursive if nested). + # Run all iterations if the found loop (recursive if nested). + # nested_output_node = node._get_connection_node() + # nested_loop = deque(nested_output_node._get_nodes_between(node)) + # nested_loop.append(nested_output_node) self._run_loop(node, depsgraph, to_visit) continue @@ -161,6 +178,7 @@ class RigNodesNodeTree(bpy.types.NodeTree): continue visited.add(node) + print(f"\tRunning: {node}") node.run(depsgraph) # Queue up the next nodes. diff --git a/rignode-loops.blend b/rignode-loops.blend index 88fb64dbb793a288e7420e62202df67682f62674..0642105014ca7fd926be490fa522debbe092c361 100644 GIT binary patch delta 112947 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 -- 2.30.2 From 764420af01850871f404c48936a169c5d2889501 Mon Sep 17 00:00:00 2001 From: cgtinker Date: Mon, 12 Jun 2023 15:42:33 +0200 Subject: [PATCH 3/5] object node and refactoring --- gui.py | 3 +- nodes.py | 125 +++++++++++++++++++++++++++----------------- operators.py | 2 +- rignode-loops.blend | Bin 916924 -> 918220 bytes 4 files changed, 80 insertions(+), 50 deletions(-) diff --git a/gui.py b/gui.py index 2700c6b..2f468b4 100644 --- a/gui.py +++ b/gui.py @@ -1,6 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-or-later import bpy +from typing import List class RIGNODES_MT_snap_pie(bpy.types.Menu): @@ -60,7 +61,7 @@ def draw_nodetree_header_menu(self, context): row.operator("rignodes.rebuild_node") -addon_keymaps = [] +addon_keymaps: List[bpy.types.KeyMap] = [] classes = (RIGNODES_MT_snap_pie,) _register, _unregister = bpy.utils.register_classes_factory(classes) diff --git a/nodes.py b/nodes.py index a47abdd..3ae5c65 100644 --- a/nodes.py +++ b/nodes.py @@ -81,7 +81,7 @@ class RigNodesNodeTree(bpy.types.NodeTree): # Set iteration count foreach (nested) loop. for output_node in output_nodes: input_node = output_node._get_connection_node() - nodes = list(output_node._get_nodes_between(input_node)) + nodes = list(output_node._get_loop_nodes(input_node)) for node in nodes: if node == output_node: continue @@ -93,14 +93,14 @@ class RigNodesNodeTree(bpy.types.NodeTree): depsgraph: bpy.types.Depsgraph, to_visit: deque["AbstractRigNodesNode"], depth: int = 1, - ) -> deque['AbstractRigNodesNode']: - """Run one iteration of a loop. + ) -> deque["AbstractRigNodesNode"]: + """Runs (nested) loops. :return: Node(s) to visit next.""" - indent = '\t' * depth + indent = "\t" * depth print(f"{indent}\033[38;5;214mRunning {node}\033[0m") - + input_node = node output_node = node._get_connection_node() visited: Set["AbstractRigNodesNode"] = set() @@ -111,7 +111,7 @@ class RigNodesNodeTree(bpy.types.NodeTree): if isinstance(node, LoopInputNode) and node != input_node: # Find the nested loop. nested_output_node = node._get_connection_node() - nested_loop = deque(nested_output_node._get_nodes_between(node)) + nested_loop = deque(nested_output_node._get_loop_nodes(node)) nested_loop.append(nested_output_node) # Don't revisit nested nodes in the parent loop. @@ -120,13 +120,12 @@ class RigNodesNodeTree(bpy.types.NodeTree): # Run the nested loop using the current inputs. for _ in range(node.num_socks): - self._run_loop(node, depsgraph, nested_loop.copy(), depth+1) + self._run_loop(node, depsgraph, nested_loop.copy(), depth + 1) continue - - + if node in visited: # Nested nodes are added to visited nodes as they get executed in advance. - # A Node can alsp be visited when a node has inputs from two different + # A Node can also be visited when a node has inputs from two different # nodes; both of those will list this node as 'successor'. continue @@ -139,7 +138,6 @@ class RigNodesNodeTree(bpy.types.NodeTree): return to_visit - def _run_from_node( self, depsgraph: bpy.types.Depsgraph, start_node: "AbstractRigNodesNode" ) -> None: @@ -160,11 +158,22 @@ class RigNodesNodeTree(bpy.types.NodeTree): continue if isinstance(node, LoopInputNode): - # Run all iterations if the found loop (recursive if nested). - # nested_output_node = node._get_connection_node() - # nested_loop = deque(nested_output_node._get_nodes_between(node)) - # nested_loop.append(nested_output_node) - self._run_loop(node, depsgraph, to_visit) + if node in visited: + to_visit.popleft() + continue + + # Find the loop. + output_node = node._get_connection_node() + loop = deque(output_node._get_loop_nodes(node)) + loop.append(output_node) + + # Add (nested) loop nodes to visited. + for loop_node in loop: + visited.add(loop_node) + + # Run all iterations of the found loop (recursive if nested). + for _ in range(0, output_node.num_socks): + self._run_loop(node, depsgraph, to_visit.copy()) continue # Everything that this node depends on has run, so time to run it @@ -291,15 +300,15 @@ class AbstractRigNodesNode(bpy.types.Node): def _outputs(self): return self.outputs - def _get_nodes_between( - self, to_node: "AbstractRigNodesNode" + def _get_loop_nodes( + self: "LoopOutputNode", input_node: "LoopInputNode" ) -> Iterable["AbstractRigNodesNode"]: - # TODO: the naming is bad here I think. Check that it's actually from -> to or to -> from + """Generator, yields nodes that should be executed before the loop output node.""" nodes = list(self._connected_nodes(self._inputs, "from_socket")) - if not to_node in nodes and len(nodes) > 0: + if not input_node in nodes and len(nodes) > 0: from_node = nodes[-1] - yield from from_node._get_nodes_between(to_node) + yield from from_node._get_loop_nodes(input_node) yield from nodes def exec_order_prerequisites(self) -> Iterable["AbstractRigNodesNode"]: @@ -521,6 +530,20 @@ class AbstractRigNodesNode(bpy.types.Node): tree.links.new(from_socket, to_socket) +class ObjectInputNode(AbstractRigNodesNode): + bl_idname = "ObjectInputNode" + bl_label = "Object Input Node" + bl_icon = "EMPTY_ARROWS" + + def init(self, context: bpy.types.Context) -> None: + self.inputs.new("NodeSocketObject", f"Object") + self.outputs.new("NodeSocketObject", f"Object") + + def execute(self, depsgraph: bpy.types.Depsgraph) -> None: + obj = self._get_input_value(f"Object", bpy.types.Object) + self.outputs["Object"].default_value = obj + + def _on_update_recreate_node(self: "SequenceNode", context: bpy.types.Context) -> None: self.recreate(context) @@ -559,13 +582,6 @@ class LoopInputNode(AbstractRigNodesNode): super().draw_buttons(context, layout) layout.prop(self, "dtype") layout.prop(self, "num_socks") - layout.prop(self, "index") - - # 67649: The socket_value_update fn does not work when changing values in a node tree. - # Therefore using update for prototying. - def update(self): - if "Loop Connection" in self.outputs: - setattr(self.outputs["Loop Connection"], "default_value", self.num_socks) def _get_connection_node(self) -> "LoopOutputNode": # The 'Loop Connection' should be connected to a 'Loop Input Node', @@ -582,6 +598,12 @@ class LoopInputNode(AbstractRigNodesNode): return connected_socket.node raise RuntimeError("Loop Output Node is required to execute a loop.") + # 67649: The socket_value_update fn does not work when changing values in a node tree. + # Therefore using update for prototying. + def update(self): + if "Loop Connection" in self.outputs: + setattr(self.outputs["Loop Connection"], "default_value", self.num_socks) + def reset_run(self): super().reset_run() self.index = 0 @@ -657,7 +679,10 @@ class LoopOutputNode(AbstractRigNodesNode): ) -> None: super().draw_buttons(context, layout) layout.prop(self, "dtype") - layout.prop(self, "index") + + @AbstractRigNodesNode._inputs.getter # type: ignore + def _inputs(self): + return self.inputs[1:] def _get_connection_node(self) -> "LoopInputNode": # The 'Loop Connection' should be connected to a 'Loop Input Node', @@ -672,9 +697,21 @@ class LoopOutputNode(AbstractRigNodesNode): return connected_socket.node raise RuntimeError("Loop Input Node is required to execute a loop.") - @AbstractRigNodesNode._inputs.getter # type: ignore - def _inputs(self): - return self.inputs[1:] + def reset_run(self) -> None: + super().reset_run() + self.index = 0 + self.iterations = self.num_socks + + # 67649: The socket_value_update fn does not work when changing values in a node tree. + # Therefore using update for prototying the loop function. + # This allows to dynamically change the sockets based loop input socket amount. + def update(self): + if "Loop Connection" not in self.inputs: + return + + val = self._get_optional_input_value("Loop Connection", int) + if val != self.num_socks and isinstance(val, int): + self.num_socks = val def init(self, context: bpy.types.Context) -> None: self.inputs.new("NodeSocketInt", "Loop Connection") @@ -720,22 +757,6 @@ class LoopOutputNode(AbstractRigNodesNode): obj = self._get_input_value(f"Value", float) self.outputs[f"Value {index}"].default_value = obj - def reset_run(self) -> None: - super().reset_run() - self.index = 0 - self.iterations = self.num_socks - - # 67649: The socket_value_update fn does not work when changing values in a node tree. - # Therefore using update for prototying the loop function. - # This allows to dynamically change the sockets based loop input socket amount. - def update(self): - if "Loop Connection" not in self.inputs: - return - - val = self._get_optional_input_value("Loop Connection", int) - if val != self.num_socks and isinstance(val, int): - self.num_socks = val - class AbstractRigNodesEventNode(AbstractRigNodesNode): """Node that can only exist once in a tree.""" @@ -1629,6 +1650,13 @@ node_categories = [ nodeitems_utils.NodeItem("LoopOutputNode"), ], ), + RigNodesNodeCategory( + "INPUTS", + "Inputs", + items=[ + nodeitems_utils.NodeItem("ObjectInputNode"), + ], + ), RigNodesNodeCategory( "CONTROL", "Control", @@ -1693,6 +1721,7 @@ classes = ( SequenceNode, LoopInputNode, LoopOutputNode, + ObjectInputNode, # Math Nodes RotateTowards, AngleFromVectors, diff --git a/operators.py b/operators.py index a2368b7..eea3a27 100644 --- a/operators.py +++ b/operators.py @@ -60,7 +60,7 @@ class RigNodes_OT_prepare_tree(bpy.types.Operator): """Prepare node tree manually.""" bl_idname = "rignodes.prepare_tree" - bl_label = "Prepare Tree" + bl_label = "Reset Tree" bl_options = {"REGISTER", "UNDO"} @classmethod diff --git a/rignode-loops.blend b/rignode-loops.blend index 0642105014ca7fd926be490fa522debbe092c361..36a8b7657b24380835a31e8c71d43340685d1126 100644 GIT binary patch delta 39999 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 D$%M&_ -- 2.30.2 From 7d6e4555186417ed2c224cfc93609fb8cb976daf Mon Sep 17 00:00:00 2001 From: cgtinker Date: Tue, 13 Jun 2023 13:18:16 +0200 Subject: [PATCH 4/5] fix looping nodes cycles in loops --- nodes.py | 53 ++++++++++++++++++++++++-------------------- rignode-loops.blend | Bin 918220 -> 964776 bytes 2 files changed, 29 insertions(+), 24 deletions(-) diff --git a/nodes.py b/nodes.py index 3ae5c65..3a55ef7 100644 --- a/nodes.py +++ b/nodes.py @@ -81,10 +81,7 @@ class RigNodesNodeTree(bpy.types.NodeTree): # Set iteration count foreach (nested) loop. for output_node in output_nodes: input_node = output_node._get_connection_node() - nodes = list(output_node._get_loop_nodes(input_node)) - for node in nodes: - if node == output_node: - continue + for node in output_node._get_innern_loop_nodes(input_node): node.iterations *= output_node.num_socks def _run_loop( @@ -108,10 +105,17 @@ class RigNodesNodeTree(bpy.types.NodeTree): while to_visit: node = to_visit.popleft() + if node in visited: + # Nested nodes are added to visited nodes as they get executed in advance. + # A Node can also be visited when a node has inputs from two different + # nodes; both of those will list this node as 'successor'. + continue + if isinstance(node, LoopInputNode) and node != input_node: # Find the nested loop. nested_output_node = node._get_connection_node() - nested_loop = deque(nested_output_node._get_loop_nodes(node)) + nested_loop = deque(nested_output_node._get_innern_loop_nodes(node)) + nested_loop.appendleft(node) nested_loop.append(nested_output_node) # Don't revisit nested nodes in the parent loop. @@ -123,12 +127,6 @@ class RigNodesNodeTree(bpy.types.NodeTree): self._run_loop(node, depsgraph, nested_loop.copy(), depth + 1) continue - if node in visited: - # Nested nodes are added to visited nodes as they get executed in advance. - # A Node can also be visited when a node has inputs from two different - # nodes; both of those will list this node as 'successor'. - continue - print(f"{indent}\tRunning: {node}, remaining runs: {node.iterations}") visited.add(node) node.run(depsgraph) @@ -164,17 +162,17 @@ class RigNodesNodeTree(bpy.types.NodeTree): # Find the loop. output_node = node._get_connection_node() - loop = deque(output_node._get_loop_nodes(node)) - loop.append(output_node) + innern_loop = deque(output_node._get_innern_loop_nodes(node)) # Add (nested) loop nodes to visited. - for loop_node in loop: + visited.add(node) + visited.add(output_node) + for loop_node in innern_loop: visited.add(loop_node) # Run all iterations of the found loop (recursive if nested). for _ in range(0, output_node.num_socks): self._run_loop(node, depsgraph, to_visit.copy()) - continue # Everything that this node depends on has run, so time to run it # itself. It can be taken off the queue. @@ -300,16 +298,23 @@ class AbstractRigNodesNode(bpy.types.Node): def _outputs(self): return self.outputs - def _get_loop_nodes( - self: "LoopOutputNode", input_node: "LoopInputNode" + def _get_innern_loop_nodes( + self: "LoopOutputNode", input_node: "LoopInputNode", ) -> Iterable["AbstractRigNodesNode"]: - """Generator, yields nodes that should be executed before the loop output node.""" - nodes = list(self._connected_nodes(self._inputs, "from_socket")) + """Generator, yields nodes between the loop input and the loop output node""" + visited: Set["AbstractRigNodesNode"] = set() + to_visit = [self] - if not input_node in nodes and len(nodes) > 0: - from_node = nodes[-1] - yield from from_node._get_loop_nodes(input_node) - yield from nodes + while to_visit: + from_node = to_visit.pop() + for node in from_node.exec_order_prerequisites(): + if node in visited: + continue + + visited.add(node) + if node != input_node: + to_visit.append(node) + yield node def exec_order_prerequisites(self) -> Iterable["AbstractRigNodesNode"]: """Generator, yields the nodes that should be executed before this one.""" @@ -593,7 +598,6 @@ class LoopInputNode(AbstractRigNodesNode): raise RuntimeError( "Loop Output Node is required to execute a loop." ) - if isinstance(connected_socket.node, LoopOutputNode): return connected_socket.node raise RuntimeError("Loop Output Node is required to execute a loop.") @@ -607,6 +611,7 @@ class LoopInputNode(AbstractRigNodesNode): def reset_run(self): super().reset_run() self.index = 0 + self.iterations = self.num_socks def init(self, context: bpy.types.Context) -> None: for index in range(self.num_socks): diff --git a/rignode-loops.blend b/rignode-loops.blend index 36a8b7657b24380835a31e8c71d43340685d1126..d43462be2cc4850df66886ac4334fdb4afc7ec24 100644 GIT binary patch delta 126954 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 l7eGT`j1b5pRfJd1KKteEnbz9kuZKR|-Jkn -- 2.30.2 From 30fd4a91da5e44a843bdbce077c1b3fb0cf1d330 Mon Sep 17 00:00:00 2001 From: cgtinker Date: Tue, 13 Jun 2023 13:48:24 +0200 Subject: [PATCH 5/5] small refactoring --- nodes.py | 17 ++++++++++------- rignode-loops.blend | Bin 964776 -> 964776 bytes 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/nodes.py b/nodes.py index 3a55ef7..2793282 100644 --- a/nodes.py +++ b/nodes.py @@ -73,10 +73,7 @@ class RigNodesNodeTree(bpy.types.NodeTree): self._reset_nodes() # Find all loops in the tree. - output_nodes = list() - for node in self.nodes: - if isinstance(node, LoopOutputNode): - output_nodes.append(node) + output_nodes = (node for node in self.nodes if isinstance(node, LoopOutputNode)) # Set iteration count foreach (nested) loop. for output_node in output_nodes: @@ -93,7 +90,8 @@ class RigNodesNodeTree(bpy.types.NodeTree): ) -> deque["AbstractRigNodesNode"]: """Runs (nested) loops. - :return: Node(s) to visit next.""" + :return: Node(s) to visit next. + """ indent = "\t" * depth print(f"{indent}\033[38;5;214mRunning {node}\033[0m") @@ -299,7 +297,8 @@ class AbstractRigNodesNode(bpy.types.Node): return self.outputs def _get_innern_loop_nodes( - self: "LoopOutputNode", input_node: "LoopInputNode", + self: "LoopOutputNode", + input_node: "LoopInputNode", ) -> Iterable["AbstractRigNodesNode"]: """Generator, yields nodes between the loop input and the loop output node""" visited: Set["AbstractRigNodesNode"] = set() @@ -377,7 +376,7 @@ class AbstractRigNodesNode(bpy.types.Node): raise finally: self.iterations -= 1 - if self.iterations == 0: + if self.iterations <= 0: self.has_run = True def __str__(self) -> str: @@ -613,6 +612,10 @@ class LoopInputNode(AbstractRigNodesNode): self.index = 0 self.iterations = self.num_socks + @AbstractRigNodesNode._outputs.getter # type: ignore + def _outputs(self): + return self.outputs[1:] + def init(self, context: bpy.types.Context) -> None: for index in range(self.num_socks): match self.dtype: diff --git a/rignode-loops.blend b/rignode-loops.blend index d43462be2cc4850df66886ac4334fdb4afc7ec24..b3d7362dac22d7a7fbfd19a572c96aa884b0c1db 100644 GIT binary patch delta 19360 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 Z^~P)XS9x2B-TT&U#r4+hnScD}{|37^Vc7rx -- 2.30.2