From d5bcc1ef16bd98e0da3bc374bed9eaa5d412de91 Mon Sep 17 00:00:00 2001 From: Hans Goudey Date: Fri, 9 Dec 2022 15:22:28 -0600 Subject: [PATCH] Cleanup: Tweak variable name in extrude node These ranges aren't only used to index corners, also other arrays. Also use const for some variables, mostly for aesthetic reasons. --- .../geometry/nodes/node_geo_extrude_mesh.cc | 69 +++++++++---------- 1 file changed, 33 insertions(+), 36 deletions(-) diff --git a/source/blender/nodes/geometry/nodes/node_geo_extrude_mesh.cc b/source/blender/nodes/geometry/nodes/node_geo_extrude_mesh.cc index d09c7eaa1a9..d390a33245d 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_extrude_mesh.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_extrude_mesh.cc @@ -186,7 +186,7 @@ void copy_with_mixing(MutableSpan dst, Span src, GetMixIndicesFn get_mix_i } static Array> create_vert_to_edge_map(const int vert_size, - Span edges, + const Span edges, const int vert_offset = 0) { Array> vert_to_edge_map(vert_size); @@ -205,7 +205,7 @@ static void extrude_mesh_vertices(Mesh &mesh, const int orig_vert_size = mesh.totvert; const int orig_edge_size = mesh.totedge; - bke::MeshFieldContext context{mesh, ATTR_DOMAIN_POINT}; + const bke::MeshFieldContext context{mesh, ATTR_DOMAIN_POINT}; FieldEvaluator evaluator{context, mesh.totvert}; evaluator.add(offset_field); evaluator.set_selection(selection_field); @@ -294,8 +294,8 @@ static void extrude_mesh_vertices(Mesh &mesh, static Array> mesh_calculate_polys_of_edge(const Mesh &mesh) { - Span polys = mesh.polys(); - Span loops = mesh.loops(); + const Span polys = mesh.polys(); + const Span loops = mesh.loops(); Array> polys_of_edge(mesh.totedge); for (const int i_poly : polys.index_range()) { @@ -371,11 +371,11 @@ static void extrude_mesh_edges(Mesh &mesh, const AttributeOutputs &attribute_outputs) { const int orig_vert_size = mesh.totvert; - Span orig_edges = mesh.edges(); - Span orig_polys = mesh.polys(); + const Span orig_edges = mesh.edges(); + const Span orig_polys = mesh.polys(); const int orig_loop_size = mesh.totloop; - bke::MeshFieldContext edge_context{mesh, ATTR_DOMAIN_EDGE}; + const bke::MeshFieldContext edge_context{mesh, ATTR_DOMAIN_EDGE}; FieldEvaluator edge_evaluator{edge_context, mesh.totedge}; edge_evaluator.set_selection(selection_field); edge_evaluator.add(offset_field); @@ -453,7 +453,7 @@ static void extrude_mesh_edges(Mesh &mesh, const int extrude_index_1 = new_vert_1 - orig_vert_size; const int extrude_index_2 = new_vert_2 - orig_vert_size; - Span connected_polys = edge_to_poly_map[orig_edge_index]; + const Span connected_polys = edge_to_poly_map[orig_edge_index]; /* When there was a single polygon connected to the new polygon, we can use the old one to keep * the face direction consistent. When there is more than one connected edge, the new face @@ -532,7 +532,7 @@ static void extrude_mesh_edges(Mesh &mesh, for (const int i_edge_selection : range) { const int orig_edge_index = edge_selection[i_edge_selection]; - Span connected_polys = edge_to_poly_map[orig_edge_index]; + const Span connected_polys = edge_to_poly_map[orig_edge_index]; if (connected_polys.is_empty()) { /* If there are no connected polygons, there is no corner data to * interpolate. */ @@ -650,11 +650,11 @@ static void extrude_mesh_face_regions(Mesh &mesh, const AttributeOutputs &attribute_outputs) { const int orig_vert_size = mesh.totvert; - Span orig_edges = mesh.edges(); - Span orig_polys = mesh.polys(); - Span orig_loops = mesh.loops(); + const Span orig_edges = mesh.edges(); + const Span orig_polys = mesh.polys(); + const Span orig_loops = mesh.loops(); - bke::MeshFieldContext poly_context{mesh, ATTR_DOMAIN_FACE}; + const bke::MeshFieldContext poly_context{mesh, ATTR_DOMAIN_FACE}; FieldEvaluator poly_evaluator{poly_context, mesh.totpoly}; poly_evaluator.set_selection(selection_field); poly_evaluator.add(offset_field); @@ -713,7 +713,7 @@ static void extrude_mesh_face_regions(Mesh &mesh, * other connected faces, or because all of the other faces aren't selected. */ VectorSet boundary_edge_indices; for (const int i_edge : orig_edges.index_range()) { - Span polys = edge_to_poly_map[i_edge]; + const Span polys = edge_to_poly_map[i_edge]; int i_selected_poly = -1; int deselected_poly_count = 0; @@ -1054,13 +1054,13 @@ static void extrude_individual_mesh_faces(Mesh &mesh, { const int orig_vert_size = mesh.totvert; const int orig_edge_size = mesh.totedge; - Span orig_polys = mesh.polys(); - Span orig_loops = mesh.loops(); + const Span orig_polys = mesh.polys(); + const Span orig_loops = mesh.loops(); /* Use a mesh for the result of the evaluation because the mesh is reallocated before * the vertices are moved, and the evaluated result might reference an attribute. */ Array poly_offset(orig_polys.size()); - bke::MeshFieldContext poly_context{mesh, ATTR_DOMAIN_FACE}; + const bke::MeshFieldContext poly_context{mesh, ATTR_DOMAIN_FACE}; FieldEvaluator poly_evaluator{poly_context, mesh.totpoly}; poly_evaluator.set_selection(selection_field); poly_evaluator.add_with_destination(offset_field, poly_offset.as_mutable_span()); @@ -1112,13 +1112,13 @@ static void extrude_individual_mesh_faces(Mesh &mesh, Array duplicate_edge_indices(extrude_corner_size); threading::parallel_for(poly_selection.index_range(), 256, [&](const IndexRange range) { for (const int i_selection : range) { - const IndexRange poly_corner_range = selected_corner_range(index_offsets, i_selection); + const IndexRange extrude_range = selected_corner_range(index_offsets, i_selection); const MPoly &poly = polys[poly_selection[i_selection]]; MutableSpan poly_loops = loops.slice(poly.loopstart, poly.totloop); for (const int i : IndexRange(poly.totloop)) { - const int i_extrude = poly_corner_range[i]; + const int i_extrude = extrude_range[i]; new_vert_indices[i_extrude] = poly_loops[i].v; duplicate_edge_indices[i_extrude] = poly_loops[i].e; @@ -1128,8 +1128,8 @@ static void extrude_individual_mesh_faces(Mesh &mesh, for (const int i : IndexRange(poly.totloop)) { const int i_next = (i == poly.totloop - 1) ? 0 : i + 1; - const int i_extrude = poly_corner_range[i]; - const int i_extrude_next = poly_corner_range[i_next]; + const int i_extrude = extrude_range[i]; + const int i_extrude_next = extrude_range[i_next]; const int i_duplicate_edge = duplicate_edge_range[i_extrude]; const int new_vert = new_vert_range[i_extrude]; @@ -1192,15 +1192,14 @@ static void extrude_individual_mesh_faces(Mesh &mesh, const MPoly &poly = polys[poly_selection[i_selection]]; const Span poly_loops = loops.slice(poly.loopstart, poly.totloop); - const IndexRange poly_corner_range = selected_corner_range(index_offsets, - i_selection); + const IndexRange extrude_range = selected_corner_range(index_offsets, i_selection); /* For the extruded edges, mix the data from the two neighboring original edges of * the extruded polygon. */ for (const int i : poly_loops.index_range()) { const int i_prev = (i == 0) ? poly.totloop - 1 : i - 1; - const int i_extrude = poly_corner_range[i]; - const int i_extrude_prev = poly_corner_range[i_prev]; + const int i_extrude = extrude_range[i]; + const int i_extrude_prev = extrude_range[i_prev]; const int orig_edge = duplicate_edge_indices[i_extrude]; const int orig_edge_prev = duplicate_edge_indices[i_extrude_prev]; @@ -1223,9 +1222,8 @@ static void extrude_individual_mesh_faces(Mesh &mesh, threading::parallel_for(poly_selection.index_range(), 1024, [&](const IndexRange range) { for (const int i_selection : range) { const int poly_index = poly_selection[i_selection]; - const IndexRange poly_corner_range = selected_corner_range(index_offsets, - i_selection); - new_data.slice(poly_corner_range).fill(data[poly_index]); + const IndexRange extrude_range = selected_corner_range(index_offsets, i_selection); + new_data.slice(extrude_range).fill(data[poly_index]); } }); break; @@ -1237,13 +1235,12 @@ static void extrude_individual_mesh_faces(Mesh &mesh, threading::parallel_for(poly_selection.index_range(), 256, [&](const IndexRange range) { for (const int i_selection : range) { const MPoly &poly = polys[poly_selection[i_selection]]; - Span poly_loop_data = data.slice(poly.loopstart, poly.totloop); - const IndexRange poly_corner_range = selected_corner_range(index_offsets, - i_selection); + const Span poly_loop_data = data.slice(poly.loopstart, poly.totloop); + const IndexRange extrude_range = selected_corner_range(index_offsets, i_selection); for (const int i : IndexRange(poly.totloop)) { const int i_next = (i == poly.totloop - 1) ? 0 : i + 1; - const int i_extrude = poly_corner_range[i]; + const int i_extrude = extrude_range[i]; MutableSpan side_loop_data = new_data.slice(i_extrude * 4, 4); @@ -1271,8 +1268,8 @@ static void extrude_individual_mesh_faces(Mesh &mesh, /* Offset the new vertices. */ threading::parallel_for(poly_selection.index_range(), 1024, [&](const IndexRange range) { for (const int i_selection : range) { - const IndexRange poly_corner_range = selected_corner_range(index_offsets, i_selection); - for (MVert &vert : new_verts.slice(poly_corner_range)) { + const IndexRange extrude_range = selected_corner_range(index_offsets, i_selection); + for (MVert &vert : new_verts.slice(extrude_range)) { add_v3_v3(vert.co, poly_offset[poly_selection[i_selection]]); } } @@ -1299,8 +1296,8 @@ static void extrude_individual_mesh_faces(Mesh &mesh, threading::parallel_for(poly_selection.index_range(), 1024, [&](const IndexRange range) { for (const int selection_i : range) { const int poly_i = poly_selection[selection_i]; - const IndexRange poly_corner_range = selected_corner_range(index_offsets, selection_i); - new_poly_orig_indices.slice(poly_corner_range).fill(poly_orig_indices[poly_i]); + const IndexRange extrude_range = selected_corner_range(index_offsets, selection_i); + new_poly_orig_indices.slice(extrude_range).fill(poly_orig_indices[poly_i]); } }); }