[Bf-blender-cvs] [950f1bf476c] soc-2021-porting-modifiers-to-nodes-decimate: Renamed Limittypes from Face to Border and from Edge to Selection because you can use them with different domains and the real difference is how it uses this data.

Fabian Schempp noreply at git.blender.org
Fri Jul 9 10:18:16 CEST 2021


Commit: 950f1bf476c991c65df06027b1cfc34ba1b7f334
Author: Fabian Schempp
Date:   Fri Jul 9 10:18:08 2021 +0200
Branches: soc-2021-porting-modifiers-to-nodes-decimate
https://developer.blender.org/rB950f1bf476c991c65df06027b1cfc34ba1b7f334

Renamed Limittypes from Face to Border and from Edge to Selection
because you can use them with different domains and the real difference
is how it uses this data.

===================================================================

M	source/blender/bmesh/intern/bmesh_mesh.c
M	source/blender/makesdna/DNA_node_types.h
M	source/blender/makesrna/intern/rna_nodetree.c
M	source/blender/nodes/geometry/nodes/node_geo_dissolve.cc

===================================================================

diff --git a/source/blender/bmesh/intern/bmesh_mesh.c b/source/blender/bmesh/intern/bmesh_mesh.c
index d3b472f9975..23847a29c30 100644
--- a/source/blender/bmesh/intern/bmesh_mesh.c
+++ b/source/blender/bmesh/intern/bmesh_mesh.c
@@ -1476,6 +1476,9 @@ void BM_temporary_tag_edges(BMesh *bm, const bool *mask)
        * some reason. */
       BM_elem_flag_enable(e, BM_ELEM_SELECT);
     }
+    else {
+      BM_elem_flag_disable(e, BM_ELEM_SELECT);
+    }
     i++;
   }
 }
diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h
index fa34f0000fc..be8ad9d9eaf 100644
--- a/source/blender/makesdna/DNA_node_types.h
+++ b/source/blender/makesdna/DNA_node_types.h
@@ -1963,11 +1963,8 @@ typedef enum GeometryNodeCollapseSymmetryAxis {
 
 typedef enum GeometryNodeDissolveDelimiter {
   /* Keep in sync with BMO_Delimit*/
-  GEO_NODE_DISSOLVE_DELIMITTER_EDGE = 1 << 5,
-  GEO_NODE_DISSOLVE_DELIMITTER_FACE = 1 << 6,
-  // GEO_NODE_DISSOLVE_DELIMITTER_SEAM = 1 << 2,
-  // GEO_NODE_DISSOLVE_DELIMITTER_SHARP = 1 << 3,
-  // GEO_NODE_DISSOLVE_DELIMITTER_UV = 1 << 4,
+  GEO_NODE_DISSOLVE_DELIMITTER_SELECTION = 1 << 5,
+  GEO_NODE_DISSOLVE_DELIMITTER_SELECTION_BORDER = 1 << 6,
 } GeometryNodeDissolveDelimiter;
 
 #ifdef __cplusplus
diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c
index 1bec6b3db3d..755198e488c 100644
--- a/source/blender/makesrna/intern/rna_nodetree.c
+++ b/source/blender/makesrna/intern/rna_nodetree.c
@@ -10000,16 +10000,16 @@ static void def_geo_dissolve(StructRNA *srna)
   PropertyRNA *prop;
 
   static EnumPropertyItem delimiter_items[] = {
-      {GEO_NODE_DISSOLVE_DELIMITTER_EDGE,
-       "edge",
+      {GEO_NODE_DISSOLVE_DELIMITTER_SELECTION,
+       "selection",
        0,
-       "Edge",
-       "Use edge attribute domain as delimiter"},
-      {GEO_NODE_DISSOLVE_DELIMITTER_FACE,
-       "face",
+       "Selection",
+       "Use selection as delimiter"},
+      {GEO_NODE_DISSOLVE_DELIMITTER_SELECTION_BORDER,
+       "border",
        0,
-       "Face",
-       "Use face attribute domain as delimiter"},
+       "Border",
+       "Use border of selection as delimiter"},
       {0, NULL, 0, NULL, NULL},
   };
 
diff --git a/source/blender/nodes/geometry/nodes/node_geo_dissolve.cc b/source/blender/nodes/geometry/nodes/node_geo_dissolve.cc
index c0980d43c5f..d2a7764f7c6 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_dissolve.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_dissolve.cc
@@ -53,7 +53,7 @@ static void geo_node_dissolve_init(bNodeTree *UNUSED(tree), bNode *node)
       sizeof(NodeGeometryDissolve), __func__);
 
   node->storage = node_storage;
-  node_storage->delimiter = GEO_NODE_DISSOLVE_DELIMITTER_FACE;
+  node_storage->delimiter = GEO_NODE_DISSOLVE_DELIMITTER_SELECTION_BORDER;
 }
 
 namespace blender::nodes {
@@ -67,7 +67,7 @@ static Mesh *dissolve_mesh(const float angle,
   const BMeshFromMeshParams bmesh_from_mesh_params = {
       true, 0, 0, 0, {CD_MASK_ORIGINDEX, CD_MASK_ORIGINDEX, CD_MASK_ORIGINDEX}};
   BMesh *bm = BKE_mesh_to_bmesh_ex(mesh, &bmesh_create_params, &bmesh_from_mesh_params);
-  if (delimiter_type & GEO_NODE_DISSOLVE_DELIMITTER_FACE) {
+  if (delimiter_type & GEO_NODE_DISSOLVE_DELIMITTER_SELECTION_BORDER) {
     BM_temporary_tag_faces(bm, delimiter.data());
   }
   else {
@@ -100,10 +100,10 @@ static void geo_node_dissolve_exec(GeoNodeExecParams params)
     const bNode &node = params.node();
     const NodeGeometryDissolve &node_storage = *(NodeGeometryDissolve *)node.storage;
 
-    const bool default_delimiter = true;
+    const bool default_delimiter = false;
     AttributeDomain delimiter_domain = ATTR_DOMAIN_FACE;
     int delimiter_domain_size = input_mesh->totpoly;
-    if (node_storage.delimiter & GEO_NODE_DISSOLVE_DELIMITTER_EDGE) {
+    if (node_storage.delimiter & GEO_NODE_DISSOLVE_DELIMITTER_SELECTION) {
       delimiter_domain = ATTR_DOMAIN_EDGE;
       delimiter_domain_size = input_mesh->totedge;
     };



More information about the Bf-blender-cvs mailing list