[Bf-blender-cvs] [eeb0279e890] master: Geometry Nodes: Use std::move in dual mesh node

Wannes Malfait noreply at git.blender.org
Mon Feb 28 21:16:18 CET 2022


Commit: eeb0279e890e7b021e0ac9dd48d2bcf6bef8300b
Author: Wannes Malfait
Date:   Mon Feb 28 15:16:01 2022 -0500
Branches: master
https://developer.blender.org/rBeeb0279e890e7b021e0ac9dd48d2bcf6bef8300b

Geometry Nodes: Use std::move in dual mesh node

Add a std::move in some places to prevent arrays from being copied.
These cases were potentially optimized by the compiler, but this makes
it more explicit.

Differential Revision: https://developer.blender.org/D14129

===================================================================

M	source/blender/nodes/geometry/nodes/node_geo_dual_mesh.cc

===================================================================

diff --git a/source/blender/nodes/geometry/nodes/node_geo_dual_mesh.cc b/source/blender/nodes/geometry/nodes/node_geo_dual_mesh.cc
index f50c2ed5322..5a2c32a6c8e 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_dual_mesh.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_dual_mesh.cc
@@ -646,13 +646,13 @@ static void calc_dual_mesh(GeometrySet &geometry_set,
         Array<int> shared_edges(loop_indices.size());
         vertex_ok = sort_vertex_polys(
             mesh_in, i, false, edge_types, loop_indices, shared_edges, sorted_corners);
-        vertex_shared_edges[i] = shared_edges;
+        vertex_shared_edges[i] = std::move(shared_edges);
       }
       else {
         Array<int> shared_edges(loop_indices.size() - 1);
         vertex_ok = sort_vertex_polys(
             mesh_in, i, true, edge_types, loop_indices, shared_edges, sorted_corners);
-        vertex_shared_edges[i] = shared_edges;
+        vertex_shared_edges[i] = std::move(shared_edges);
       }
       if (!vertex_ok) {
         /* The sorting failed which means that the vertex is non-manifold and should be ignored
@@ -660,7 +660,7 @@ static void calc_dual_mesh(GeometrySet &geometry_set,
         vertex_types[i] = VertexType::NonManifold;
         continue;
       }
-      vertex_corners[i] = sorted_corners;
+      vertex_corners[i] = std::move(sorted_corners);
     }
   });



More information about the Bf-blender-cvs mailing list