From e5dcbf1f456afad4634fd4a7b1cc21bfdebb2847 Mon Sep 17 00:00:00 2001 From: Paddle Date: Wed, 17 Jan 2024 08:06:10 +0100 Subject: [PATCH] Sketcher: add isPeriodicBsplineCurve helper function --- src/Mod/Sketcher/Gui/Utils.cpp | 9 +++++++++ src/Mod/Sketcher/Gui/Utils.h | 1 + 2 files changed, 10 insertions(+) diff --git a/src/Mod/Sketcher/Gui/Utils.cpp b/src/Mod/Sketcher/Gui/Utils.cpp index dc76c2ae1c..2c8af981d8 100644 --- a/src/Mod/Sketcher/Gui/Utils.cpp +++ b/src/Mod/Sketcher/Gui/Utils.cpp @@ -88,6 +88,15 @@ bool Sketcher::isBSplineCurve(const Part::Geometry& geom) return geom.is(); } +bool Sketcher::isPeriodicBSplineCurve(const Part::Geometry& geom) +{ + if (geom.is()) { + auto* spline = static_cast(&geom); + return spline->isPeriodic(); + } + return false; +} + bool Sketcher::isPoint(const Part::Geometry& geom) { return geom.is(); diff --git a/src/Mod/Sketcher/Gui/Utils.h b/src/Mod/Sketcher/Gui/Utils.h index 09f984110a..07d6a6acff 100644 --- a/src/Mod/Sketcher/Gui/Utils.h +++ b/src/Mod/Sketcher/Gui/Utils.h @@ -61,6 +61,7 @@ bool isLineSegment(const Part::Geometry&); bool isArcOfHyperbola(const Part::Geometry&); bool isArcOfParabola(const Part::Geometry&); bool isBSplineCurve(const Part::Geometry&); +bool isPeriodicBSplineCurve(const Part::Geometry&); bool isPoint(const Part::Geometry&); bool isCircleOrArc(const Part::Geometry& geo);