From 316ab158396786781b7c5af3221be6fa1b48025c Mon Sep 17 00:00:00 2001 From: zzzzrrr Date: Wed, 12 Aug 2009 16:26:40 -0400 Subject: [PATCH] fixed edge bug --- src/org/poly2tri/cdt/CDT.scala | 6 ++---- src/org/poly2tri/shapes/Triangle.scala | 4 ++-- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/org/poly2tri/cdt/CDT.scala b/src/org/poly2tri/cdt/CDT.scala index 0a2834b..74836a8 100644 --- a/src/org/poly2tri/cdt/CDT.scala +++ b/src/org/poly2tri/cdt/CDT.scala @@ -272,12 +272,10 @@ class CDT(val points: List[Point], val segments: List[Segment], iTriangle: Trian nTriangles += node.triangle node = node.next } - - val endPoints = if(ahead) List(point2, point1) else List(point1, point2) - + // Triangulate empty areas. val T = new ArrayBuffer[Triangle] - triangulate(points.toArray, endPoints, T) + triangulate(points.toArray, List(edge.q, edge.p), T) // Update advancing front diff --git a/src/org/poly2tri/shapes/Triangle.scala b/src/org/poly2tri/shapes/Triangle.scala index 2ec81ee..60ebe2d 100644 --- a/src/org/poly2tri/shapes/Triangle.scala +++ b/src/org/poly2tri/shapes/Triangle.scala @@ -294,7 +294,7 @@ class Triangle(val points: Array[Point]) { i match { case 0 => if(neighbors(0) != null) neighbors(0).markEdge(points(1), points(2)) case 1 => if(neighbors(1) != null) neighbors(1).markEdge(points(0), points(2)) - case _ => if(neighbors(2) != null) neighbors(2).markEdge(points(0), points(1)) + case 2 => if(neighbors(2) != null) neighbors(2).markEdge(points(0), points(1)) } } @@ -304,7 +304,7 @@ class Triangle(val points: Array[Point]) { i match { case 0 => triangle.markEdge(points(1), points(2)) case 1 => triangle.markEdge(points(0), points(2)) - case _ => triangle.markEdge(points(0), points(1)) + case 2 => triangle.markEdge(points(0), points(1)) } }