[Bf-blender-cvs] [869c334] blender-v2.76-release: Fix T43715: IK pole target + stretch not working for a single bone chain.
Brecht Van Lommel
noreply at git.blender.org
Wed Sep 23 16:12:03 CEST 2015
Commit: 869c3344c92cf29d7081f64e3d0f45d66c59cf0a
Author: Brecht Van Lommel
Date: Mon Sep 21 01:48:37 2015 +0200
Branches: blender-v2.76-release
https://developer.blender.org/rB869c3344c92cf29d7081f64e3d0f45d66c59cf0a
Fix T43715: IK pole target + stretch not working for a single bone chain.
===================================================================
M intern/iksolver/intern/IK_Solver.cpp
===================================================================
diff --git a/intern/iksolver/intern/IK_Solver.cpp b/intern/iksolver/intern/IK_Solver.cpp
index 65ea4d6..eb18cde 100644
--- a/intern/iksolver/intern/IK_Solver.cpp
+++ b/intern/iksolver/intern/IK_Solver.cpp
@@ -292,6 +292,7 @@ void IK_SolverAddGoal(IK_Solver *solver, IK_Segment *tip, float goal[3], float w
IK_QSolver *qsolver = (IK_QSolver *)solver;
IK_QSegment *qtip = (IK_QSegment *)tip;
+ // in case of composite segment the second segment is the tip
if (qtip->Composite())
qtip = qtip->Composite();
@@ -310,6 +311,7 @@ void IK_SolverAddGoalOrientation(IK_Solver *solver, IK_Segment *tip, float goal[
IK_QSolver *qsolver = (IK_QSolver *)solver;
IK_QSegment *qtip = (IK_QSegment *)tip;
+ // in case of composite segment the second segment is the tip
if (qtip->Composite())
qtip = qtip->Composite();
@@ -331,6 +333,10 @@ void IK_SolverSetPoleVectorConstraint(IK_Solver *solver, IK_Segment *tip, float
IK_QSolver *qsolver = (IK_QSolver *)solver;
IK_QSegment *qtip = (IK_QSegment *)tip;
+ // in case of composite segment the second segment is the tip
+ if (qtip->Composite())
+ qtip = qtip->Composite();
+
MT_Vector3 qgoal(goal);
MT_Vector3 qpolegoal(polegoal);
More information about the Bf-blender-cvs
mailing list