[Bf-blender-cvs] [10a5b1663db] refactor-mesh-corners-generic: Fix errors in new Blur node
Hans Goudey
noreply at git.blender.org
Thu Dec 8 20:17:49 CET 2022
Commit: 10a5b1663db873848c0c5e03982ec25ca86253c8
Author: Hans Goudey
Date: Thu Dec 8 12:51:03 2022 -0600
Branches: refactor-mesh-corners-generic
https://developer.blender.org/rB10a5b1663db873848c0c5e03982ec25ca86253c8
Fix errors in new Blur node
===================================================================
M source/blender/nodes/geometry/nodes/node_geo_blur_attribute.cc
===================================================================
diff --git a/source/blender/nodes/geometry/nodes/node_geo_blur_attribute.cc b/source/blender/nodes/geometry/nodes/node_geo_blur_attribute.cc
index f53364aebdb..405862de0fa 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_blur_attribute.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_blur_attribute.cc
@@ -159,34 +159,34 @@ static Array<Vector<int>> build_edge_to_edge_by_vert_map(const Span<MEdge> edges
}
static Array<Vector<int>> build_face_to_edge_by_loop_map(const Span<MPoly> polys,
- const Span<MLoop> loops,
+ const Span<int> corner_edges,
const int edges_num)
{
Array<Vector<int>> map(edges_num);
for (const int i : polys.index_range()) {
const MPoly &poly = polys[i];
- for (const MLoop &loop : loops.slice(poly.loopstart, poly.totloop)) {
- map[loop.e].append(i);
+ for (const int edge : corner_edges.slice(poly.loopstart, poly.totloop)) {
+ map[edge].append(i);
}
}
return map;
}
static Array<Vector<int>> build_face_to_face_by_edge_map(const Span<MPoly> polys,
- const Span<MLoop> loops,
+ const Span<int> corner_edges,
const int edges_num,
const IndexMask poly_mask)
{
Array<Vector<int>> map(polys.size());
- Array<Vector<int>> faces_by_edge = build_face_to_edge_by_loop_map(polys, loops, edges_num);
+ Array<Vector<int>> faces_by_edge = build_face_to_edge_by_loop_map(
+ polys, corner_edges, edges_num);
threading::parallel_for(poly_mask.index_range(), 1024, [&](IndexRange range) {
for (const int poly_i : poly_mask.slice(range)) {
const MPoly &poly = polys[poly_i];
- for (const MLoop &loop : loops.slice(poly.loopstart, poly.totloop)) {
- const int edge_i = loop.e;
- if (faces_by_edge[edge_i].size() > 1) {
- for (const int neighbor : faces_by_edge[edge_i]) {
+ for (const int edge : corner_edges.slice(poly.loopstart, poly.totloop)) {
+ if (faces_by_edge[edge].size() > 1) {
+ for (const int neighbor : faces_by_edge[edge]) {
if (neighbor != poly_i) {
map[poly_i].append(neighbor);
}
@@ -215,9 +215,9 @@ static Array<Vector<int>> create_mesh_map(const Mesh &mesh,
}
case ATTR_DOMAIN_FACE: {
const Span<MPoly> polys = mesh.polys();
- const Span<MLoop> loops = mesh.loops();
+ const Span<int> corner_edges = mesh.corner_edges();
const int edges_num = mesh.totedge;
- return build_face_to_face_by_edge_map(polys, loops, edges_num, mask);
+ return build_face_to_face_by_edge_map(polys, corner_edges, edges_num, mask);
}
case ATTR_DOMAIN_CORNER: {
return {};
More information about the Bf-blender-cvs
mailing list