diff options
Diffstat (limited to 'source/blender/makesrna/intern/rna_nodetree.c')
-rw-r--r-- | source/blender/makesrna/intern/rna_nodetree.c | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c index d8ab7c7a61b..9eaa1ce1d14 100644 --- a/source/blender/makesrna/intern/rna_nodetree.c +++ b/source/blender/makesrna/intern/rna_nodetree.c @@ -9109,6 +9109,26 @@ static void def_geo_triangulate(StructRNA *srna) RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_update"); } +static void def_geo_remesh_blocks(StructRNA *srna) +{ + static const EnumPropertyItem remesh_mode_items[] = { + {0, "BLOCKS", 0, "Blocks", "Output a blocky surface with no smoothing"}, + {1, "SMOOTH", 0, "Smooth", "Output a smooth surface with no sharp-features detection"}, + {2, + "SHARP", + 0, + "Sharp", + "Output a surface that reproduces sharp edges and corners from the input mesh"}, + {0, NULL, 0, NULL, NULL}, + }; + + PropertyRNA *prop = RNA_def_property(srna, "remesh_blocks_mode", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_sdna(prop, NULL, "custom1"); + RNA_def_property_enum_items(prop, remesh_mode_items); + RNA_def_property_ui_text(prop, "Mode", "Mesh smoothing mode for remesh operation"); + RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_update"); +} + static void def_geo_subdivision_surface(StructRNA *srna) { PropertyRNA *prop; @@ -9750,6 +9770,29 @@ static void def_geo_point_scale(StructRNA *srna) RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_socket_update"); } +static void def_geo_solidify(StructRNA *srna) +{ + PropertyRNA *prop; + + RNA_def_struct_sdna_from(srna, "NodeGeometrySolidify", "storage"); + + prop = RNA_def_property(srna, "thickness_mode", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_items(prop, rna_node_geometry_attribute_input_type_items_float); + RNA_def_property_ui_text( + prop, "Thickness", "Changes the Thickness input between Float and Attribute"); + RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_socket_update"); + + prop = RNA_def_property(srna, "nonmanifold_offset_mode", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_items(prop, nonmanifold_thickness_mode_items); + RNA_def_property_ui_text(prop, "Mode", "Selects the used thickness algorithm"); + RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_socket_update"); + + prop = RNA_def_property(srna, "nonmanifold_boundary_mode", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_items(prop, nonmanifold_boundary_mode_items); + RNA_def_property_ui_text(prop, "Boundary", "Selects the boundary adjustment algorithm"); + RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_socket_update"); +} + static void def_geo_point_translate(StructRNA *srna) { PropertyRNA *prop; @@ -10108,6 +10151,58 @@ static void def_geo_curve_resample(StructRNA *srna) RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_socket_update"); } +static void def_geo_collapse(StructRNA *srna) +{ + PropertyRNA *prop; + + static EnumPropertyItem symmetry_axis_items[] = { + {GEO_NODE_COLLAPSE_SYMMETRY_AXIS_NONE, "NONE", 0, "None", "No Symmetry is applied"}, + {GEO_NODE_COLLAPSE_SYMMETRY_AXIS_X, "X", 0, "X", "Symmetry is applied on X axis"}, + {GEO_NODE_COLLAPSE_SYMMETRY_AXIS_Y, "Y", 0, "Y", "Symmetry is applied on Y axis"}, + {GEO_NODE_COLLAPSE_SYMMETRY_AXIS_Z, "Z", 0, "Z", "Symmetry is applied on Z axis"}, + {0, NULL, 0, NULL, NULL}, + }; + + RNA_def_struct_sdna_from(srna, "NodeGeometryCollapse", "storage"); + + prop = RNA_def_property(srna, "symmetry_axis", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_items(prop, symmetry_axis_items); + RNA_def_property_ui_text( + prop, "Symmetry", "Set if and on what axis symmetry is applied by the operation"); + RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_socket_update"); +} + +static void def_geo_dissolve(StructRNA *srna) +{ + PropertyRNA *prop; + + static EnumPropertyItem delimiter_items[] = { + {GEO_NODE_DISSOLVE_DELIMITTER_UNSELECTED, + "SELECTION", + 0, + "Selection", + "Only dissolve selected"}, + {GEO_NODE_DISSOLVE_DELIMITTER_LIMIT, + "LIMIT", + 0, + "Limit", + "Only dissolve unselected. Use especially for attributes on edge domain e.g. crease"}, + {GEO_NODE_DISSOLVE_DELIMITTER_SELECTION_BORDER, + "BORDER", + 0, + "Border as Limit", + "Use border of selection as delimiter"}, + {0, NULL, 0, NULL, NULL}, + }; + + RNA_def_struct_sdna_from(srna, "NodeGeometryDissolve", "storage"); + + prop = RNA_def_property(srna, "selection_type", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_items(prop, delimiter_items); + RNA_def_property_ui_text(prop, "Selection", "Define how selection is applied"); + RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_socket_update"); +} + static void def_geo_curve_subdivide(StructRNA *srna) { PropertyRNA *prop; @@ -10212,6 +10307,43 @@ static void def_geo_attribute_transfer(StructRNA *srna) RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_update"); } +static void def_geo_mesh_extrude(StructRNA *srna) +{ + PropertyRNA *prop; + + static const EnumPropertyItem rna_node_geometry_extrude_domain_items[] = { + {0, "VERTEX", 0, "Vertex", "Extrude Vertices"}, + {1, "EDGE", 0, "Edge", "Extrude Edges"}, + {2, "FACE", 0, "Face", "Extrude Faces"}, + {0, NULL, 0, NULL, NULL}, + }; + + prop = RNA_def_property(srna, "extrude_mode", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_sdna(prop, NULL, "custom1"); + RNA_def_property_enum_items(prop, rna_node_geometry_extrude_domain_items); + RNA_def_property_enum_default(prop, GEO_NODE_POINT_DISTRIBUTE_RANDOM); + RNA_def_property_ui_text(prop, "Extrude Mode", "Select mesh domain to extrude"); + RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_socket_update"); +} + +static void def_geo_mesh_inset(StructRNA *srna) +{ + PropertyRNA *prop; + + prop = RNA_def_property(srna, "distance_mode", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_sdna(prop, NULL, "custom1"); + RNA_def_property_enum_items(prop, rna_node_geometry_attribute_input_type_items_float); + RNA_def_property_ui_text( + prop, "Distance", "Changes the Distance input between Float and Attribute"); + RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_socket_update"); + + prop = RNA_def_property(srna, "inset_mode", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_sdna(prop, NULL, "custom2"); + RNA_def_property_enum_items(prop, rna_node_geometry_attribute_input_type_items_float); + RNA_def_property_ui_text(prop, "Inset", "Changes the Inset input between Float and Attribute"); + RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_socket_update"); +} + static void def_geo_input_material(StructRNA *srna) { PropertyRNA *prop; @@ -10261,6 +10393,16 @@ static void def_geo_raycast(StructRNA *srna) RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_socket_update"); } +static void def_geo_merge_by_distance(StructRNA *srna) +{ + PropertyRNA *prop; + + prop = RNA_def_property(srna, "merge_mode", PROP_ENUM, PROP_NONE); + RNA_def_property_enum_sdna(prop, NULL, "custom1"); + RNA_def_property_enum_items(prop, rna_enum_weld_mode_items); + RNA_def_property_ui_text(prop, "Mode", "Mode defines the merge rule"); + RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_update"); +} /* -------------------------------------------------------------------------- */ static void rna_def_shader_node(BlenderRNA *brna) |