IK
[blender.git] / intern / iksolver / intern / IK_QTask.h
index 26beaa386229e310f465ab4319e3c9ada0672aff..f2fd34119a1e19658a3b87065b99768af7f3b0ed 100644 (file)
@@ -77,6 +77,8 @@ public:
 
        virtual bool PositionTask() const { return false; }
 
+       virtual void Scale(float scale) {}
+
 protected:
        int m_id;
        int m_size;
@@ -100,6 +102,7 @@ public:
        MT_Scalar Distance() const;
 
        bool PositionTask() const { return true; }
+       void Scale(float scale) { m_goal *= scale; m_clamp_length *= scale; }
 
 private:
        MT_Vector3 m_goal;
@@ -137,6 +140,8 @@ public:
 
        MT_Scalar Distance() const;
 
+       void Scale(float scale) { m_goal_center *= scale; m_distance *= scale; }
+
 private:
        MT_Scalar ComputeTotalMass(const IK_QSegment *segment);
        MT_Vector3 ComputeCenter(const IK_QSegment *segment);