|
@@ -34,7 +34,7 @@ module spine {
|
|
bones: Array<Bone>;
|
|
bones: Array<Bone>;
|
|
target: Bone;
|
|
target: Bone;
|
|
mix = 1;
|
|
mix = 1;
|
|
- bendDirection = 0;
|
|
|
|
|
|
+ bendDirection = 0;
|
|
|
|
|
|
constructor (data: IkConstraintData, skeleton: Skeleton) {
|
|
constructor (data: IkConstraintData, skeleton: Skeleton) {
|
|
if (data == null) throw new Error("data cannot be null.");
|
|
if (data == null) throw new Error("data cannot be null.");
|
|
@@ -169,22 +169,8 @@ module spine {
|
|
break outer;
|
|
break outer;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- let minAngle = 0, minDist = Number.MAX_VALUE, minX = 0, minY = 0;
|
|
|
|
- let maxAngle = 0, maxDist = 0, maxX = 0, maxY = 0;
|
|
|
|
- x = l1 + a;
|
|
|
|
- d = x * x;
|
|
|
|
- if (d > maxDist) {
|
|
|
|
- maxAngle = 0;
|
|
|
|
- maxDist = d;
|
|
|
|
- maxX = x;
|
|
|
|
- }
|
|
|
|
- x = l1 - a;
|
|
|
|
- d = x * x;
|
|
|
|
- if (d < minDist) {
|
|
|
|
- minAngle = MathUtils.PI;
|
|
|
|
- minDist = d;
|
|
|
|
- minX = x;
|
|
|
|
- }
|
|
|
|
|
|
+ let minAngle = spine.MathUtils.PI, minX = l1 - a, minDist = minX * minX, minY = 0;
|
|
|
|
+ let maxAngle = 0, maxX = l1 + a, maxDist = maxX * maxX, maxY = 0;
|
|
let angle = Math.acos(-a * l1 / (aa - bb));
|
|
let angle = Math.acos(-a * l1 / (aa - bb));
|
|
x = a * Math.cos(angle) + l1;
|
|
x = a * Math.cos(angle) + l1;
|
|
y = b * Math.sin(angle);
|
|
y = b * Math.sin(angle);
|