CanvasSize viewport = proj.estimateViewport();
for(int i = 0; i < delaunay.size(); i++) {
SweepHullDelaunay2D.Triangle del = delaunay.get(i);
final double[] projcx = proj.fastProjectDataToRenderSpace(del.m);
if(del.ab > i) {
<BUG>Triangle oth = delaunay.get(del.ab);
path.moveTo(projcx);

path.drawTo(proj.fastProjectDataToRenderSpace(oth.m));
}</BUG>
else if(del.ab < 0) {

CanvasSize viewport = proj.estimateViewport();
for(int i = 0; i < delaunay.size(); i++) {
SweepHullDelaunay2D.Triangle del = delaunay.get(i);
final double[] projcx = proj.fastProjectDataToRenderSpace(del.m);
if(del.ab > i) {
Triangle oth = delaunay.get(del.ab);
double[] p1 = projcx.clone(), p2 = proj.fastProjectDataToRenderSpace(oth.m);
if (viewport.clipToMargin(p1, p2)) {
path.moveTo(p1);
path.drawTo(p2);
}
}
else if(del.ab < 0) {
