diff --git a/src/Base/PlacementPy.xml b/src/Base/PlacementPy.xml index f2dc26dbcbb3..72d68d2ffe95 100644 --- a/src/Base/PlacementPy.xml +++ b/src/Base/PlacementPy.xml @@ -105,7 +105,7 @@ Placement(Base, Axis, Angle) -- define position and rotation - sclerp(t, placement2, shorten = True): interpolate between self and placement2. + sclerp(placement2, t, shorten = True): interpolate between self and placement2. Interpolation is a continuous motion along a helical path, made of equal transforms if discretized. t = 0.0 - return self. t = 1.0 - return placement2. t can also be outside of 0..1 range, for extrapolation. If quaternions of rotations of the two placements differ in sign, the interpolation will diff --git a/src/Base/PlacementPyImp.cpp b/src/Base/PlacementPyImp.cpp index 0ff7ebe2da62..ddf86dedb454 100644 --- a/src/Base/PlacementPyImp.cpp +++ b/src/Base/PlacementPyImp.cpp @@ -245,7 +245,7 @@ PyObject* PlacementPy::sclerp(PyObject* args) PyObject* pyplm2; double t; PyObject* shorten = Py_True; - if (!PyArg_ParseTuple(args, "dO!|O!", &t, &(PlacementPy::Type), &pyplm2, &(PyBool_Type), &shorten)) + if (!PyArg_ParseTuple(args, "O!d|O!", &(PlacementPy::Type), &pyplm2, &t, &(PyBool_Type), &shorten)) return nullptr; Base::Placement plm2 = static_cast(pyplm2)->value(); Base::Placement ret = Base::Placement::sclerp(*getPlacementPtr(), plm2, t, PyObject_IsTrue(shorten));