[Bf-blender-cvs] [c525fcb9a35] refactor-mesh-position-generic: Merge branch 'master' into refactor-mesh-position-generic
Hans Goudey
noreply at git.blender.org
Fri Jan 6 16:05:35 CET 2023
Commit: c525fcb9a3533d7fe949ac71bd9c2754217936c6
Author: Hans Goudey
Date: Fri Jan 6 09:44:49 2023 -0500
Branches: refactor-mesh-position-generic
https://developer.blender.org/rBc525fcb9a3533d7fe949ac71bd9c2754217936c6
Merge branch 'master' into refactor-mesh-position-generic
===================================================================
===================================================================
diff --cc source/blender/geometry/intern/mesh_to_curve_convert.cc
index e283ee48a3b,8047f1dc312..f96661fecbb
--- a/source/blender/geometry/intern/mesh_to_curve_convert.cc
+++ b/source/blender/geometry/intern/mesh_to_curve_convert.cc
@@@ -209,13 -211,17 +211,16 @@@ static Vector<std::pair<int, int>> get_
return selected_edges;
}
- bke::CurvesGeometry mesh_to_curve_convert(const Mesh &mesh, const IndexMask selection)
+ bke::CurvesGeometry mesh_to_curve_convert(
+ const Mesh &mesh,
+ const IndexMask selection,
+ const bke::AnonymousAttributePropagationInfo &propagation_info)
{
Vector<std::pair<int, int>> selected_edges = get_selected_edges(mesh, selection);
- const Span<MVert> verts = mesh.verts();
- CurveFromEdgesOutput output = edges_to_curve_point_indices(verts, selected_edges);
+ CurveFromEdgesOutput output = edges_to_curve_point_indices(mesh.totvert, selected_edges);
return create_curve_from_vert_indices(
- mesh, output.vert_indices, output.curve_offsets, output.cyclic_curves);
+ mesh, output.vert_indices, output.curve_offsets, output.cyclic_curves, propagation_info);
}
} // namespace blender::geometry
diff --cc source/blender/nodes/geometry/nodes/node_geo_dual_mesh.cc
index 18a2e8eb275,b076f0b7261..8e51e8ac2b5
--- a/source/blender/nodes/geometry/nodes/node_geo_dual_mesh.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_dual_mesh.cc
@@@ -606,9 -609,11 +609,11 @@@ static void dissolve_redundant_verts(co
*
* Some special cases are needed for boundaries and non-manifold geometry.
*/
- static Mesh *calc_dual_mesh(const Mesh &src_mesh, const bool keep_boundaries)
+ static Mesh *calc_dual_mesh(const Mesh &src_mesh,
+ const bool keep_boundaries,
+ const AnonymousAttributePropagationInfo &propagation_info)
{
- const Span<MVert> src_verts = src_mesh.verts();
+ const Span<float3> src_positions = src_mesh.vert_positions();
const Span<MEdge> src_edges = src_mesh.edges();
const Span<MPoly> src_polys = src_mesh.polys();
const Span<MLoop> src_loops = src_mesh.loops();
diff --cc source/blender/nodes/geometry/nodes/node_geo_duplicate_elements.cc
index 60a24acf258,cd191fa8498..0dfebb1362c
--- a/source/blender/nodes/geometry/nodes/node_geo_duplicate_elements.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_duplicate_elements.cc
@@@ -882,12 -901,14 +898,13 @@@ static void duplicate_points_curve(Geom
static void duplicate_points_mesh(GeometrySet &geometry_set,
const Field<int> &count_field,
const Field<bool> &selection_field,
- const IndexAttributes &attribute_outputs)
+ const IndexAttributes &attribute_outputs,
+ const AnonymousAttributePropagationInfo &propagation_info)
{
const Mesh &mesh = *geometry_set.get_mesh_for_read();
- const Span<MVert> src_verts = mesh.verts();
bke::MeshFieldContext field_context{mesh, ATTR_DOMAIN_POINT};
- FieldEvaluator evaluator{field_context, src_verts.size()};
+ FieldEvaluator evaluator{field_context, mesh.totvert};
evaluator.add(count_field);
evaluator.set_selection(selection_field);
evaluator.evaluate();
More information about the Bf-blender-cvs
mailing list