From 274a7fe58262c3053d2027f353b3d8290c451cb2 Mon Sep 17 00:00:00 2001 From: Savely Skresanov Date: Mon, 28 May 2012 21:18:29 +0700 Subject: [PATCH] No rounding errors with triangle brush, so no need for epsilon (I hope). --- src/powder.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/powder.c b/src/powder.c index 3861248bb..83a180a58 100644 --- a/src/powder.c +++ b/src/powder.c @@ -3375,8 +3375,7 @@ int InCurrentBrush(int i, int j, int rx, int ry) return (abs(i) <= rx && abs(j) <= ry); break; case TRI_BRUSH: - // -1e-9 because due to rounding errors, the corner at i=rx is not considered to be inside the brush at some brush sizes - return (j <= ry ) && ( j >= (((-2.0*ry)/rx)*i)-ry-1e-9) && ( j >= (((-2.0*ry)/(-rx))*i)-ry-1e-9) ; + return ((abs((rx+2*i)*ry+rx*j) + abs(2*rx*(j-ry)) + abs((rx-2*i)*ry+rx*j))<=(4*rx*ry)); break; default: return 0;