From 1237cef4a0c33b0700a8b3a4a046bfef871fe459 Mon Sep 17 00:00:00 2001 From: Val Erastov Date: Tue, 8 Dec 2015 20:17:37 -0800 Subject: [PATCH] fix normales planes --- web/app/engine.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/web/app/engine.js b/web/app/engine.js index 1bf3ac9a..a32a4e18 100644 --- a/web/app/engine.js +++ b/web/app/engine.js @@ -537,20 +537,24 @@ TCAD.geom.extrude = function(source, sourceNormal, target, expansionFactor) { poly.push(face); } + var bottomNormal, topNormal; if (negate) { lid.reverse(); + bottomNormal = sourceNormal; + topNormal = sourceNormal.negate(); } else { source = source.slice(0); source.reverse(); + bottomNormal = sourceNormal.negate(); + topNormal = sourceNormal; } function vecToVertex(v) { return new CSG.Vertex(TCAD.utils.csgVec(v)); } - var negateNormal = sourceNormal.negate(); - var sourcePlane = new CSG.Plane(negateNormal.csg(), negateNormal.dot(source[0])); - var lidPlane = new CSG.Plane(sourceNormal.csg(), sourceNormal.dot(lid[0])); + var sourcePlane = new CSG.Plane(bottomNormal.csg(), bottomNormal.dot(source[0])); + var lidPlane = new CSG.Plane(topNormal.csg(), topNormal.dot(lid[0])); poly[0] = new CSG.Polygon(source.map(vecToVertex), TCAD.utils.createShared(), sourcePlane); poly[1] = new CSG.Polygon(lid.map(vecToVertex), TCAD.utils.createShared(), lidPlane);