From ec52a4fc1aae686099e3057518c97194445a3504 Mon Sep 17 00:00:00 2001 From: Davide Tantillo Date: Wed, 7 Aug 2024 08:38:15 +0200 Subject: [PATCH] [haxe] Port of commit 877e705dd. Fix NaN in IKConstraint due to fp precision. --- spine-haxe/spine-haxe/spine/IkConstraint.hx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/spine-haxe/spine-haxe/spine/IkConstraint.hx b/spine-haxe/spine-haxe/spine/IkConstraint.hx index 1377af1ed..64f1373d8 100644 --- a/spine-haxe/spine-haxe/spine/IkConstraint.hx +++ b/spine-haxe/spine-haxe/spine/IkConstraint.hx @@ -288,8 +288,9 @@ class IkConstraint implements Updatable { q = -(c1 + q) / 2; var r0:Float = q / c2, r1:Float = c / q; var r:Float = Math.abs(r0) < Math.abs(r1) ? r0 : r1; - if (r * r <= dd) { - y = Math.sqrt(dd - r * r) * bendDir; + r0 = dd - r * r; + if (r0 >= 0) { + y = Math.sqrt(r0) * bendDir; a1 = ta - Math.atan2(y, r); a2 = Math.atan2(y / psy, (r - l1) / psx); breakOuter = true;