[Bf-blender-cvs] [9eb502ee9c7] soc-2021-porting-modifiers-to-nodes-merge-by-distance: Merge branch 'master' into soc-2021-porting-modifiers-to-nodes-merge-by-distance
Fabian Schempp
noreply at git.blender.org
Fri Sep 24 23:59:47 CEST 2021
Commit: 9eb502ee9c759ef6d9c3e89847468feda36a56f4
Author: Fabian Schempp
Date: Fri Sep 24 00:56:34 2021 +0200
Branches: soc-2021-porting-modifiers-to-nodes-merge-by-distance
https://developer.blender.org/rB9eb502ee9c759ef6d9c3e89847468feda36a56f4
Merge branch 'master' into soc-2021-porting-modifiers-to-nodes-merge-by-distance
# Conflicts:
# release/scripts/startup/nodeitems_builtins.py
# source/blender/blenkernel/BKE_node.h
# source/blender/blenkernel/intern/node.cc
# source/blender/makesrna/RNA_enum_types.h
# source/blender/makesrna/intern/rna_nodetree.c
# source/blender/modifiers/intern/MOD_weld.c
# source/blender/nodes/NOD_geometry.h
# source/blender/nodes/NOD_static_types.h
===================================================================
===================================================================
diff --cc release/scripts/startup/nodeitems_builtins.py
index d4acb31fcf0,9ad162da7dc..c0b7afc6859
--- a/release/scripts/startup/nodeitems_builtins.py
+++ b/release/scripts/startup/nodeitems_builtins.py
@@@ -529,9 -550,8 +550,9 @@@ geometry_node_categories =
NodeItem("GeometryNodeTransform"),
NodeItem("GeometryNodeJoinGeometry"),
NodeItem("GeometryNodeSeparateComponents"),
- NodeItem("GeometryNodeRaycast"),
+ NodeItem("GeometryNodeSetPosition", poll=geometry_nodes_fields_poll),
+ NodeItem("GeometryNodeRealizeInstances", poll=geometry_nodes_fields_poll),
+ NodeItem("GeometryNodeMergeByDistance"),
]),
GeometryNodeCategory("GEO_INPUT", "Input", items=[
NodeItem("GeometryNodeObjectInfo"),
diff --cc source/blender/blenkernel/BKE_node.h
index 7e88f52a154,2e843e82a9f..7ad178aa488
--- a/source/blender/blenkernel/BKE_node.h
+++ b/source/blender/blenkernel/BKE_node.h
@@@ -1474,10 -1482,24 +1482,25 @@@ int ntreeTexExecTree(struct bNodeTree *
#define GEO_NODE_CURVE_ENDPOINTS 1069
#define GEO_NODE_CURVE_PRIMITIVE_QUADRILATERAL 1070
#define GEO_NODE_CURVE_TRIM 1071
- #define GEO_NODE_CURVE_SET_HANDLES 1072
- #define GEO_NODE_CURVE_SPLINE_TYPE 1073
- #define GEO_NODE_CURVE_SELECT_HANDLES 1074
- #define GEO_NODE_MERGE_BY_DISTANCE 1075
+ #define GEO_NODE_LEGACY_CURVE_SET_HANDLES 1072
+ #define GEO_NODE_LEGACY_CURVE_SPLINE_TYPE 1073
+ #define GEO_NODE_LEGACY_CURVE_SELECT_HANDLES 1074
+ #define GEO_NODE_CURVE_FILL 1075
+ #define GEO_NODE_INPUT_POSITION 1076
+ #define GEO_NODE_SET_POSITION 1077
+ #define GEO_NODE_INPUT_INDEX 1078
+ #define GEO_NODE_INPUT_NORMAL 1079
+ #define GEO_NODE_ATTRIBUTE_CAPTURE 1080
+ #define GEO_NODE_MATERIAL_SELECTION 1081
+ #define GEO_NODE_MATERIAL_ASSIGN 1082
+ #define GEO_NODE_REALIZE_INSTANCES 1083
+ #define GEO_NODE_ATTRIBUTE_STATISTIC 1084
+ #define GEO_NODE_CURVE_SAMPLE 1085
+ #define GEO_NODE_INPUT_TANGENT 1086
+ #define GEO_NODE_STRING_JOIN 1087
+ #define GEO_NODE_CURVE_PARAMETER 1088
+ #define GEO_NODE_CURVE_FILLET 1089
++#define GEO_NODE_MERGE_BY_DISTANCE 1090
/** \} */
diff --cc source/blender/blenkernel/intern/node.cc
index fe19a46588e,f223ed28301..e4d9c3996fc
--- a/source/blender/blenkernel/intern/node.cc
+++ b/source/blender/blenkernel/intern/node.cc
@@@ -5162,6 -5768,6 +5768,7 @@@ static void registerGeometryNodes(
register_node_type_geo_join_geometry();
register_node_type_geo_material_assign();
register_node_type_geo_material_replace();
++ register_node_type_geo_merge_by_distance();
register_node_type_geo_mesh_primitive_circle();
register_node_type_geo_mesh_primitive_cone();
register_node_type_geo_mesh_primitive_cube();
diff --cc source/blender/makesrna/intern/rna_nodetree.c
index 4c87d150767,b631e76c094..e9f8b46dd59
--- a/source/blender/makesrna/intern/rna_nodetree.c
+++ b/source/blender/makesrna/intern/rna_nodetree.c
@@@ -10227,16 -10360,44 +10360,54 @@@ static void def_geo_raycast(StructRNA *
RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_socket_update");
}
+ static void def_geo_curve_fill(StructRNA *srna)
+ {
+ static const EnumPropertyItem mode_items[] = {
+ {GEO_NODE_CURVE_FILL_MODE_TRIANGULATED, "TRIANGLES", 0, "Triangles", ""},
+ {GEO_NODE_CURVE_FILL_MODE_NGONS, "NGONS", 0, "N-gons", ""},
+ {0, NULL, 0, NULL, NULL},
+ };
+
+ PropertyRNA *prop;
+ RNA_def_struct_sdna_from(srna, "NodeGeometryCurveFill", "storage");
+
+ prop = RNA_def_property(srna, "mode", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_sdna(prop, NULL, "mode");
+ RNA_def_property_enum_items(prop, mode_items);
+ RNA_def_property_ui_text(prop, "Mode", "");
+ RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_update");
+ }
+
+ static void def_geo_attribute_capture(StructRNA *srna)
+ {
+ PropertyRNA *prop;
+
+ RNA_def_struct_sdna_from(srna, "NodeGeometryAttributeCapture", "storage");
+
+ prop = RNA_def_property(srna, "data_type", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_items(prop, rna_enum_attribute_type_items);
+ RNA_def_property_enum_funcs(prop, NULL, NULL, "rna_GeometryNodeAttributeFill_type_itemf");
+ RNA_def_property_enum_default(prop, CD_PROP_FLOAT);
+ RNA_def_property_ui_text(prop, "Data Type", "Type of data stored in attribute");
+ RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_GeometryNode_socket_update");
+
+ prop = RNA_def_property(srna, "domain", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_items(prop, rna_enum_attribute_domain_items);
+ RNA_def_property_enum_default(prop, ATTR_DOMAIN_POINT);
+ RNA_def_property_ui_text(prop, "Domain", "Which domain to store the data in");
+ RNA_def_property_update(prop, NC_NODE | NA_EDITED, "rna_Node_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)
diff --cc source/blender/nodes/CMakeLists.txt
index 8346d2313ba,e6af3ecafbc..ed80475e98d
--- a/source/blender/nodes/CMakeLists.txt
+++ b/source/blender/nodes/CMakeLists.txt
@@@ -208,10 -225,11 +226,12 @@@ set(SR
geometry/nodes/node_geo_point_separate.cc
geometry/nodes/node_geo_point_translate.cc
geometry/nodes/node_geo_points_to_volume.cc
+ geometry/nodes/node_geo_merge_by_distance.cc
geometry/nodes/node_geo_raycast.cc
- geometry/nodes/node_geo_select_by_material.cc
+ geometry/nodes/node_geo_realize_instances.cc
geometry/nodes/node_geo_separate_components.cc
+ geometry/nodes/node_geo_set_position.cc
+ geometry/nodes/node_geo_string_join.cc
geometry/nodes/node_geo_subdivision_surface.cc
geometry/nodes/node_geo_switch.cc
geometry/nodes/node_geo_transform.cc
diff --cc source/blender/nodes/NOD_geometry.h
index 2361c8476c4,47bc54132eb..089f6a149e1
--- a/source/blender/nodes/NOD_geometry.h
+++ b/source/blender/nodes/NOD_geometry.h
@@@ -75,7 -88,7 +88,8 @@@ void register_node_type_geo_is_viewport
void register_node_type_geo_join_geometry(void);
void register_node_type_geo_material_assign(void);
void register_node_type_geo_material_replace(void);
+ void register_node_type_geo_material_selection(void);
+void register_node_type_geo_merge_by_distance(void);
void register_node_type_geo_mesh_primitive_circle(void);
void register_node_type_geo_mesh_primitive_cone(void);
void register_node_type_geo_mesh_primitive_cube(void);
diff --cc source/blender/nodes/NOD_static_types.h
index 2bf4e91a13b,ab673d814bb..107d8cf4b21
--- a/source/blender/nodes/NOD_static_types.h
+++ b/source/blender/nodes/NOD_static_types.h
@@@ -316,6 -342,7 +342,8 @@@ DefNode(GeometryNode, GEO_NODE_IS_VIEWP
DefNode(GeometryNode, GEO_NODE_JOIN_GEOMETRY, 0, "JOIN_GEOMETRY", JoinGeometry, "Join Geometry", "")
DefNode(GeometryNode, GEO_NODE_MATERIAL_ASSIGN, 0, "MATERIAL_ASSIGN", MaterialAssign, "Material Assign", "")
DefNode(GeometryNode, GEO_NODE_MATERIAL_REPLACE, 0, "MATERIAL_REPLACE", MaterialReplace, "Material Replace", "")
+ DefNode(GeometryNode, GEO_NODE_MATERIAL_SELECTION, 0, "MATERIAL_SELECTION", MaterialSelection, "Material Selection", "")
++DefNode(GeometryNode, GEO_NODE_MERGE_BY_DISTANCE, def_geo_merge_by_distance, "MERGE_BY_DISTANCE", MergeByDistance, "Merge by Distance", "")
DefNode(GeometryNode, GEO_NODE_MESH_PRIMITIVE_CIRCLE, def_geo_mesh_circle, "MESH_PRIMITIVE_CIRCLE", MeshCircle, "Mesh Circle", "")
DefNode(GeometryNode, GEO_NODE_MESH_PRIMITIVE_CONE, def_geo_mesh_cone, "MESH_PRIMITIVE_CONE", MeshCone, "Cone", "")
DefNode(GeometryNode, GEO_NODE_MESH_PRIMITIVE_CUBE, 0, "MESH_PRIMITIVE_CUBE", MeshCube, "Cube", "")
More information about the Bf-blender-cvs
mailing list