Changeset View
Changeset View
Standalone View
Standalone View
release/scripts/startup/nodeitems_builtins.py
| Show First 20 Lines • Show All 74 Lines • ▼ Show 20 Lines | |||||
| # maps node tree type to group node type | # maps node tree type to group node type | ||||
| node_tree_group_type = { | node_tree_group_type = { | ||||
| 'CompositorNodeTree': 'CompositorNodeGroup', | 'CompositorNodeTree': 'CompositorNodeGroup', | ||||
| 'ShaderNodeTree': 'ShaderNodeGroup', | 'ShaderNodeTree': 'ShaderNodeGroup', | ||||
| 'TextureNodeTree': 'TextureNodeGroup', | 'TextureNodeTree': 'TextureNodeGroup', | ||||
| 'GeometryNodeTree': 'GeometryNodeGroup', | 'GeometryNodeTree': 'GeometryNodeGroup', | ||||
| } | } | ||||
| # Custom Menu for Geometry Node Curves | |||||
| def curve_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("GeometryNodeLegacyCurveEndpoints") | |||||
| yield NodeItem("GeometryNodeLegacyCurveReverse") | |||||
| yield NodeItem("GeometryNodeLegacyCurveSubdivide") | |||||
| yield NodeItem("GeometryNodeLegacyCurveToPoints") | |||||
| yield NodeItem("GeometryNodeLegacyMeshToCurve") | |||||
| yield NodeItem("GeometryNodeLegacyCurveSelectHandles") | |||||
| yield NodeItem("GeometryNodeLegacyCurveSetHandles") | |||||
| yield NodeItem("GeometryNodeLegacyCurveSplineType") | |||||
| yield NodeItemCustom(draw=lambda self, layout, context: layout.separator()) | |||||
| yield NodeItem("GeometryNodeCurveFill") | |||||
| yield NodeItem("GeometryNodeCurveFillet") | |||||
| yield NodeItem("GeometryNodeCurveLength") | |||||
| yield NodeItem("GeometryNodeCurveReverse") | |||||
| yield NodeItem("GeometryNodeCurveSample") | |||||
| yield NodeItem("GeometryNodeCurveSubdivide") | |||||
| yield NodeItem("GeometryNodeCurveToMesh") | |||||
| yield NodeItem("GeometryNodeCurveTrim") | |||||
| yield NodeItem("GeometryNodeCurveResample") | |||||
| yield NodeItemCustom(draw=lambda self, layout, context: layout.separator()) | |||||
| yield NodeItem("GeometryNodeInputCurveHandlePositions") | |||||
| yield NodeItem("GeometryNodeCurveParameter") | |||||
| yield NodeItem("GeometryNodeInputTangent") | |||||
| yield NodeItem("GeometryNodeInputCurveTilt") | |||||
| yield NodeItem("GeometryNodeCurveHandleTypeSelection") | |||||
| yield NodeItem("GeometryNodeInputSplineCyclic") | |||||
| yield NodeItem("GeometryNodeSplineLength") | |||||
| yield NodeItem("GeometryNodeInputSplineResolution") | |||||
| yield NodeItemCustom(draw=lambda self, layout, context: layout.separator()) | |||||
| yield NodeItem("GeometryNodeSetCurveRadius") | |||||
| yield NodeItem("GeometryNodeSetCurveTilt") | |||||
| yield NodeItem("GeometryNodeSetCurveHandlePositions") | |||||
| yield NodeItem("GeometryNodeCurveSetHandles") | |||||
| yield NodeItem("GeometryNodeSetSplineCyclic") | |||||
| yield NodeItem("GeometryNodeSetSplineResolution") | |||||
| yield NodeItem("GeometryNodeCurveSplineType") | |||||
| # Custom Menu for Geometry Node Curves | |||||
| def mesh_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("GeometryNodeLegacyEdgeSplit", poll=geometry_nodes_legacy_poll) | |||||
| yield NodeItem("GeometryNodeLegacySubdivisionSurface", poll=geometry_nodes_legacy_poll) | |||||
| yield NodeItemCustom(draw=lambda self, layout, context: layout.separator()) | |||||
| yield NodeItem("GeometryNodeBoolean") | |||||
| yield NodeItem("GeometryNodeMeshSubdivide") | |||||
| yield NodeItem("GeometryNodePointsToVertices") | |||||
| yield NodeItem("GeometryNodeTriangulate") | |||||
| yield NodeItemCustom(draw=lambda self, layout, context: layout.separator()) | |||||
| yield NodeItem("GeometryNodeInputShadeSmooth") | |||||
| yield NodeItemCustom(draw=lambda self, layout, context: layout.separator()) | |||||
| yield NodeItem("GeometryNodeSetShadeSmooth") | |||||
| # Custom Menu for Geometry Node Curves | |||||
| def point_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("GeometryNodeLegacyAlignRotationToVector", poll=geometry_nodes_legacy_poll) | |||||
| yield NodeItem("GeometryNodeLegacyPointDistribute", poll=geometry_nodes_legacy_poll) | |||||
| yield NodeItem("GeometryNodeLegacyPointInstance", poll=geometry_nodes_legacy_poll) | |||||
| yield NodeItem("GeometryNodeLegacyPointScale", poll=geometry_nodes_legacy_poll) | |||||
| yield NodeItem("GeometryNodeLegacyPointSeparate", poll=geometry_nodes_legacy_poll) | |||||
| yield NodeItem("GeometryNodeLegacyPointTranslate", poll=geometry_nodes_legacy_poll) | |||||
| yield NodeItem("GeometryNodeLegacyRotatePoints", poll=geometry_nodes_legacy_poll) | |||||
| yield NodeItemCustom(draw=lambda self, layout, context: layout.separator()) | |||||
| yield NodeItem("GeometryNodeDistributePointsOnFaces") | |||||
| yield NodeItem("GeometryNodeInstanceOnPoints") | |||||
| yield NodeItem("GeometryNodeMeshToPoints") | |||||
| yield NodeItemCustom(draw=lambda self, layout, context: layout.separator()) | |||||
| yield NodeItemCustom(draw=lambda self, layout, context: layout.separator()) | |||||
| yield NodeItem("GeometryNodeSetPointRadius") | |||||
| # generic node group items generator for shader, compositor, geometry and texture node groups | # generic node group items generator for shader, compositor, geometry and texture node groups | ||||
| def node_group_items(context): | def node_group_items(context): | ||||
| if context is None: | if context is None: | ||||
| return | return | ||||
| space = context.space_data | space = context.space_data | ||||
| if not space: | if not space: | ||||
| return | return | ||||
| ▲ Show 20 Lines • Show All 414 Lines • ▼ Show 20 Lines | geometry_node_categories = [ | ||||
| ]), | ]), | ||||
| GeometryNodeCategory("GEO_COLOR", "Color", items=[ | GeometryNodeCategory("GEO_COLOR", "Color", items=[ | ||||
| NodeItem("ShaderNodeMixRGB"), | NodeItem("ShaderNodeMixRGB"), | ||||
| NodeItem("ShaderNodeRGBCurve"), | NodeItem("ShaderNodeRGBCurve"), | ||||
| NodeItem("ShaderNodeValToRGB"), | NodeItem("ShaderNodeValToRGB"), | ||||
| NodeItem("ShaderNodeSeparateRGB"), | NodeItem("ShaderNodeSeparateRGB"), | ||||
| NodeItem("ShaderNodeCombineRGB"), | NodeItem("ShaderNodeCombineRGB"), | ||||
| ]), | ]), | ||||
| GeometryNodeCategory("GEO_CURVE", "Curve", items=[ | GeometryNodeCategory("GEO_CURVE", "Curve", items=curve_node_items), | ||||
| NodeItem("GeometryNodeLegacyCurveSubdivide", poll=geometry_nodes_legacy_poll), | |||||
| NodeItem("GeometryNodeLegacyCurveReverse", poll=geometry_nodes_legacy_poll), | |||||
| NodeItem("GeometryNodeLegacyCurveSplineType", poll=geometry_nodes_legacy_poll), | |||||
| NodeItem("GeometryNodeLegacyCurveSetHandles", poll=geometry_nodes_legacy_poll), | |||||
| NodeItem("GeometryNodeLegacyCurveSelectHandles", poll=geometry_nodes_legacy_poll), | |||||
| NodeItem("GeometryNodeLegacyMeshToCurve", poll=geometry_nodes_legacy_poll), | |||||
| NodeItem("GeometryNodeLegacyCurveToPoints", poll=geometry_nodes_legacy_poll), | |||||
| NodeItem("GeometryNodeLegacyCurveEndpoints", poll=geometry_nodes_legacy_poll), | |||||
| NodeItem("GeometryNodeCurveToMesh"), | |||||
| NodeItem("GeometryNodeCurveResample"), | |||||
| NodeItem("GeometryNodeCurveFill"), | |||||
| NodeItem("GeometryNodeCurveTrim"), | |||||
| NodeItem("GeometryNodeCurveLength"), | |||||
| NodeItem("GeometryNodeCurveSplineType"), | |||||
| NodeItem("GeometryNodeSplineLength"), | |||||
| NodeItem("GeometryNodeCurveSubdivide"), | |||||
| NodeItem("GeometryNodeCurveParameter"), | |||||
| NodeItem("GeometryNodeCurveSetHandles"), | |||||
| NodeItem("GeometryNodeInputTangent"), | |||||
| NodeItem("GeometryNodeCurveSample"), | |||||
| NodeItem("GeometryNodeCurveHandleTypeSelection"), | |||||
| NodeItem("GeometryNodeCurveFillet"), | |||||
| NodeItem("GeometryNodeCurveReverse"), | |||||
| ]), | |||||
| GeometryNodeCategory("GEO_PRIMITIVES_CURVE", "Curve Primitives", items=[ | GeometryNodeCategory("GEO_PRIMITIVES_CURVE", "Curve Primitives", items=[ | ||||
| NodeItem("GeometryNodeCurvePrimitiveLine"), | NodeItem("GeometryNodeCurvePrimitiveLine"), | ||||
| NodeItem("GeometryNodeCurvePrimitiveCircle"), | NodeItem("GeometryNodeCurvePrimitiveCircle"), | ||||
| NodeItem("GeometryNodeCurveStar"), | NodeItem("GeometryNodeCurveStar"), | ||||
| NodeItem("GeometryNodeCurveSpiral"), | NodeItem("GeometryNodeCurveSpiral"), | ||||
| NodeItem("GeometryNodeCurveQuadraticBezier"), | NodeItem("GeometryNodeCurveQuadraticBezier"), | ||||
| NodeItem("GeometryNodeCurvePrimitiveQuadrilateral"), | NodeItem("GeometryNodeCurvePrimitiveQuadrilateral"), | ||||
| NodeItem("GeometryNodeCurvePrimitiveBezierSegment"), | NodeItem("GeometryNodeCurvePrimitiveBezierSegment"), | ||||
| ]), | ]), | ||||
| GeometryNodeCategory("GEO_GEOMETRY", "Geometry", items=[ | GeometryNodeCategory("GEO_GEOMETRY", "Geometry", items=[ | ||||
| NodeItem("GeometryNodeLegacyDeleteGeometry", poll=geometry_nodes_legacy_poll), | NodeItem("GeometryNodeLegacyDeleteGeometry", poll=geometry_nodes_legacy_poll), | ||||
| NodeItem("GeometryNodeLegacyRaycast", poll=geometry_nodes_legacy_poll), | NodeItem("GeometryNodeLegacyRaycast", poll=geometry_nodes_legacy_poll), | ||||
| NodeItem("GeometryNodeProximity"), | NodeItem("GeometryNodeProximity"), | ||||
| NodeItem("GeometryNodeBoundBox"), | NodeItem("GeometryNodeBoundBox"), | ||||
| NodeItem("GeometryNodeConvexHull"), | NodeItem("GeometryNodeConvexHull"), | ||||
| NodeItem("GeometryNodeTransform"), | NodeItem("GeometryNodeTransform"), | ||||
| NodeItem("GeometryNodeJoinGeometry"), | NodeItem("GeometryNodeJoinGeometry"), | ||||
| NodeItem("GeometryNodeSeparateComponents"), | NodeItem("GeometryNodeSeparateComponents"), | ||||
| NodeItem("GeometryNodeSetPosition"), | NodeItem("GeometryNodeSetPosition"), | ||||
| NodeItem("GeometryNodeRealizeInstances"), | NodeItem("GeometryNodeRealizeInstances"), | ||||
| ]), | ]), | ||||
| GeometryNodeCategory("GEO_INPUT", "Input", items=[ | GeometryNodeCategory("GEO_INPUT", "Input", items=[ | ||||
| NodeItem("FunctionNodeLegacyRandomFloat", poll=geometry_nodes_legacy_poll), | NodeItem("FunctionNodeLegacyRandomFloat", poll=geometry_nodes_legacy_poll), | ||||
| NodeItem("GeometryNodeObjectInfo"), | NodeItem("GeometryNodeObjectInfo"), | ||||
| NodeItem("GeometryNodeCollectionInfo"), | NodeItem("GeometryNodeCollectionInfo"), | ||||
| NodeItem("ShaderNodeValue"), | NodeItem("ShaderNodeValue"), | ||||
| NodeItem("FunctionNodeInputString"), | NodeItem("FunctionNodeInputString"), | ||||
| NodeItem("FunctionNodeInputVector"), | NodeItem("FunctionNodeInputVector"), | ||||
| NodeItem("GeometryNodeInputMaterial"), | NodeItem("GeometryNodeInputMaterial"), | ||||
| NodeItem("GeometryNodeIsViewport"), | NodeItem("GeometryNodeIsViewport"), | ||||
| NodeItem("GeometryNodeInputPosition"), | |||||
| NodeItem("GeometryNodeInputIndex"), | NodeItem("GeometryNodeInputIndex"), | ||||
| NodeItem("GeometryNodeInputPosition"), | |||||
| NodeItem("GeometryNodeInputRadius"), | |||||
| NodeItem("GeometryNodeInputNormal"), | NodeItem("GeometryNodeInputNormal"), | ||||
| ]), | ]), | ||||
| GeometryNodeCategory("GEO_MATERIAL", "Material", items=[ | GeometryNodeCategory("GEO_MATERIAL", "Material", items=[ | ||||
| NodeItem("GeometryNodeLegacyMaterialAssign", poll=geometry_nodes_legacy_poll), | NodeItem("GeometryNodeLegacyMaterialAssign", poll=geometry_nodes_legacy_poll), | ||||
| NodeItem("GeometryNodeLegacySelectByMaterial", poll=geometry_nodes_legacy_poll), | NodeItem("GeometryNodeLegacySelectByMaterial", poll=geometry_nodes_legacy_poll), | ||||
| NodeItem("GeometryNodeMaterialAssign"), | NodeItem("GeometryNodeMaterialAssign"), | ||||
| NodeItem("GeometryNodeMaterialSelection"), | NodeItem("GeometryNodeMaterialSelection"), | ||||
| NodeItem("GeometryNodeMaterialReplace"), | NodeItem("GeometryNodeMaterialReplace"), | ||||
| ]), | ]), | ||||
| GeometryNodeCategory("GEO_MESH", "Mesh", items=[ | GeometryNodeCategory("GEO_MESH", "Mesh", items=mesh_node_items), | ||||
| NodeItem("GeometryNodeLegacyEdgeSplit", poll=geometry_nodes_legacy_poll), | |||||
| NodeItem("GeometryNodeLegacySubdivisionSurface", poll=geometry_nodes_legacy_poll), | |||||
| NodeItem("GeometryNodeBoolean"), | |||||
| NodeItem("GeometryNodeTriangulate"), | |||||
| NodeItem("GeometryNodeMeshSubdivide"), | |||||
| NodeItem("GeometryNodePointsToVertices"), | |||||
| ]), | |||||
| GeometryNodeCategory("GEO_PRIMITIVES_MESH", "Mesh Primitives", items=[ | GeometryNodeCategory("GEO_PRIMITIVES_MESH", "Mesh Primitives", items=[ | ||||
| NodeItem("GeometryNodeMeshCircle"), | NodeItem("GeometryNodeMeshCircle"), | ||||
| NodeItem("GeometryNodeMeshCone"), | NodeItem("GeometryNodeMeshCone"), | ||||
| NodeItem("GeometryNodeMeshCube"), | NodeItem("GeometryNodeMeshCube"), | ||||
| NodeItem("GeometryNodeMeshCylinder"), | NodeItem("GeometryNodeMeshCylinder"), | ||||
| NodeItem("GeometryNodeMeshGrid"), | NodeItem("GeometryNodeMeshGrid"), | ||||
| NodeItem("GeometryNodeMeshIcoSphere"), | NodeItem("GeometryNodeMeshIcoSphere"), | ||||
| NodeItem("GeometryNodeMeshLine"), | NodeItem("GeometryNodeMeshLine"), | ||||
| NodeItem("GeometryNodeMeshUVSphere"), | NodeItem("GeometryNodeMeshUVSphere"), | ||||
| ]), | ]), | ||||
| GeometryNodeCategory("GEO_POINT", "Point", items=[ | GeometryNodeCategory("GEO_POINT", "Point", items=point_node_items), | ||||
| NodeItem("GeometryNodeMeshToPoints"), | |||||
| NodeItem("GeometryNodeInstanceOnPoints"), | |||||
| NodeItem("GeometryNodeDistributePointsOnFaces"), | |||||
| NodeItem("GeometryNodeLegacyPointDistribute", poll=geometry_nodes_legacy_poll), | |||||
| NodeItem("GeometryNodeLegacyPointInstance", poll=geometry_nodes_legacy_poll), | |||||
| NodeItem("GeometryNodeLegacyPointSeparate", poll=geometry_nodes_legacy_poll), | |||||
| NodeItem("GeometryNodeLegacyPointScale", poll=geometry_nodes_legacy_poll), | |||||
| NodeItem("GeometryNodeLegacyPointTranslate", poll=geometry_nodes_legacy_poll), | |||||
| NodeItem("GeometryNodeLegacyRotatePoints", poll=geometry_nodes_legacy_poll), | |||||
| NodeItem("GeometryNodeLegacyAlignRotationToVector", poll=geometry_nodes_legacy_poll), | |||||
| ]), | |||||
| GeometryNodeCategory("GEO_TEXT", "Text", items=[ | GeometryNodeCategory("GEO_TEXT", "Text", items=[ | ||||
| NodeItem("FunctionNodeStringLength"), | NodeItem("FunctionNodeStringLength"), | ||||
| NodeItem("FunctionNodeStringSubstring"), | NodeItem("FunctionNodeStringSubstring"), | ||||
| NodeItem("FunctionNodeValueToString"), | NodeItem("FunctionNodeValueToString"), | ||||
| NodeItem("GeometryNodeStringJoin"), | NodeItem("GeometryNodeStringJoin"), | ||||
| NodeItem("FunctionNodeInputSpecialCharacters"), | NodeItem("FunctionNodeInputSpecialCharacters"), | ||||
| NodeItem("GeometryNodeStringToCurves"), | NodeItem("GeometryNodeStringToCurves"), | ||||
| ]), | ]), | ||||
| ▲ Show 20 Lines • Show All 55 Lines • Show Last 20 Lines | |||||