Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Goudey <h.goudey@me.com>2022-03-01 20:06:11 +0300
committerHans Goudey <h.goudey@me.com>2022-03-01 20:06:29 +0300
commit444d57d440459304a248ba75e1936b69be4d09dd (patch)
treea46df9fb2ac5e4a428f98202c50181f3958716cc /source/blender/blenkernel/intern/curves.cc
parent89bf5d8ba98f4236f97777d14d3a6029f0471e42 (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.cc9
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