Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/makesrna/intern/rna_nodetree.c')
-rw-r--r--source/blender/makesrna/intern/rna_nodetree.c142
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)