From 6d11e2206de7a4f95c188b558af3080b01dedc55 Mon Sep 17 00:00:00 2001 From: wmayer Date: Fri, 24 Nov 2023 11:26:02 +0100 Subject: [PATCH] Part: fix BSplineCurve2dPy::insertKnot --- src/Mod/Part/App/Geom2d/BSplineCurve2dPyImp.cpp | 6 ++++-- src/Mod/Part/parttests/Geom2d_tests.py | 7 ++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/Mod/Part/App/Geom2d/BSplineCurve2dPyImp.cpp b/src/Mod/Part/App/Geom2d/BSplineCurve2dPyImp.cpp index 5d6b574b62..1de80b021e 100644 --- a/src/Mod/Part/App/Geom2d/BSplineCurve2dPyImp.cpp +++ b/src/Mod/Part/App/Geom2d/BSplineCurve2dPyImp.cpp @@ -166,10 +166,12 @@ PyObject* BSplineCurve2dPy::incrementMultiplicity(PyObject * args) PyObject* BSplineCurve2dPy::insertKnot(PyObject * args) { - double U, tol = 0.0; + double U; + double tol = 0.0; int M=1; - if (!PyArg_ParseTuple(args, "d|idO!", &U, &M, &tol)) + if (!PyArg_ParseTuple(args, "d|id", &U, &M, &tol)) { return nullptr; + } try { Handle(Geom2d_BSplineCurve) curve = Handle(Geom2d_BSplineCurve)::DownCast diff --git a/src/Mod/Part/parttests/Geom2d_tests.py b/src/Mod/Part/parttests/Geom2d_tests.py index c9f8b48eaf..5db201ae2c 100644 --- a/src/Mod/Part/parttests/Geom2d_tests.py +++ b/src/Mod/Part/parttests/Geom2d_tests.py @@ -17,4 +17,9 @@ class Geom2dTests(unittest.TestCase): e1 = l12.toShape() e2 = l12.toShape(surf) self.assertNotEqual(e1.curveOnSurface(0), None) - self.assertNotEqual(e2.curveOnSurface(0), None) \ No newline at end of file + self.assertNotEqual(e2.curveOnSurface(0), None) + + def test_insertKnot(self): + with self.assertRaises(TypeError): + curve = Part.Geom2d.BSplineCurve2d() + curve.insertKnot(0.5, 1, 0.01, 2)