mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2025-12-21 01:36:02 +08:00
[ts] Ported IKConstraint simplification, see #907
This commit is contained in:
parent
9c38d3faf0
commit
3f478fd831
@ -2407,22 +2407,8 @@ var spine;
|
||||
break outer;
|
||||
}
|
||||
}
|
||||
var minAngle = 0, minDist = Number.MAX_VALUE, minX = 0, minY = 0;
|
||||
var 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 = spine.MathUtils.PI;
|
||||
minDist = d;
|
||||
minX = x;
|
||||
}
|
||||
var minAngle = spine.MathUtils.PI, minX = l1 - a, minDist = minX * minX, minY = 0;
|
||||
var maxAngle = 0, maxX = l1 + a, maxDist = maxX * maxX, maxY = 0;
|
||||
var angle = Math.acos(-a * l1 / (aa - bb));
|
||||
x = a * Math.cos(angle) + l1;
|
||||
y = b * Math.sin(angle);
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -2407,22 +2407,8 @@ var spine;
|
||||
break outer;
|
||||
}
|
||||
}
|
||||
var minAngle = 0, minDist = Number.MAX_VALUE, minX = 0, minY = 0;
|
||||
var 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 = spine.MathUtils.PI;
|
||||
minDist = d;
|
||||
minX = x;
|
||||
}
|
||||
var minAngle = spine.MathUtils.PI, minX = l1 - a, minDist = minX * minX, minY = 0;
|
||||
var maxAngle = 0, maxX = l1 + a, maxDist = maxX * maxX, maxY = 0;
|
||||
var angle = Math.acos(-a * l1 / (aa - bb));
|
||||
x = a * Math.cos(angle) + l1;
|
||||
y = b * Math.sin(angle);
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -2407,22 +2407,8 @@ var spine;
|
||||
break outer;
|
||||
}
|
||||
}
|
||||
var minAngle = 0, minDist = Number.MAX_VALUE, minX = 0, minY = 0;
|
||||
var 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 = spine.MathUtils.PI;
|
||||
minDist = d;
|
||||
minX = x;
|
||||
}
|
||||
var minAngle = spine.MathUtils.PI, minX = l1 - a, minDist = minX * minX, minY = 0;
|
||||
var maxAngle = 0, maxX = l1 + a, maxDist = maxX * maxX, maxY = 0;
|
||||
var angle = Math.acos(-a * l1 / (aa - bb));
|
||||
x = a * Math.cos(angle) + l1;
|
||||
y = b * Math.sin(angle);
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -2407,22 +2407,8 @@ var spine;
|
||||
break outer;
|
||||
}
|
||||
}
|
||||
var minAngle = 0, minDist = Number.MAX_VALUE, minX = 0, minY = 0;
|
||||
var 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 = spine.MathUtils.PI;
|
||||
minDist = d;
|
||||
minX = x;
|
||||
}
|
||||
var minAngle = spine.MathUtils.PI, minX = l1 - a, minDist = minX * minX, minY = 0;
|
||||
var maxAngle = 0, maxX = l1 + a, maxDist = maxX * maxX, maxY = 0;
|
||||
var angle = Math.acos(-a * l1 / (aa - bb));
|
||||
x = a * Math.cos(angle) + l1;
|
||||
y = b * Math.sin(angle);
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -2407,22 +2407,8 @@ var spine;
|
||||
break outer;
|
||||
}
|
||||
}
|
||||
var minAngle = 0, minDist = Number.MAX_VALUE, minX = 0, minY = 0;
|
||||
var 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 = spine.MathUtils.PI;
|
||||
minDist = d;
|
||||
minX = x;
|
||||
}
|
||||
var minAngle = spine.MathUtils.PI, minX = l1 - a, minDist = minX * minX, minY = 0;
|
||||
var maxAngle = 0, maxX = l1 + a, maxDist = maxX * maxX, maxY = 0;
|
||||
var angle = Math.acos(-a * l1 / (aa - bb));
|
||||
x = a * Math.cos(angle) + l1;
|
||||
y = b * Math.sin(angle);
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -2407,22 +2407,8 @@ var spine;
|
||||
break outer;
|
||||
}
|
||||
}
|
||||
var minAngle = 0, minDist = Number.MAX_VALUE, minX = 0, minY = 0;
|
||||
var 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 = spine.MathUtils.PI;
|
||||
minDist = d;
|
||||
minX = x;
|
||||
}
|
||||
var minAngle = spine.MathUtils.PI, minX = l1 - a, minDist = minX * minX, minY = 0;
|
||||
var maxAngle = 0, maxX = l1 + a, maxDist = maxX * maxX, maxY = 0;
|
||||
var angle = Math.acos(-a * l1 / (aa - bb));
|
||||
x = a * Math.cos(angle) + l1;
|
||||
y = b * Math.sin(angle);
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -34,7 +34,7 @@ module spine {
|
||||
bones: Array<Bone>;
|
||||
target: Bone;
|
||||
mix = 1;
|
||||
bendDirection = 0;
|
||||
bendDirection = 0;
|
||||
|
||||
constructor (data: IkConstraintData, skeleton: Skeleton) {
|
||||
if (data == null) throw new Error("data cannot be null.");
|
||||
@ -169,22 +169,8 @@ module spine {
|
||||
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));
|
||||
x = a * Math.cos(angle) + l1;
|
||||
y = b * Math.sin(angle);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user