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