diff options
author | Hans Goudey <h.goudey@me.com> | 2022-03-18 18:30:27 +0300 |
---|---|---|
committer | Hans Goudey <h.goudey@me.com> | 2022-03-18 18:30:27 +0300 |
commit | 5d7f4f2cab20a936df4bcdb60e9a6943d41566d3 (patch) | |
tree | 39ccb73e9bcebc62a64e2182d9eb8ccb9f606ecd /source/blender/nodes | |
parent | fe9e7036b00716d8ac986db5b9f832ec80d0a62b (diff) |
Curves: Port transform node to new data-block
Make the new curves' translate and transform functions also affect
the handle position attributes.
Differential Revision: https://developer.blender.org/D14372
Diffstat (limited to 'source/blender/nodes')
-rw-r--r-- | source/blender/nodes/geometry/nodes/node_geo_transform.cc | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/source/blender/nodes/geometry/nodes/node_geo_transform.cc b/source/blender/nodes/geometry/nodes/node_geo_transform.cc index 9159ac081e0..a04544e2814 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_transform.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_transform.cc @@ -13,7 +13,6 @@ #include "BKE_curves.hh" #include "BKE_mesh.h" #include "BKE_pointcloud.h" -#include "BKE_spline.hh" #include "BKE_volume.h" #include "DEG_depsgraph_query.h" @@ -127,9 +126,7 @@ static void translate_geometry_set(GeometrySet &geometry, const Depsgraph &depsgraph) { if (Curves *curves = geometry.get_curves_for_write()) { - std::unique_ptr<CurveEval> curve = curves_to_curve_eval(*curves); - curve->translate(translation); - geometry.replace_curves(curve_eval_to_curves(*curve)); + bke::CurvesGeometry::wrap(curves->geometry).translate(translation); } if (Mesh *mesh = geometry.get_mesh_for_write()) { translate_mesh(*mesh, translation); @@ -150,9 +147,7 @@ void transform_geometry_set(GeometrySet &geometry, const Depsgraph &depsgraph) { if (Curves *curves = geometry.get_curves_for_write()) { - std::unique_ptr<CurveEval> curve = curves_to_curve_eval(*curves); - curve->transform(transform); - geometry.replace_curves(curve_eval_to_curves(*curve)); + bke::CurvesGeometry::wrap(curves->geometry).transform(transform); } if (Mesh *mesh = geometry.get_mesh_for_write()) { transform_mesh(*mesh, transform); |