/** * constructs a triangle form 3 point - store it in counterclockwised order. */ public Triangle(Point A, Point B, Point C) { a = A; int res = C.pointLineTest(A, B); if ((res <= Point.LEFT) || (res == Point.INFRONTOFA) || (res == Point.BEHINDB)) { b = B; c = C; } else { // RIGHT System.out.println("Warning, ajTriangle(A,B,C) " + "expects points in counterclockwise order."); System.out.println("" + A + B + C); b = C; c = B; } circumcircle(); }
t.setB(v.getA()); t.getAbTriangle().switchneighbors(u, t); t.circumcircle();
private Triangle extendcounterclock(Triangle t, Point p) { t.setHalfplane(false); t.setC(p); t.circumcircle(); Triangle tca = t.getCaTriangle(); if (p.pointLineTest(tca.getA(), tca.getB()) >= Point.RIGHT) { Triangle nT = new Triangle(t.getA(), p); nT.setAbTriangle(t); t.setCanext(nT); nT.setCanext(tca); tca.setBcTriangle(nT); return nT; } return extendcounterclock(tca, p); }
private Triangle extendclock(Triangle t, Point p) { t.setHalfplane(false); t.setC(p); t.circumcircle(); Triangle tbc = t.getBcTriangle(); if (p.pointLineTest(tbc.getA(), tbc.getB()) >= Point.RIGHT) { Triangle nT = new Triangle(p, t.getB()); nT.setAbTriangle(t); t.setBcTriangle(nT); nT.setBcTriangle(tbc); tbc.setCanext(nT); return nT; } return extendclock(tbc, p); }
while (itn.hasNext()) { Triangle tmp = itn.next(); vertices[index++] = tmp.circumcircle().center(); Point circumcircle = neighbor.circumcircle().center(); double xCellLine = (circumcircle.getX() + (500.0 * sign)); double yCellLine = perpDelta * (xCellLine - circumcircle.getX()) + circumcircle.getY();
private Triangle extendInside(Triangle t, Point p) { Triangle h1, h2; h1 = treatDegeneracyInside(t, p); if (h1 != null) return h1; h1 = new Triangle(t.getC(), t.getA(), p); h2 = new Triangle(t.getB(), t.getC(), p); t.setC(p); t.circumcircle(); h1.setAbTriangle(t.getCaTriangle()); h1.setBcTriangle(t); h1.setCanext(h2); h2.setAbTriangle(t.getBcTriangle()); h2.setBcTriangle(h1); h2.setCanext(t); h1.getAbTriangle().switchneighbors(t, h1); h2.getAbTriangle().switchneighbors(t, h2); t.setBcTriangle(h2); t.setCanext(h1); return t; }