[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