oscillode/blender_maxwell/node_trees/maxwell_sim_nodes/nodes/inputs/constants/blender_constant.py

69 lines
1.3 KiB
Python
Raw Normal View History

import typing as typ
from .... import contracts
from .... import sockets
from ... import base
class BlenderConstantNode(base.MaxwellSimTreeNode):
node_type = contracts.NodeType.BlenderConstant
bl_label = "Blender Constant"
#bl_icon = constants.ICON_SIM_INPUT
input_sockets = {}
input_socket_sets = {
"object": {
"value": sockets.BlenderObjectSocketDef(
label="Object",
),
},
"collection": {
"value": sockets.BlenderCollectionSocketDef(
label="Collection",
),
},
"image": {
"value": sockets.BlenderImageSocketDef(
label="Image",
),
},
"volume": {
"value": sockets.BlenderVolumeSocketDef(
label="Volume",
),
},
"text": {
"value": sockets.BlenderTextSocketDef(
label="Text",
),
},
"geonodes": {
"value": sockets.BlenderGeoNodesSocketDef(
label="GeoNodes",
),
},
}
output_sockets = {}
output_socket_sets = input_socket_sets
####################
# - Callbacks
####################
@base.computes_output_socket("value")
def compute_value(self: contracts.NodeTypeProtocol) -> typ.Any:
return self.compute_input("value")
####################
# - Blender Registration
####################
BL_REGISTER = [
BlenderConstantNode,
]
BL_NODES = {
contracts.NodeType.BlenderConstant: (
contracts.NodeCategory.MAXWELLSIM_INPUTS_CONSTANTS
)
}