[Bf-blender-cvs] [ad44bfbb6de] refactor-mesh-sharp-face-generic: Set sharp flag in many places to keep default behavior unchanged
Hans Goudey
noreply at git.blender.org
Thu Jan 5 20:47:25 CET 2023
Commit: ad44bfbb6de98972e307f2b749acb33f81e34e7d
Author: Hans Goudey
Date: Thu Jan 5 14:47:17 2023 -0500
Branches: refactor-mesh-sharp-face-generic
https://developer.blender.org/rBad44bfbb6de98972e307f2b749acb33f81e34e7d
Set sharp flag in many places to keep default behavior unchanged
===================================================================
M source/blender/blenkernel/intern/volume_to_mesh.cc
M source/blender/editors/object/object_remesh.cc
M source/blender/geometry/intern/mesh_primitive_cuboid.cc
M source/blender/modifiers/intern/MOD_volume_to_mesh.cc
M source/blender/nodes/geometry/nodes/node_geo_convex_hull.cc
M source/blender/nodes/geometry/nodes/node_geo_curve_fill.cc
M source/blender/nodes/geometry/nodes/node_geo_dual_mesh.cc
M source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_circle.cc
M source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_cone.cc
M source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_grid.cc
M source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_uv_sphere.cc
M source/blender/nodes/geometry/nodes/node_geo_volume_to_mesh.cc
===================================================================
diff --git a/source/blender/blenkernel/intern/volume_to_mesh.cc b/source/blender/blenkernel/intern/volume_to_mesh.cc
index f3bb8726b4f..90797a68a57 100644
--- a/source/blender/blenkernel/intern/volume_to_mesh.cc
+++ b/source/blender/blenkernel/intern/volume_to_mesh.cc
@@ -183,6 +183,7 @@ Mesh *volume_to_mesh(const openvdb::GridBase &grid,
mesh->loops_for_write());
BKE_mesh_calc_edges(mesh, false, false);
+ BKE_mesh_smooth_flag_set(mesh, false);
return mesh;
}
diff --git a/source/blender/editors/object/object_remesh.cc b/source/blender/editors/object/object_remesh.cc
index 04cd6ec4212..ff239ce3069 100644
--- a/source/blender/editors/object/object_remesh.cc
+++ b/source/blender/editors/object/object_remesh.cc
@@ -179,9 +179,7 @@ static int voxel_remesh_exec(bContext *C, wmOperator *op)
BKE_mesh_nomain_to_mesh(new_mesh, mesh, ob);
- if (smooth_normals) {
- BKE_mesh_smooth_flag_set(static_cast<Mesh *>(ob->data), true);
- }
+ BKE_mesh_smooth_flag_set(static_cast<Mesh *>(ob->data), smooth_normals);
if (ob->mode == OB_MODE_SCULPT) {
ED_sculpt_undo_geometry_end(ob);
@@ -903,9 +901,7 @@ static void quadriflow_start_job(void *customdata, bool *stop, bool *do_update,
BKE_mesh_nomain_to_mesh(new_mesh, mesh, ob);
- if (qj->smooth_normals) {
- BKE_mesh_smooth_flag_set(static_cast<Mesh *>(ob->data), true);
- }
+ BKE_mesh_smooth_flag_set(static_cast<Mesh *>(ob->data), qj->smooth_normals);
if (ob->mode == OB_MODE_SCULPT) {
ED_sculpt_undo_geometry_end(ob);
diff --git a/source/blender/geometry/intern/mesh_primitive_cuboid.cc b/source/blender/geometry/intern/mesh_primitive_cuboid.cc
index a014c488a3b..d74c76e1b1d 100644
--- a/source/blender/geometry/intern/mesh_primitive_cuboid.cc
+++ b/source/blender/geometry/intern/mesh_primitive_cuboid.cc
@@ -408,6 +408,7 @@ Mesh *create_cuboid_mesh(const float3 &size,
MutableSpan<MVert> verts = mesh->verts_for_write();
MutableSpan<MPoly> polys = mesh->polys_for_write();
MutableSpan<MLoop> loops = mesh->loops_for_write();
+ BKE_mesh_smooth_flag_set(mesh, false);
calculate_verts(config, verts);
diff --git a/source/blender/modifiers/intern/MOD_volume_to_mesh.cc b/source/blender/modifiers/intern/MOD_volume_to_mesh.cc
index 2a8883dc2eb..08833e1cac1 100644
--- a/source/blender/modifiers/intern/MOD_volume_to_mesh.cc
+++ b/source/blender/modifiers/intern/MOD_volume_to_mesh.cc
@@ -183,9 +183,7 @@ static Mesh *modifyMesh(ModifierData *md, const ModifierEvalContext *ctx, Mesh *
}
BKE_mesh_copy_parameters_for_eval(mesh, input_mesh);
- if (vmmd->flag & VOLUME_TO_MESH_USE_SMOOTH_SHADE) {
- BKE_mesh_smooth_flag_set(mesh, true);
- }
+ BKE_mesh_smooth_flag_set(mesh, vmmd->flag & VOLUME_TO_MESH_USE_SMOOTH_SHADE);
return mesh;
#else
UNUSED_VARS(md);
diff --git a/source/blender/nodes/geometry/nodes/node_geo_convex_hull.cc b/source/blender/nodes/geometry/nodes/node_geo_convex_hull.cc
index 825913fb985..f445a76308a 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_convex_hull.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_convex_hull.cc
@@ -45,6 +45,8 @@ static Mesh *hull_from_bullet(const Mesh *mesh, Span<float3> coords)
BKE_id_material_eval_ensure_default_slot(&result->id);
}
+ BKE_mesh_smooth_flag_set(result, false);
+
/* Copy vertices. */
MutableSpan<MVert> dst_verts = result->verts_for_write();
for (const int i : IndexRange(verts_num)) {
diff --git a/source/blender/nodes/geometry/nodes/node_geo_curve_fill.cc b/source/blender/nodes/geometry/nodes/node_geo_curve_fill.cc
index a14661b4a50..25c03204d60 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_curve_fill.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_curve_fill.cc
@@ -105,6 +105,7 @@ static Mesh *cdt_to_mesh(const meshintersect::CDT_result<double> &result)
/* The delaunay triangulation doesn't seem to return all of the necessary edges, even in
* triangulation mode. */
BKE_mesh_calc_edges(mesh, true, false);
+ BKE_mesh_smooth_flag_set(mesh, false);
return mesh;
}
diff --git a/source/blender/nodes/geometry/nodes/node_geo_dual_mesh.cc b/source/blender/nodes/geometry/nodes/node_geo_dual_mesh.cc
index b076f0b7261..d06683dd7e3 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_dual_mesh.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_dual_mesh.cc
@@ -886,6 +886,7 @@ static Mesh *calc_dual_mesh(const Mesh &src_mesh,
}
Mesh *mesh_out = BKE_mesh_new_nomain(
vertex_positions.size(), new_edges.size(), 0, loops.size(), loop_lengths.size());
+ BKE_mesh_smooth_flag_set(mesh_out, false);
transfer_attributes(vertex_types,
keep_boundaries,
diff --git a/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_circle.cc b/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_circle.cc
index fca2f0b7313..c96f7e8523c 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_circle.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_circle.cc
@@ -109,6 +109,7 @@ static Mesh *create_circle_mesh(const float radius,
circle_corner_total(fill_type, verts_num),
circle_face_total(fill_type, verts_num));
BKE_id_material_eval_ensure_default_slot(&mesh->id);
+ BKE_mesh_smooth_flag_set(mesh, false);
MutableSpan<MVert> verts = mesh->verts_for_write();
MutableSpan<MEdge> edges = mesh->edges_for_write();
MutableSpan<MPoly> polys = mesh->polys_for_write();
diff --git a/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_cone.cc b/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_cone.cc
index 9e92527f393..f2b664323ef 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_cone.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_cone.cc
@@ -690,6 +690,7 @@ Mesh *create_cylinder_or_cone_mesh(const float radius_top,
Mesh *mesh = BKE_mesh_new_nomain(
config.tot_verts, config.tot_edges, 0, config.tot_corners, config.tot_faces);
+ BKE_mesh_smooth_flag_set(mesh, false);
BKE_id_material_eval_ensure_default_slot(&mesh->id);
MutableSpan<MVert> verts = mesh->verts_for_write();
diff --git a/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_grid.cc b/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_grid.cc
index b05a6d8019e..b35f910fab4 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_grid.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_grid.cc
@@ -54,6 +54,7 @@ Mesh *create_grid_mesh(const int verts_x,
0,
edges_x * edges_y * 4,
edges_x * edges_y);
+ BKE_mesh_smooth_flag_set(mesh, false);
MutableSpan<MVert> verts = mesh->verts_for_write();
MutableSpan<MEdge> edges = mesh->edges_for_write();
MutableSpan<MPoly> polys = mesh->polys_for_write();
diff --git a/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_uv_sphere.cc b/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_uv_sphere.cc
index ff40a970785..e2863e6ae74 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_uv_sphere.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_mesh_primitive_uv_sphere.cc
@@ -315,6 +315,7 @@ static Mesh *create_uv_sphere_mesh(const float radius,
0,
sphere_corner_total(segments, rings),
sphere_face_total(segments, rings));
+ BKE_mesh_smooth_flag_set(mesh, false);
BKE_id_material_eval_ensure_default_slot(&mesh->id);
MutableSpan<MVert> verts = mesh->verts_for_write();
MutableSpan<MEdge> edges = mesh->edges_for_write();
diff --git a/source/blender/nodes/geometry/nodes/node_geo_volume_to_mesh.cc b/source/blender/nodes/geometry/nodes/node_geo_volume_to_mesh.cc
index c076a6c08f3..9584f683ec6 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_volume_to_mesh.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_volume_to_mesh.cc
@@ -141,6 +141,7 @@ static Mesh *create_mesh_from_volume_grids(Span<openvdb::GridBase::ConstPtr> gri
}
BKE_mesh_calc_edges(mesh, false, false);
+ BKE_mesh_smooth_flag_set(mesh, false);
return mesh;
}
More information about the Bf-blender-cvs
mailing list