diff options
author | Hans Goudey <h.goudey@me.com> | 2022-03-01 20:06:11 +0300 |
---|---|---|
committer | Hans Goudey <h.goudey@me.com> | 2022-03-01 20:06:29 +0300 |
commit | 444d57d440459304a248ba75e1936b69be4d09dd (patch) | |
tree | a46df9fb2ac5e4a428f98202c50181f3958716cc /source/blender/blenkernel/intern/curves.cc | |
parent | 89bf5d8ba98f4236f97777d14d3a6029f0471e42 (diff) |
Geometry Nodes: Port most curve primitives to new data-block
Create `Curves` directly, instead of using the conversion from
`CurveEval`. This means that the `tilt` and `radius` attributes
don't need to be allocated. The old behavior is kept by using the
right defaults in the conversion to `CurveEval` later on.
The Bezier segment primitive isn't ported yet, because functions
to provide easy access to built-in attributes used for Bezier curves
haven't been added yet.
Differential Revision: https://developer.blender.org/D14212
Diffstat (limited to 'source/blender/blenkernel/intern/curves.cc')
-rw-r--r-- | source/blender/blenkernel/intern/curves.cc | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/curves.cc b/source/blender/blenkernel/intern/curves.cc index c7aaf4718fe..838f7f28e93 100644 --- a/source/blender/blenkernel/intern/curves.cc +++ b/source/blender/blenkernel/intern/curves.cc @@ -374,4 +374,13 @@ Curves *curves_new_nomain(const int point_size, const int curves_size) return curves; } +Curves *curves_new_nomain_single(const int point_size, const CurveType type) +{ + Curves *curves = curves_new_nomain(point_size, 1); + CurvesGeometry &geometry = CurvesGeometry::wrap(curves->geometry); + geometry.offsets().last() = point_size; + geometry.curve_types().first() = type; + return curves; +} + } // namespace blender::bke |