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;