fix: contrast formulation cause leak of high value fix: empty series_id cause fail to read chore: restructure folder chore!: change layer vars BREAKING CHANGE: not support 4.1 any more
27 lines
789 B
Python
27 lines
789 B
Python
def move_node_to_node(node, target_node, offset=(0, 0)):
|
|
node.location.x = target_node.location.x + offset[0]
|
|
node.location.y = target_node.location.y + offset[1]
|
|
|
|
|
|
def move_node_between_nodes(node, target_nodes, offset=(0, 0)):
|
|
xs = []
|
|
ys = []
|
|
for target_node in target_nodes:
|
|
xs.append(target_node.location.x)
|
|
ys.append(target_node.location.y)
|
|
|
|
node.location.x = sum(xs) / len(xs) + offset[0]
|
|
node.location.y = sum(ys) / len(ys) + offset[1]
|
|
|
|
|
|
def get_node_type(node):
|
|
node_type = type(node).__name__
|
|
if node_type == "GeometryNodeGroup":
|
|
node_type = node.node_tree.name
|
|
|
|
return node_type
|
|
|
|
|
|
def get_nodes_by_type(node_group, type_name: str):
|
|
return [node for node in node_group.nodes if get_node_type(node) == type_name]
|