20 lines
722 B
Python
20 lines
722 B
Python
from __future__ import annotations
|
|
|
|
from .....registry import register_class
|
|
from ..base import ExecSliceNode, SliceNodeJoiner
|
|
|
|
@register_class
|
|
class SLICENODE_JoinExecution(SliceNodeJoiner):
|
|
bl_label = "Join Execution"
|
|
socket_type = "SLICESOCK_ExecutionLink"
|
|
|
|
def evaluate_output(self, socket_name: str, **_kwargs) -> list[ExecSliceNode]:
|
|
from .....infra.blender.blender_slice_nodes_generic import resolve_input
|
|
nodes: list[ExecSliceNode] = []
|
|
for input in self.inputs:
|
|
res = resolve_input(input)
|
|
if isinstance(res, ExecSliceNode):
|
|
nodes.append(res)
|
|
elif isinstance(res, list):
|
|
nodes.extend(res)
|
|
return nodes
|