From f3e8328b80b17fea9e7b721677eb3be1f837199a Mon Sep 17 00:00:00 2001 From: Val Erastov Date: Fri, 6 Nov 2015 11:39:55 -0800 Subject: [PATCH] Remove zero area polygons --- web/app/workbench.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/web/app/workbench.js b/web/app/workbench.js index 3f58ce9d..d4a258eb 100644 --- a/web/app/workbench.js +++ b/web/app/workbench.js @@ -409,7 +409,9 @@ TCAD.craft._triangulateCSG = function(polygons) { var a = refs[i][0]; var b = refs[i][1]; var c = refs[i][2]; - if (points[b].pos.minus(points[a].pos).cross(points[c].pos.minus(points[a].pos)).length() === 0) { + //magnitude of cross product is the area of parallelogram + var area = points[b].pos.minus(points[a].pos).cross(points[c].pos.minus(points[a].pos)).length() / 2.0; + if (area < TCAD.TOLERANCE) { continue; } var csgPoly = new CSG.Polygon([points[a], points[b], points[c]], poly.shared, poly.plane);