87 void Scale(
double scale)
override
90 m_clamp_length *= scale;
95 double m_clamp_length;
123 m_goal_center *= scale;
128 double ComputeTotalMass(
const IK_QSegment *segment);
129 Vector3d ComputeCenter(
const IK_QSegment *segment);
132 Vector3d m_goal_center;
133 double m_total_mass_inv;
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
void ComputeJacobian(IK_QJacobian &jacobian) override
double Distance() const override
IK_QCenterOfMassTask(bool primary, const IK_QSegment *segment, const Vector3d ¢er)
void Scale(double scale) override
IK_QOrientationTask(bool primary, const IK_QSegment *segment, const Matrix3d &goal)
double Distance() const override
void ComputeJacobian(IK_QJacobian &jacobian) override
void ComputeJacobian(IK_QJacobian &jacobian) override
double Distance() const override
void Scale(double scale) override
bool PositionTask() const override
IK_QPositionTask(bool primary, const IK_QSegment *segment, const Vector3d &goal)
virtual ~IK_QTask()=default
const IK_QSegment * m_segment
void SetWeight(double weight)
virtual void ComputeJacobian(IK_QJacobian &jacobian)=0
virtual double Distance() const =0
virtual bool PositionTask() const
virtual void Scale(double)
IK_QTask(int size, bool primary, bool active, const IK_QSegment *segment)