From 87a3bf33564b035e4c2400098ea4932d5dfdba5d Mon Sep 17 00:00:00 2001 From: Hans Goudey Date: Thu, 7 Apr 2022 18:10:05 -0500 Subject: Cleanup: Define new curves normal mode in DNA Don't include the tangent mode for now, since that was never implemented for geometry nodes curves. --- source/blender/blenkernel/intern/curve_eval.cc | 14 ++++++-------- source/blender/blenkernel/intern/spline_base.cc | 9 ++------- 2 files changed, 8 insertions(+), 15 deletions(-) (limited to 'source/blender/blenkernel/intern') diff --git a/source/blender/blenkernel/intern/curve_eval.cc b/source/blender/blenkernel/intern/curve_eval.cc index 122df12261c..9b1fd510fa8 100644 --- a/source/blender/blenkernel/intern/curve_eval.cc +++ b/source/blender/blenkernel/intern/curve_eval.cc @@ -189,18 +189,17 @@ static HandleType handle_type_from_dna_bezt(const eBezTriple_Handle dna_handle_t return BEZIER_HANDLE_AUTO; } -static Spline::NormalCalculationMode normal_mode_from_dna_curve(const int twist_mode) +static NormalMode normal_mode_from_dna_curve(const int twist_mode) { switch (twist_mode) { case CU_TWIST_Z_UP: - return Spline::NormalCalculationMode::ZUp; - case CU_TWIST_MINIMUM: - return Spline::NormalCalculationMode::Minimum; case CU_TWIST_TANGENT: - return Spline::NormalCalculationMode::Tangent; + return NORMAL_MODE_Z_UP; + case CU_TWIST_MINIMUM: + return NORMAL_MODE_MINIMUM_TWIST; } BLI_assert_unreachable(); - return Spline::NormalCalculationMode::Minimum; + return NORMAL_MODE_MINIMUM_TWIST; } static KnotsMode knots_mode_from_dna_nurb(const short flag) @@ -333,8 +332,7 @@ std::unique_ptr curve_eval_from_dna_curve(const Curve &dna_curve, /* Normal mode is stored separately in each spline to facilitate combining * splines from multiple curve objects, where the value may be different. */ - const Spline::NormalCalculationMode normal_mode = normal_mode_from_dna_curve( - dna_curve.twist_mode); + const NormalMode normal_mode = normal_mode_from_dna_curve(dna_curve.twist_mode); for (SplinePtr &spline : curve->splines()) { spline->normal_mode = normal_mode; } diff --git a/source/blender/blenkernel/intern/spline_base.cc b/source/blender/blenkernel/intern/spline_base.cc index eecb374cd63..7704a74841a 100644 --- a/source/blender/blenkernel/intern/spline_base.cc +++ b/source/blender/blenkernel/intern/spline_base.cc @@ -377,19 +377,14 @@ Span Spline::evaluated_normals() const /* Only Z up normals are supported at the moment. */ switch (this->normal_mode) { - case ZUp: { + case NORMAL_MODE_Z_UP: { calculate_normals_z_up(tangents, normals); break; } - case Minimum: { + case NORMAL_MODE_MINIMUM_TWIST: { calculate_normals_minimum(tangents, is_cyclic_, normals); break; } - case Tangent: { - /* Tangent mode is not yet supported. */ - calculate_normals_z_up(tangents, normals); - break; - } } /* Rotate the generated normals with the interpolated tilt data. */ -- cgit v1.2.3