diff options
Diffstat (limited to 'source/blender/blenkernel/intern/curve_to_mesh_convert.cc')
-rw-r--r-- | source/blender/blenkernel/intern/curve_to_mesh_convert.cc | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/source/blender/blenkernel/intern/curve_to_mesh_convert.cc b/source/blender/blenkernel/intern/curve_to_mesh_convert.cc index 3a86068d8e8..26c56df3e81 100644 --- a/source/blender/blenkernel/intern/curve_to_mesh_convert.cc +++ b/source/blender/blenkernel/intern/curve_to_mesh_convert.cc @@ -191,7 +191,7 @@ static void fill_mesh_positions(const int main_point_num, const Span<float3> tangents, const Span<float3> normals, const Span<float> radii, - MutableSpan<MVert> mesh_positions) + MutableSpan<float3> mesh_positions) { if (profile_point_num == 1) { for (const int i_ring : IndexRange(main_point_num)) { @@ -200,9 +200,7 @@ static void fill_mesh_positions(const int main_point_num, if (!radii.is_empty()) { point_matrix.apply_scale(radii[i_ring]); } - - MVert &vert = mesh_positions[i_ring]; - copy_v3_v3(vert.co, point_matrix * profile_positions.first()); + mesh_positions[i_ring] = point_matrix * profile_positions.first(); } } else { @@ -215,8 +213,7 @@ static void fill_mesh_positions(const int main_point_num, const int ring_vert_start = i_ring * profile_point_num; for (const int i_profile : IndexRange(profile_point_num)) { - MVert &vert = mesh_positions[ring_vert_start + i_profile]; - copy_v3_v3(vert.co, point_matrix * profile_positions[i_profile]); + mesh_positions[ring_vert_start + i_profile] = point_matrix * profile_positions[i_profile]; } } } @@ -644,7 +641,7 @@ Mesh *curve_to_mesh_sweep(const CurvesGeometry &main, offsets.vert.last(), offsets.edge.last(), 0, offsets.loop.last(), offsets.poly.last()); mesh->flag |= ME_AUTOSMOOTH; mesh->smoothresh = DEG2RADF(180.0f); - MutableSpan<MVert> verts = mesh->verts_for_write(); + MutableSpan<float3> positions = mesh->positions_for_write(); MutableSpan<MEdge> edges = mesh->edges_for_write(); MutableSpan<MPoly> polys = mesh->polys_for_write(); MutableSpan<MLoop> loops = mesh->loops_for_write(); @@ -692,7 +689,7 @@ Mesh *curve_to_mesh_sweep(const CurvesGeometry &main, tangents.slice(info.main_points), normals.slice(info.main_points), radii.is_empty() ? radii : radii.slice(info.main_points), - verts.slice(info.vert_range)); + positions.slice(info.vert_range)); }); if (profile.curve_type_counts()[CURVE_TYPE_BEZIER] > 0) { |