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;
     };

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to