From 4b31a21bcd19b5005cb46895186ca7ecf314c4db Mon Sep 17 00:00:00 2001 From: Hans Goudey Date: Mon, 11 Oct 2021 18:14:03 -0500 Subject: [PATCH] Geometry Nodes: Use a separator in the add menu input category This can help separate the field inputs from the other nodes, like some other categories. --- release/scripts/startup/nodeitems_builtins.py | 44 ++++++++++++------- 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/release/scripts/startup/nodeitems_builtins.py b/release/scripts/startup/nodeitems_builtins.py index bceebe031cf..f63e41b0c28 100644 --- a/release/scripts/startup/nodeitems_builtins.py +++ b/release/scripts/startup/nodeitems_builtins.py @@ -152,6 +152,34 @@ def mesh_node_items(context): yield NodeItemCustom(draw=lambda self, layout, context: layout.separator()) yield NodeItem("GeometryNodeSetShadeSmooth") +# Custom Menu for Geometry Node Input Nodes +def geometry_input_node_items(context): + if context is None: + return + space = context.space_data + if not space: + return + if not space.edit_tree: + return + + if geometry_nodes_legacy_poll(context): + yield NodeItem("FunctionNodeLegacyRandomFloat"), + yield NodeItemCustom(draw=lambda self, layout, context: layout.separator()) + + yield NodeItem("GeometryNodeCollectionInfo") + yield NodeItem("FunctionNodeInputColor") + yield NodeItem("GeometryNodeIsViewport") + yield NodeItem("GeometryNodeInputMaterial") + yield NodeItem("GeometryNodeObjectInfo") + yield NodeItem("FunctionNodeInputString") + yield NodeItem("ShaderNodeValue") + yield NodeItem("FunctionNodeInputVector") + yield NodeItemCustom(draw=lambda self, layout, context: layout.separator()) + yield NodeItem("GeometryNodeInputIndex") + yield NodeItem("GeometryNodeInputNormal") + yield NodeItem("GeometryNodeInputPosition") + yield NodeItem("GeometryNodeInputRadius") + # Custom Menu for Geometry Node Curves def point_node_items(context): if context is None: @@ -633,21 +661,7 @@ geometry_node_categories = [ NodeItem("GeometryNodeSetPosition"), NodeItem("GeometryNodeRealizeInstances"), ]), - GeometryNodeCategory("GEO_INPUT", "Input", items=[ - NodeItem("FunctionNodeLegacyRandomFloat", poll=geometry_nodes_legacy_poll), - NodeItem("GeometryNodeObjectInfo"), - NodeItem("GeometryNodeCollectionInfo"), - NodeItem("ShaderNodeValue"), - NodeItem("FunctionNodeInputString"), - NodeItem("FunctionNodeInputVector"), - NodeItem("FunctionNodeInputColor"), - NodeItem("GeometryNodeInputMaterial"), - NodeItem("GeometryNodeIsViewport"), - NodeItem("GeometryNodeInputIndex"), - NodeItem("GeometryNodeInputPosition"), - NodeItem("GeometryNodeInputRadius"), - NodeItem("GeometryNodeInputNormal"), - ]), + GeometryNodeCategory("GEO_INPUT", "Input", items=geometry_input_node_items), GeometryNodeCategory("GEO_MATERIAL", "Material", items=[ NodeItem("GeometryNodeLegacyMaterialAssign", poll=geometry_nodes_legacy_poll), NodeItem("GeometryNodeLegacySelectByMaterial", poll=geometry_nodes_legacy_poll),