https://bugs.gentoo.org/728618 Backported by Victor Mataré From 30e5057f01627539dd170a1e831bb14278433deb Mon Sep 17 00:00:00 2001 From: Jochen Sprickerhof Date: Fri, 26 Jun 2020 17:04:12 +0200 Subject: [PATCH] Declare assignment operator private for SIP (Closes: #260) Starting with v4.19.23 SIP expects a working operator= or one marked private explicitly. All classes in this PR have a reference member (&chain) resulting in the compiler deleting the default assignment operator. This PR makes this known to SIP as well. --- python_orocos_kdl/PyKDL/dynamics.sip | 3 +++ python_orocos_kdl/PyKDL/kinfam.sip | 29 ++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/PyKDL/dynamics.sip b/python_orocos_kdl/PyKDL/dynamics.sip index e0096dd..36f833c 100644 --- a/PyKDL/dynamics.sip +++ b/PyKDL/dynamics.sip @@ -72,4 +72,7 @@ public: int JntToCoriolis(const JntArray &q, const JntArray &q_dot, JntArray &coriolis); int JntToMass(const JntArray &q, JntSpaceInertiaMatrix& H); int JntToGravity(const JntArray &q,JntArray &gravity); + +private: + ChainDynParam& operator=(const ChainDynParam&); }; diff --git a/PyKDL/kinfam.sip b/python_orocos_kdl/PyKDL/kinfam.sip index d87fd00..e87ceb8 100644 --- a/PyKDL/kinfam.sip +++ b/PyKDL/kinfam.sip @@ -344,6 +344,9 @@ public: ChainFkSolverPos_recursive(const Chain& chain); virtual int JntToCart(const JntArray& q_in, Frame& p_out,int segmentNr=-1); virtual void updateInternalDataStructures(); + +private: + ChainFkSolverPos_recursive& operator=(const ChainFkSolverPos_recursive&); }; class ChainFkSolverVel_recursive : ChainFkSolverVel @@ -357,6 +360,9 @@ public: virtual int JntToCart(const JntArrayVel& q_in ,FrameVel& out,int segmentNr=-1 ); virtual void updateInternalDataStructures(); + +private: + ChainFkSolverVel_recursive& operator=(const ChainFkSolverVel_recursive&); }; class ChainIkSolverPos : SolverI { @@ -392,6 +398,9 @@ public: virtual int CartToJnt(const JntArray& q_init , const Frame& p_in ,JntArray& q_out); virtual void updateInternalDataStructures(); + +private: + ChainIkSolverPos_NR& operator=(const ChainIkSolverPos_NR&); }; class ChainIkSolverPos_NR_JL : ChainIkSolverPos @@ -407,6 +416,9 @@ public: virtual int CartToJnt(const JntArray& q_init , const Frame& p_in ,JntArray& q_out); virtual void updateInternalDataStructures(); + +private: + ChainIkSolverPos_NR_JL& operator=(const ChainIkSolverPos_NR_JL&); }; class ChainIkSolverVel_pinv : ChainIkSolverVel @@ -420,6 +432,9 @@ public: virtual int CartToJnt(const JntArray& q_in, const Twist& v_in, JntArray& qdot_out); virtual void updateInternalDataStructures(); + +private: + ChainIkSolverVel_pinv& operator=(const ChainIkSolverVel_pinv&); }; class ChainIkSolverVel_wdls : ChainIkSolverVel @@ -506,6 +521,8 @@ public: void setLambda(const double& lambda); +private: + ChainIkSolverVel_wdls& operator=(const ChainIkSolverVel_wdls&); }; @@ -520,6 +537,9 @@ public: virtual int CartToJnt(const JntArray& q_init , const Frame& p_in ,JntArray& q_out); virtual void updateInternalDataStructures(); + +private: + ChainIkSolverPos_LMA& operator=(const ChainIkSolverPos_LMA&); }; @@ -546,6 +566,9 @@ public: const JntArray& getOptPos()const /Factory/; const double& getAlpha()const /Factory/; + +private: + ChainIkSolverVel_pinv_nso& operator=(const ChainIkSolverVel_pinv_nso&); }; class ChainIkSolverVel_pinv_givens : ChainIkSolverVel @@ -559,6 +582,9 @@ public: virtual int CartToJnt(const JntArray& q_in, const Twist& v_in, JntArray& qdot_out); virtual void updateInternalDataStructures(); + +private: + ChainIkSolverVel_pinv_givens& operator=(const ChainIkSolverVel_pinv_givens&); }; class ChainJntToJacSolver : SolverI @@ -571,4 +597,7 @@ public: ChainJntToJacSolver(const Chain& chain); int JntToJac(const JntArray& q_in,Jacobian& jac); virtual void updateInternalDataStructures(); + +private: + ChainJntToJacSolver& operator=(const ChainJntToJacSolver&); }; -- 2.27.0