}
List<Edge> edges = mesh.getEdges();
Line2D[] lines = new Line2D[mesh.getEdgeCount()];
for (int i = 0; i < lines.length; i++) {
Edge e = edges.get(i);
Point2f p0 = e.getNode(0).getPoint2f();
Point2f p1 = e.getNode(1).getPoint2f();
lines[i] = new Line2D.Float(p0.x, p0.y, p1.x, p1.y);
for(int j=0; j<i; j++){
if(lines[i].intersectsLine(lines[j])){
if(!(lines[i].getP1().equals(lines[j].getP1()) ||