return null;
}
+ public E getE(Point p2) {
+ Vert v = pointset.get(p2);
+ if (v==null) return null;
+ return getE(v);
+ }
public E getE(Vert p2) {
E e = this.e;
do {
}
boolean shattered = false;
- public Vert shatter() { return shatter(register(midpoint()), null, null); }
- public Vert shatter(Vert mid, BindingGroup bg1, BindingGroup bg2) {
+ public Point shatter() { return shatter(midpoint(), null, null); }
+ public Point shatter(Point mid, BindingGroup bg1, BindingGroup bg2) {
if (shattered) return mid;
shattered = true;
if (bg1==null) bg1 = new BindingGroup();
if (bg2==null) bg2 = new BindingGroup();
- for(E e : bg.es) e.shatter(register(e.midpoint()), bg1, bg2);
+ for(E e : bg.es) e.shatter(e.midpoint(), bg1, bg2);
pair.shatter();
destroy();
- newT(r.p, p1.p, mid.p, null);
- newT(r.p, mid.p, p2.p, null);
+ newT(r.p, p1.p, mid, null);
+ newT(r.p, mid, p2.p, null);
bg1.add(p1.getE(mid));
- bg2.add(mid.getE(p2));
+ bg2.add(p2.getE(mid).pair);
return mid;
}