diff --git a/core/monad.py b/core/monad.py index a79f390c3f19b451bbbb8f96e592751307e203e5..676a5d6e02c9a138190537611dc113ed9d168525 100644 --- a/core/monad.py +++ b/core/monad.py @@ -512,6 +512,7 @@ class SvGroupNodeExp: for index, data in enumerate(sockets_data_in): in_node.outputs[index].sv_set(data) + ul = make_tree_from_nodes([out_node.name], monad, down=False) do_update(ul, monad.nodes) @@ -534,10 +535,18 @@ class SvGroupNodeExp: sockets_in = [i.sv_get() for i in self.inputs] monad = self.monad + monad['current_total'] = iterations_remaining + monad['current_index'] = 0 + in_node = monad.input_node out_node = monad.output_node for iteration in range(iterations_remaining): + if 'Monad Info' in monad.nodes: + # info_node = monad.nodes['Monad Info'] + # info_node.outputs[0].sv_set([[iteration]]) + monad["current_index"] = iteration + sockets_in = self.do_process(sockets_in) self.apply_output(sockets_in) diff --git a/nodes/scene/monad.py b/nodes/scene/monad.py index 20e508634164dd5c238cad093ae68326e0c9aa63..bcd0b992f8c8c1215b910f8e498ad54a2a6259a8 100644 --- a/nodes/scene/monad.py +++ b/nodes/scene/monad.py @@ -224,6 +224,8 @@ class SvMonadInfoNode(bpy.types.Node, SverchCustomTreeNode): self.outputs.new('StringsSocket', "Loop Idx") self.outputs.new('StringsSocket', "Loop Total") + self.use_custom_color = True + self.color = monad_def.MONAD_COLOR if self.id_data.bl_idname == "SverchCustomTreeType": self.color = (0.9, 0, 0) @@ -233,7 +235,8 @@ class SvMonadInfoNode(bpy.types.Node, SverchCustomTreeNode): try: idx = monad["current_index"] total = monad["current_total"] - except: + except Exception as err: + print(repr(err)) idx, total = 0 , 0 print("couldn't find monad info")