Permalink
Browse files

add line to polygon precision

1 parent 815caef commit c7cfe1e4bc21674624c78d5c3a5717a3dc49085b @lautr3k committed Mar 18, 2016
Showing with 23 additions and 10 deletions.
  1. +23 −10 js/slacer/slicer.js
View
@@ -21,6 +21,12 @@ var SLAcer = SLAcer || {};
this.p2 = new Point(p2); this.p2 = new Point(p2);
} }
+ function isSamePoint(p1, p2) {
+ var epsilon = Number.EPSILON;
+ return Math.abs(p1.x - p2.x) < epsilon
+ && Math.abs(p1.y - p2.y) < epsilon;
+ }
+
function linesToPolygons(lines) { function linesToPolygons(lines) {
var polygons = []; var polygons = [];
var polygon = []; var polygon = [];
@@ -31,19 +37,19 @@ var SLAcer = SLAcer || {};
var found = false; var found = false;
for (i = 0; i < lines.length; i++) { for (i = 0; i < lines.length; i++) {
line = lines[i]; line = lines[i];
- if (lastPoint.s == line.p1.s) { + if (isSamePoint(lastPoint, line.p1)) {
lines.splice(i, 1); lines.splice(i, 1);
- if (firstLine.p1.s == line.p2.s) { + if (isSamePoint(firstLine.p1, line.p2)) {
//console.log('closed loop'); //console.log('closed loop');
break; break;
} }
polygon.push(line.p2); polygon.push(line.p2);
lastPoint = line.p2; lastPoint = line.p2;
found = true; found = true;
} }
- else if (lastPoint.s == line.p2.s) { + else if (isSamePoint(lastPoint, line.p2)) {
lines.splice(i, 1); lines.splice(i, 1);
- if (firstLine.p1.s == line.p1.s) { + if (isSamePoint(firstLine.p1, line.p1)) {
//console.log('closed loop'); //console.log('closed loop');
break; break;
} }
@@ -334,12 +340,19 @@ var SLAcer = SLAcer || {};
var meshes = []; var meshes = [];
for (key in shapes) { for (key in shapes) {
- meshes.push(new THREE.Mesh( + try {
- new THREE.ShapeGeometry(shapes[key]), + var color = this.settings.color;
- new THREE.MeshBasicMaterial({ + //var color = ((1<<24)*Math.random()|0);
- color: this.settings.color, side: THREE.DoubleSide + meshes.push(new THREE.Mesh(
- }) + new THREE.ShapeGeometry(shapes[key]),
- )); + new THREE.MeshBasicMaterial({
+ color: color, side: THREE.DoubleSide
+ })
+ ));
+ } catch(e) {
+ console.error(e);
+ console.log(shapes[key]);
+ }
} }
return { return {

0 comments on commit c7cfe1e

Please sign in to comment.