Changeset View
Changeset View
Standalone View
Standalone View
release/scripts/startup/bl_operators/geometry_nodes.py
| # SPDX-License-Identifier: GPL-2.0-or-later | # SPDX-License-Identifier: GPL-2.0-or-later | ||||
| import bpy | import bpy | ||||
| from bpy.types import Operator | from bpy.types import Operator | ||||
| from bpy.app.translations import pgettext_data as data_ | |||||
| def geometry_node_group_empty_new(): | def geometry_node_group_empty_new(): | ||||
| group = bpy.data.node_groups.new("Geometry Nodes", 'GeometryNodeTree') | group = bpy.data.node_groups.new(data_("Geometry Nodes"), 'GeometryNodeTree') | ||||
| group.inputs.new('NodeSocketGeometry', "Geometry") | group.inputs.new('NodeSocketGeometry', "Geometry") | ||||
| group.outputs.new('NodeSocketGeometry', "Geometry") | group.outputs.new('NodeSocketGeometry', "Geometry") | ||||
| input_node = group.nodes.new('NodeGroupInput') | input_node = group.nodes.new('NodeGroupInput') | ||||
| output_node = group.nodes.new('NodeGroupOutput') | output_node = group.nodes.new('NodeGroupOutput') | ||||
| output_node.is_active_output = True | output_node.is_active_output = True | ||||
| input_node.select = False | input_node.select = False | ||||
| output_node.select = False | output_node.select = False | ||||
| Show All 23 Lines | class NewGeometryNodesModifier(Operator): | ||||
| bl_label = "New Geometry Node Modifier" | bl_label = "New Geometry Node Modifier" | ||||
| bl_options = {'REGISTER', 'UNDO'} | bl_options = {'REGISTER', 'UNDO'} | ||||
| @classmethod | @classmethod | ||||
| def poll(cls, context): | def poll(cls, context): | ||||
| return geometry_modifier_poll(context) | return geometry_modifier_poll(context) | ||||
| def execute(self, context): | def execute(self, context): | ||||
| modifier = context.object.modifiers.new("GeometryNodes", "NODES") | modifier = context.object.modifiers.new(data_("GeometryNodes"), "NODES") | ||||
| if not modifier: | if not modifier: | ||||
| return {'CANCELLED'} | return {'CANCELLED'} | ||||
| group = geometry_node_group_empty_new() | group = geometry_node_group_empty_new() | ||||
| modifier.node_group = group | modifier.node_group = group | ||||
| return {'FINISHED'} | return {'FINISHED'} | ||||
| Show All 32 Lines | |||||