[Bf-blender-cvs] [d300fe01ac2] refactor-mesh-corners-generic: Cleanup: Make naming more consistent
Hans Goudey
noreply at git.blender.org
Thu Jan 19 02:33:24 CET 2023
Commit: d300fe01ac2b0f449af7eb1deb7280c6dff181e1
Author: Hans Goudey
Date: Wed Jan 18 19:33:14 2023 -0600
Branches: refactor-mesh-corners-generic
https://developer.blender.org/rBd300fe01ac2b0f449af7eb1deb7280c6dff181e1
Cleanup: Make naming more consistent
Avoid _i prefix which doesn't really help
===================================================================
M source/blender/blenkernel/intern/curve_to_mesh_convert.cc
M source/blender/blenkernel/intern/geometry_component_mesh.cc
M source/blender/blenkernel/intern/mesh.cc
M source/blender/blenkernel/intern/mesh_iterators.cc
M source/blender/blenkernel/intern/mesh_mapping.cc
M source/blender/blenkernel/intern/mesh_normals.cc
M source/blender/blenkernel/intern/mesh_remap.cc
M source/blender/blenkernel/intern/mesh_sample.cc
M source/blender/blenkernel/intern/mesh_validate.cc
M source/blender/blenkernel/intern/subdiv_converter_mesh.c
M source/blender/blenkernel/intern/subdiv_foreach.c
M source/blender/draw/intern/mesh_extractors/extract_mesh_vbo_edge_fac.cc
M source/blender/draw/intern/mesh_extractors/extract_mesh_vbo_fdots_pos.cc
M source/blender/draw/intern/mesh_extractors/extract_mesh_vbo_fdots_uv.cc
M source/blender/draw/intern/mesh_extractors/extract_mesh_vbo_lnor.cc
M source/blender/draw/intern/mesh_extractors/extract_mesh_vbo_mesh_analysis.cc
M source/blender/draw/intern/mesh_extractors/extract_mesh_vbo_select_idx.cc
M source/blender/draw/intern/mesh_extractors/extract_mesh_vbo_weights.cc
M source/blender/editors/sculpt_paint/sculpt_face_set.cc
M source/blender/editors/transform/transform_snap_object.cc
M source/blender/geometry/intern/realize_instances.cc
M source/blender/io/alembic/exporter/abc_writer_mesh.cc
M source/blender/io/alembic/intern/abc_reader_mesh.cc
M source/blender/io/usd/intern/usd_writer_mesh.cc
M source/blender/io/wavefront_obj/exporter/obj_export_mesh.cc
M source/blender/io/wavefront_obj/importer/obj_import_mesh.cc
M source/blender/nodes/geometry/nodes/node_geo_blur_attribute.cc
M source/blender/nodes/geometry/nodes/node_geo_convex_hull.cc
M source/blender/nodes/geometry/nodes/node_geo_delete_geometry.cc
M source/blender/nodes/geometry/nodes/node_geo_dual_mesh.cc
M source/blender/nodes/geometry/nodes/node_geo_duplicate_elements.cc
M source/blender/nodes/geometry/nodes/node_geo_extrude_mesh.cc
M source/blender/nodes/geometry/nodes/node_geo_input_mesh_edge_angle.cc
M source/blender/nodes/geometry/nodes/node_geo_input_mesh_edge_neighbors.cc
M source/blender/nodes/geometry/nodes/node_geo_input_mesh_face_is_planar.cc
M source/blender/nodes/geometry/nodes/node_geo_input_mesh_face_neighbors.cc
M source/blender/nodes/geometry/nodes/node_geo_input_mesh_vertex_neighbors.cc
M source/blender/nodes/geometry/nodes/node_geo_scale_elements.cc
M source/blender/nodes/geometry/nodes/node_geo_uv_pack_islands.cc
M source/blender/nodes/geometry/nodes/node_geo_uv_unwrap.cc
===================================================================
diff --git a/source/blender/blenkernel/intern/curve_to_mesh_convert.cc b/source/blender/blenkernel/intern/curve_to_mesh_convert.cc
index 364606e0cb3..1e40ef9a24a 100644
--- a/source/blender/blenkernel/intern/curve_to_mesh_convert.cc
+++ b/source/blender/blenkernel/intern/curve_to_mesh_convert.cc
@@ -144,7 +144,6 @@ static void fill_mesh_topology(const int vert_offset,
corner_edges[cap_loop_offset + i] = profile_edges_start + ((i == (profile_segment_num - 1)) ?
(profile_segment_num - 1) :
(i_inv - 1));
-
corner_verts[cap_loop_offset + profile_segment_num + i] = last_ring_vert_offset + i;
corner_edges[cap_loop_offset + profile_segment_num + i] = last_ring_edge_offset + i;
}
diff --git a/source/blender/blenkernel/intern/geometry_component_mesh.cc b/source/blender/blenkernel/intern/geometry_component_mesh.cc
index 2aafa3b7879..bdf41c43509 100644
--- a/source/blender/blenkernel/intern/geometry_component_mesh.cc
+++ b/source/blender/blenkernel/intern/geometry_component_mesh.cc
@@ -177,8 +177,8 @@ static void adapt_mesh_domain_corner_to_point_impl(const Mesh &mesh,
const Span<int> corner_verts = mesh.corner_verts();
attribute_math::DefaultMixer<T> mixer(r_values);
- for (const int corner_i : IndexRange(mesh.totloop)) {
- mixer.mix_in(corner_verts[corner_i], old_values[corner_i]);
+ for (const int corner : IndexRange(mesh.totloop)) {
+ mixer.mix_in(corner_verts[corner], old_values[corner]);
}
mixer.finalize();
}
@@ -195,11 +195,11 @@ void adapt_mesh_domain_corner_to_point_impl(const Mesh &mesh,
Array<bool> loose_verts(mesh.totvert, true);
r_values.fill(true);
- for (const int corner_i : IndexRange(mesh.totloop)) {
- const int point_index = corner_verts[corner_i];
+ for (const int corner : IndexRange(mesh.totloop)) {
+ const int point_index = corner_verts[corner];
loose_verts[point_index] = false;
- if (!old_values[corner_i]) {
+ if (!old_values[corner]) {
r_values[point_index] = false;
}
}
@@ -242,8 +242,8 @@ static GVArray adapt_mesh_domain_point_to_corner(const Mesh &mesh, const GVArray
attribute_math::convert_to_static_type(varray.type(), [&](auto dummy) {
using T = decltype(dummy);
new_varray = VArray<T>::ForFunc(
- mesh.totloop, [corner_verts, varray = varray.typed<T>()](const int64_t corner_i) {
- return varray[corner_verts[corner_i]];
+ mesh.totloop, [corner_verts, varray = varray.typed<T>()](const int64_t corner) {
+ return varray[corner_verts[corner]];
});
});
return new_varray;
@@ -383,8 +383,8 @@ void adapt_mesh_domain_face_to_point_impl(const Mesh &mesh,
for (const int poly_index : polys.index_range()) {
const MPoly &poly = polys[poly_index];
const T value = old_values[poly_index];
- for (const int vert_i : corner_verts.slice(poly.loopstart, poly.totloop)) {
- mixer.mix_in(vert_i, value);
+ for (const int vert : corner_verts.slice(poly.loopstart, poly.totloop)) {
+ mixer.mix_in(vert, value);
}
}
@@ -406,8 +406,8 @@ void adapt_mesh_domain_face_to_point_impl(const Mesh &mesh,
for (const int poly_index : range) {
if (old_values[poly_index]) {
const MPoly &poly = polys[poly_index];
- for (const int vert_i : corner_verts.slice(poly.loopstart, poly.totloop)) {
- r_values[vert_i] = true;
+ for (const int vert : corner_verts.slice(poly.loopstart, poly.totloop)) {
+ r_values[vert] = true;
}
}
}
@@ -472,8 +472,8 @@ void adapt_mesh_domain_face_to_edge_impl(const Mesh &mesh,
for (const int poly_index : polys.index_range()) {
const MPoly &poly = polys[poly_index];
const T value = old_values[poly_index];
- for (const int edge_i : corner_edges.slice(poly.loopstart, poly.totloop)) {
- mixer.mix_in(edge_i, value);
+ for (const int edge : corner_edges.slice(poly.loopstart, poly.totloop)) {
+ mixer.mix_in(edge, value);
}
}
mixer.finalize();
@@ -494,8 +494,8 @@ void adapt_mesh_domain_face_to_edge_impl(const Mesh &mesh,
for (const int poly_index : range) {
if (old_values[poly_index]) {
const MPoly &poly = polys[poly_index];
- for (const int edge_i : corner_edges.slice(poly.loopstart, poly.totloop)) {
- r_values[edge_i] = true;
+ for (const int edge : corner_edges.slice(poly.loopstart, poly.totloop)) {
+ r_values[edge] = true;
}
}
}
@@ -530,8 +530,8 @@ static GVArray adapt_mesh_domain_point_to_face(const Mesh &mesh, const GVArray &
[corner_verts, polys, varray = varray.typed<bool>()](const int face_index) {
/* A face is selected if all of its vertices were selected. */
const MPoly &poly = polys[face_index];
- for (const int vert_i : corner_verts.slice(poly.loopstart, poly.totloop)) {
- if (!varray[vert_i]) {
+ for (const int vert : corner_verts.slice(poly.loopstart, poly.totloop)) {
+ if (!varray[vert]) {
return false;
}
}
@@ -544,8 +544,8 @@ static GVArray adapt_mesh_domain_point_to_face(const Mesh &mesh, const GVArray &
T return_value;
attribute_math::DefaultMixer<T> mixer({&return_value, 1});
const MPoly &poly = polys[face_index];
- for (const int vert_i : corner_verts.slice(poly.loopstart, poly.totloop)) {
- mixer.mix_in(0, varray[vert_i]);
+ for (const int vert : corner_verts.slice(poly.loopstart, poly.totloop)) {
+ mixer.mix_in(0, varray[vert]);
}
mixer.finalize();
return return_value;
@@ -606,10 +606,10 @@ void adapt_mesh_domain_edge_to_corner_impl(const Mesh &mesh,
/* For every corner, mix the values from the adjacent edges on the face. */
for (const int loop_index : IndexRange(poly.loopstart, poly.totloop)) {
const int loop_index_prev = mesh_topology::poly_loop_prev(poly, loop_index);
- const int edge_i = corner_edges[loop_index];
- const int edge_i_prev = corner_edges[loop_index_prev];
- mixer.mix_in(loop_index, old_values[edge_i]);
- mixer.mix_in(loop_index, old_values[edge_i_prev]);
+ const int edge = corner_edges[loop_index];
+ const int edge_prev = corner_edges[loop_index_prev];
+ mixer.mix_in(loop_index, old_values[edge]);
+ mixer.mix_in(loop_index, old_values[edge_prev]);
}
}
@@ -633,9 +633,9 @@ void adapt_mesh_domain_edge_to_corner_impl(const Mesh &mesh,
const MPoly &poly = polys[poly_index];
for (const int loop_index : IndexRange(poly.loopstart, poly.totloop)) {
const int loop_index_prev = mesh_topology::poly_loop_prev(poly, loop_index);
- const int edge_i = corner_edges[loop_index];
- const int edge_i_prev = corner_edges[loop_index_prev];
- if (old_values[edge_i] && old_values[edge_i_prev]) {
+ const int edge = corner_edges[loop_index];
+ const int edge_prev = corner_edges[loop_index_prev];
+ if (old_values[edge] && old_values[edge_prev]) {
r_values[loop_index] = true;
}
}
@@ -726,8 +726,8 @@ static GVArray adapt_mesh_domain_edge_to_face(const Mesh &mesh, const GVArray &v
new_varray = VArray<bool>::ForFunc(
polys.size(), [corner_edges, polys, varray = varray.typed<T>()](const int face_index) {
const MPoly &poly = polys[face_index];
- for (const int edge_i : corner_edges.slice(poly.loopstart, poly.totloop)) {
- if (!varray[edge_i]) {
+ for (const int edge : corner_edges.slice(poly.loopstart, poly.totloop)) {
+ if (!varray[edge]) {
return false;
}
}
@@ -740,8 +740,8 @@ static GVArray adapt_mesh_domain_edge_to_face(const Mesh &mesh, const GVArray &v
T return_value;
attribute_math::DefaultMixer<T> mixer({&return_value, 1});
const MPoly &poly = polys[face_index];
- for (const int edge_i : corner_edges.slice(poly.loopstart, poly.totloop)) {
- mixer.mix_in(0, varray[edge_i]);
+ for (const int edge : corner_edges.slice(poly.loopstart, poly.totloop)) {
+ mixer.mix_in(0, varray[edge]);
}
mixer.finalize();
return return_value;
@@ -1247,9 +1247,11 @@ static ComponentAttributeProviders create_attribute_providers_for_mesh()
nullptr,
AttributeValidator{&material_index_clamp});
+ /* Note: This clamping is more of a last resort, since it's quite easy to make an
+ * invalid mesh that will crash Blender by arbitrarily editing this attribute. */
static const auto int_index_clamp = mf::build::SI1_SO<int, int>(
"Index Validate",
- [](int value) { return std::clamp<int>(value, 0, std::numeric_limits<int>::max()); },
+ [](int value) { return std::max(value, 0); },
mf::build::exec_presets::AllSpanOrSingle());
static BuiltinCustomDataLayerProvider corner_vert(".corner_vert",
ATTR_DOMAIN_CORNER,
diff --git a/source/blender/blenkernel/intern/mesh.cc b/source/blender/blenkernel/intern/mesh.cc
index 0f2d1951846..4eeaa878d78 100644
--- a/source/blender/blenkernel/intern/mesh.cc
+++ b/source/blender/blenkernel/intern/mesh.cc
@@ -570,7 +570,7 @@ static int customdata_compare(
if (StringRef(l1->name) == ".corner_edge") {
/* TODO(Hans): This attribute wasn't tested before loops were refactored into separate
- * corner edges and corner verts arrays. Remove after updating tests. */
+ * corner edges and corner verts attributes. Remove after updating tests. */
continue;
}
diff --git a/source/blender/blenkernel/intern/mesh_iterators.cc b/source/blender/blenkernel/intern/mesh_iterators.cc
index 2
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list