Skip to content

Commit c93efdd

Browse files
committed
feat: clean up zone processing
1 parent 10f936b commit c93efdd

File tree

2 files changed

+9
-16
lines changed

2 files changed

+9
-16
lines changed

NodeToPython/geometry/node_tree.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import bpy
2-
from bpy.types import GeometryNodeTree
2+
from bpy.types import GeometryNodeTree, GeometryNode
33

44
if bpy.app.version >= (3, 6, 0):
55
from bpy.types import GeometryNodeSimulationInput
@@ -15,9 +15,10 @@
1515
class NTP_GeoNodeTree(NTP_NodeTree):
1616
def __init__(self, node_tree: GeometryNodeTree, var: str):
1717
super().__init__(node_tree, var)
18+
self.zone_inputs_: dict[list[GeometryNode]] = {}
1819
if bpy.app.version >= (3, 6, 0):
19-
self.sim_inputs: list[GeometryNodeSimulationInput] = []
20+
self.zone_inputs_["GeometryNodeSimulationInput"] = []
2021
if bpy.app.version >= (4, 0, 0):
21-
self.repeat_inputs: list[GeometryNodeRepeatInput] = []
22+
self.zone_inputs_["GeometryNodeRepeatInput"] = []
2223
if bpy.app.version >= (4, 3, 0):
23-
self.foreach_element_inputs: list[GeometryNodeForeachGeometryElementInput] = []
24+
self.zone_inputs_["GeometryNodeForeachGeometryElementInput"] = []

NodeToPython/geometry/operator.py

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,8 @@ def _process_node(self, node: Node, ntp_nt: NTP_GeoNodeTree) -> None:
4949
self._group_io_settings(node, "output", ntp_nt)
5050
ntp_nt.outputs_set = True
5151

52-
if node.bl_idname == 'GeometryNodeSimulationInput':
53-
ntp_nt.sim_inputs.append(node)
54-
elif node.bl_idname == 'GeometryNodeRepeatInput':
55-
ntp_nt.repeat_inputs.append(node)
56-
elif node.bl_idname == 'GeometryNodeForeachGeometryElementInput':
57-
ntp_nt.foreach_element_inputs.append(node)
52+
if node.bl_idname in ntp_nt.zone_inputs_:
53+
ntp_nt.zone_inputs_[node.bl_idname].append(node)
5854

5955
self._hide_hidden_sockets(node)
6056

@@ -141,12 +137,8 @@ def _process_node_tree(self, node_tree: GeometryNodeTree) -> None:
141137
for node in node_tree.nodes:
142138
self._process_node(node, ntp_nt)
143139

144-
if bpy.app.version >= (3, 6, 0):
145-
self._process_zones(ntp_nt.sim_inputs)
146-
if bpy.app.version >= (4, 0, 0):
147-
self._process_zones(ntp_nt.repeat_inputs)
148-
if bpy.app.version >= (4, 3, 0):
149-
self._process_zones(ntp_nt.foreach_element_inputs)
140+
for zone_list in ntp_nt.zone_inputs_.values():
141+
self._process_zones(zone_list)
150142

151143
#set look of nodes
152144
self._set_parents(node_tree)

0 commit comments

Comments
 (0)