diff options
author | Hans Goudey <h.goudey@me.com> | 2022-03-08 04:06:40 +0300 |
---|---|---|
committer | Hans Goudey <h.goudey@me.com> | 2022-03-08 04:06:40 +0300 |
commit | 901a03725ed58166e5b2401dfadd7c1cb7e490a2 (patch) | |
tree | ace4bc1b2a7dd9135aa5b0291d3d1bda2a46e1b7 /source/blender/geometry/GEO_mesh_to_curve.hh | |
parent | c238728105272b0f11ff5b03a701cc180bf68bb8 (diff) |
Curves: Port mesh to curve node to new data-block
The main improvement is a code simplification, because attributes don't
have to be transferred separately for each curve, and all attributes can
be handled generically. Performance improves significantly when the
output contains many curves. Basic testing with a 2 million curve output
shows an approximate 10x performance improvement.
Diffstat (limited to 'source/blender/geometry/GEO_mesh_to_curve.hh')
-rw-r--r-- | source/blender/geometry/GEO_mesh_to_curve.hh | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/source/blender/geometry/GEO_mesh_to_curve.hh b/source/blender/geometry/GEO_mesh_to_curve.hh index a99ee9c7fee..c480e4178cf 100644 --- a/source/blender/geometry/GEO_mesh_to_curve.hh +++ b/source/blender/geometry/GEO_mesh_to_curve.hh @@ -2,11 +2,10 @@ #include "BLI_index_mask.hh" -#include "BKE_spline.hh" - #pragma once struct Mesh; +struct Curves; class MeshComponent; /** \file @@ -20,7 +19,6 @@ namespace blender::geometry { * intersections of more than three edges will become breaks in splines. Attributes that * are not built-in on meshes and not curves are transferred to the result curve. */ -std::unique_ptr<CurveEval> mesh_to_curve_convert(const MeshComponent &mesh_component, - const IndexMask selection); +Curves *mesh_to_curve_convert(const MeshComponent &mesh_component, const IndexMask selection); } // namespace blender::geometry |