part[part.length-1] = Edge.position(coordinates[i-1], coordinates[i], t); coordinates[offset+i-1] = Edge.position(coordinates[i-1], coordinates[i], t); shift(shift, part); offset = i-1; shift = coordinates[i].x > DATELINE ? DATELINE : (coordinates[i].x < -DATELINE ? -DATELINE : 0); } else { part = shift(shift, Arrays.copyOfRange(coordinates, offset, i+1)); offset = i; parts.add(shift(shift, coordinates)); } else if(offset < coordinates.length-1) { Coordinate[] part = Arrays.copyOfRange(coordinates, offset, coordinates.length); parts.add(shift(shift, part));
part[part.length-1] = Edge.position(coordinates[i-1], coordinates[i], t); coordinates[offset+i-1] = Edge.position(coordinates[i-1], coordinates[i], t); shift(shift, part); offset = i-1; shift = coordinates[i].x > DATELINE ? DATELINE : (coordinates[i].x < -DATELINE ? -DATELINE : 0); } else { part = shift(shift, Arrays.copyOfRange(coordinates, offset, i+1)); offset = i; parts.add(shift(shift, coordinates)); } else if(offset < coordinates.length-1) { Coordinate[] part = Arrays.copyOfRange(coordinates, offset, coordinates.length); parts.add(shift(shift, part));
part[part.length-1] = Edge.position(coordinates[i-1], coordinates[i], t); coordinates[offset+i-1] = Edge.position(coordinates[i-1], coordinates[i], t); shift(shift, part); offset = i-1; shift = coordinates[i].x > DATELINE ? DATELINE : (coordinates[i].x < -DATELINE ? -DATELINE : 0); } else { part = shift(shift, Arrays.copyOfRange(coordinates, offset, i+1)); offset = i; parts.add(shift(shift, coordinates)); } else if(offset < coordinates.length-1) { Coordinate[] part = Arrays.copyOfRange(coordinates, offset, coordinates.length); parts.add(shift(shift, part));
part[part.length-1] = Edge.position(coordinates[i-1], coordinates[i], t); coordinates[offset+i-1] = Edge.position(coordinates[i-1], coordinates[i], t); shift(shift, part); offset = i-1; shift = coordinates[i].x > DATELINE ? DATELINE : (coordinates[i].x < -DATELINE ? -DATELINE : 0); } else { part = shift(shift, Arrays.copyOfRange(coordinates, offset, i+1)); offset = i; parts.add(shift(shift, coordinates)); } else if(offset < coordinates.length-1) { Coordinate[] part = Arrays.copyOfRange(coordinates, offset, coordinates.length); parts.add(shift(shift, part));