[Bf-blender-cvs] [44be9469b0c] refactor-mesh-corners-generic: Cleanup, fixes
Hans Goudey
noreply at git.blender.org
Mon Dec 19 23:00:10 CET 2022
Commit: 44be9469b0c8507e6be948ee72915e132ba386ea
Author: Hans Goudey
Date: Mon Dec 19 15:59:57 2022 -0600
Branches: refactor-mesh-corners-generic
https://developer.blender.org/rB44be9469b0c8507e6be948ee72915e132ba386ea
Cleanup, fixes
===================================================================
M source/blender/blenkernel/intern/mesh_normals.cc
M source/blender/editors/mesh/mesh_data.cc
M source/blender/editors/sculpt_paint/paint_vertex.cc
M source/blender/geometry/intern/mesh_split_edges.cc
===================================================================
diff --git a/source/blender/blenkernel/intern/mesh_normals.cc b/source/blender/blenkernel/intern/mesh_normals.cc
index 3bd86afd9c6..cecabbb06cf 100644
--- a/source/blender/blenkernel/intern/mesh_normals.cc
+++ b/source/blender/blenkernel/intern/mesh_normals.cc
@@ -1394,10 +1394,6 @@ static void loop_split_generator(TaskPool *pool, LoopSplitTaskDataCommon *common
data_buff = (LoopSplitTaskData *)MEM_calloc_arrayN(
LOOP_SPLIT_TASK_BLOCK_SIZE, sizeof(*data_buff), __func__);
}
- for (const int i : blender::IndexRange(LOOP_SPLIT_TASK_BLOCK_SIZE)) {
- /* Used to tag the end of the buffer. */
- data_buff[i].ml_curr_index = -1;
- }
data = &data_buff[data_idx];
}
else {
diff --git a/source/blender/editors/mesh/mesh_data.cc b/source/blender/editors/mesh/mesh_data.cc
index 72e47a2dc16..35628825e3d 100644
--- a/source/blender/editors/mesh/mesh_data.cc
+++ b/source/blender/editors/mesh/mesh_data.cc
@@ -1459,12 +1459,14 @@ void ED_mesh_split_faces(Mesh *mesh)
using namespace blender;
Array<MEdge> edges(mesh->edges());
const Span<MPoly> polys = mesh->polys();
- const Span<MLoop> loops = mesh->loops();
+ const Span<int> corner_verts = mesh->corner_verts();
+ const Span<int> corner_edges = mesh->corner_edges();
const float split_angle = (mesh->flag & ME_AUTOSMOOTH) != 0 ? mesh->smoothresh : float(M_PI);
BKE_edges_sharp_from_angle_set(edges.data(),
edges.size(),
- loops.data(),
- loops.size(),
+ corner_verts.data(),
+ corner_edges.data(),
+ corner_verts.size(),
polys.data(),
BKE_mesh_poly_normals_ensure(mesh),
polys.size(),
@@ -1474,8 +1476,8 @@ void ED_mesh_split_faces(Mesh *mesh)
for (const int poly_i : range) {
const MPoly &poly = polys[poly_i];
if (!(poly.flag & ME_SMOOTH)) {
- for (const MLoop &loop : loops.slice(poly.loopstart, poly.totloop)) {
- edges[loop.e].flag |= ME_SHARP;
+ for (const int edge_i : corner_edges.slice(poly.loopstart, poly.totloop)) {
+ edges[edge_i].flag |= ME_SHARP;
}
}
}
diff --git a/source/blender/editors/sculpt_paint/paint_vertex.cc b/source/blender/editors/sculpt_paint/paint_vertex.cc
index 08636e34a9b..0c4d4afc1cc 100644
--- a/source/blender/editors/sculpt_paint/paint_vertex.cc
+++ b/source/blender/editors/sculpt_paint/paint_vertex.cc
@@ -4134,7 +4134,7 @@ static void fill_mesh_face_or_corner_attribute(Mesh &mesh,
int j = 0;
do {
- const vidx = corner_verts[poly.loopstart + j];
+ const int vidx = corner_verts[poly.loopstart + j];
if (!(use_vert_sel && !(select_vert[vidx]))) {
if (domain == ATTR_DOMAIN_CORNER) {
diff --git a/source/blender/geometry/intern/mesh_split_edges.cc b/source/blender/geometry/intern/mesh_split_edges.cc
index 4ec7cbf5c7b..b0acf415221 100644
--- a/source/blender/geometry/intern/mesh_split_edges.cc
+++ b/source/blender/geometry/intern/mesh_split_edges.cc
@@ -353,7 +353,7 @@ static void split_edge_per_poly(const int edge_i,
edge_to_loop_map[edge_i].resize(1);
}
-static void mesh_edge_split(Mesh &mesh, const IndexMask mask)
+void split_edges(Mesh &mesh, const IndexMask mask)
{
/* Flag vertices that need to be split. */
Array<bool> should_split_vert(mesh.totvert, false);
More information about the Bf-blender-cvs
mailing list