[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