From 6b1034d5203e1040bc9211cb765fa1cc3c05b7e2 Mon Sep 17 00:00:00 2001 From: Hans Goudey Date: Mon, 10 May 2021 19:17:15 -0500 Subject: Cleanup: Use a helper function for repetitive code Retrieving data from the component can be done in a separate function to save some repetition. --- .../blenkernel/intern/geometry_component_curve.cc | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'source/blender/blenkernel/intern') diff --git a/source/blender/blenkernel/intern/geometry_component_curve.cc b/source/blender/blenkernel/intern/geometry_component_curve.cc index 0490d577b88..503670861a5 100644 --- a/source/blender/blenkernel/intern/geometry_component_curve.cc +++ b/source/blender/blenkernel/intern/geometry_component_curve.cc @@ -136,6 +136,20 @@ int CurveComponent::attribute_domain_size(const AttributeDomain domain) const return 0; } +static CurveEval *get_curve_from_component_for_write(GeometryComponent &component) +{ + BLI_assert(component.type() == GEO_COMPONENT_TYPE_CURVE); + CurveComponent &curve_component = static_cast(component); + return curve_component.get_for_write(); +} + +static const CurveEval *get_curve_from_component_for_read(const GeometryComponent &component) +{ + BLI_assert(component.type() == GEO_COMPONENT_TYPE_CURVE); + const CurveComponent &curve_component = static_cast(component); + return curve_component.get_for_read(); +} + namespace blender::bke { class BuiltinSplineAttributeProvider final : public BuiltinAttributeProvider { @@ -164,8 +178,7 @@ class BuiltinSplineAttributeProvider final : public BuiltinAttributeProvider { GVArrayPtr try_get_for_read(const GeometryComponent &component) const final { - const CurveComponent &curve_component = static_cast(component); - const CurveEval *curve = curve_component.get_for_read(); + const CurveEval *curve = get_curve_from_component_for_read(component); if (curve == nullptr) { return {}; } @@ -178,8 +191,7 @@ class BuiltinSplineAttributeProvider final : public BuiltinAttributeProvider { if (writable_ != Writable) { return {}; } - CurveComponent &curve_component = static_cast(component); - CurveEval *curve = curve_component.get_for_write(); + CurveEval *curve = get_curve_from_component_for_write(component); if (curve == nullptr) { return {}; } -- cgit v1.2.3