[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