if (edgeSet.add(na,nb,null,null)) { Tet tet = findTet(na,nb); Edge edge = new Edge(tet,na,nb); edgeList.add(edge);
return new PointLocation(new Edge(tet,n2,n3)); } else if (d0==0.0 && d2==0.0) { return new PointLocation(new Edge(tet,n3,n1)); } else if (d0==0.0 && d3==0.0) { return new PointLocation(new Edge(tet,n1,n2)); } else if (d1==0.0 && d2==0.0) { return new PointLocation(new Edge(tet,n0,n3)); } else if (d1==0.0 && d3==0.0) { return new PointLocation(new Edge(tet,n2,n0)); } else if (d2==0.0 && d3==0.0) { return new PointLocation(new Edge(tet,n0,n1)); } else if (d0==0.0) { return new PointLocation(new Face(tet,n0));
TetMesh.Edge e01 = new TetMesh.Edge(n0,n1,tet); TetMesh.Edge e10 = new TetMesh.Edge(n1,n0,tet); assertTrue(edge.equals(e01) || edge.equals(e10)); edge = tm.findEdge(n0,n2); TetMesh.Edge e02 = new TetMesh.Edge(n0,n2,tet); TetMesh.Edge e20 = new TetMesh.Edge(n2,n0,tet); assertTrue(edge.equals(e02) || edge.equals(e20)); edge = tm.findEdge(n0,n3); TetMesh.Edge e03 = new TetMesh.Edge(n0,n3,tet); TetMesh.Edge e30 = new TetMesh.Edge(n3,n0,tet); assertTrue(edge.equals(e03) || edge.equals(e30)); edge = tm.findEdge(n1,n2); TetMesh.Edge e12 = new TetMesh.Edge(n1,n2,tet); TetMesh.Edge e21 = new TetMesh.Edge(n2,n1,tet); assertTrue(edge.equals(e12) || edge.equals(e21)); edge = tm.findEdge(n1,n3); TetMesh.Edge e13 = new TetMesh.Edge(n1,n3,tet); TetMesh.Edge e31 = new TetMesh.Edge(n3,n1,tet); assertTrue(edge.equals(e13) || edge.equals(e31)); edge = tm.findEdge(n2,n3); TetMesh.Edge e23 = new TetMesh.Edge(n2,n3,tet); TetMesh.Edge e32 = new TetMesh.Edge(n3,n2,tet); assertTrue(edge.equals(e23) || edge.equals(e32));
if (!isMarked(n1)) { mark(n1); nabors.add(new Edge(tet,n1,node)); nabors.add(new Edge(tet,n2,node)); nabors.add(new Edge(tet,n3,node)); nabors.add(new Edge(tet,n0,node)); nabors.add(new Edge(tet,n2,node)); nabors.add(new Edge(tet,n3,node)); nabors.add(new Edge(tet,n0,node)); nabors.add(new Edge(tet,n1,node)); nabors.add(new Edge(tet,n3,node)); nabors.add(new Edge(tet,n0,node)); nabors.add(new Edge(tet,n1,node)); nabors.add(new Edge(tet,n2,node));
if (na==n0) { if (nb==n1) { return new Edge(tet,n0,n1); } else if (nb==n2) { return new Edge(tet,n0,n2); } else if (nb==n3) { return new Edge(tet,n0,n3); } else { return null; return new Edge(tet,n0,n1); } else if (nb==n2) { return new Edge(tet,n1,n2); } else if (nb==n3) { return new Edge(tet,n1,n3); } else { return null; return new Edge(tet,n0,n2); } else if (nb==n1) { return new Edge(tet,n1,n2); } else if (nb==n3) { return new Edge(tet,n2,n3); } else { return null; return new Edge(tet,n0,n3); } else if (nb==n1) { return new Edge(tet,n1,n3);
/** * Returns the mate of this edge. * @return the mate. */ public Edge mate() { return new Edge(_b,_a,_tet); }