48 IK_QSegment *tip, Vector3d &goal, Vector3d &polegoal,
float poleangle,
bool getangle);
59 std::list<IK_QTask *> tasks,
60 const double tolerance,
61 const int max_iterations);
65 bool UpdateAngles(
double &
norm);
66 void ConstrainPoleVector(
IK_QSegment *root, std::list<IK_QTask *> &tasks);
68 double ComputeScale();
69 void Scale(
double scale, std::list<IK_QTask *> &tasks);
75 bool m_secondary_enabled;
77 std::vector<IK_QSegment *> m_segments;
79 Affine3d m_rootmatrix;
81 bool m_poleconstraint;
SIMD_FORCE_INLINE btScalar norm() const
Return the norm (length) of the vector.
void SetPoleVectorConstraint(IK_QSegment *tip, Vector3d &goal, Vector3d &polegoal, float poleangle, bool getangle)
bool Solve(IK_QSegment *root, std::list< IK_QTask * > tasks, const double tolerance, const int max_iterations)
bool Setup(IK_QSegment *root, std::list< IK_QTask * > &tasks)