package oripa.paint.outline;
import java.util.Collection;
import java.util.Iterator;
import javax.vecmath.Vector2d;
import oripa.geom.GeomUtil;
import oripa.paint.util.PairLoop;
public class IsOutsideOfTempOutlineLoop implements PairLoop.Block<Vector2d> {
private Vector2d target;
boolean CCWFlg;
public boolean execute(
Collection<Vector2d> outLineVertices, Vector2d v) {
target = v;
Iterator<Vector2d> iterator = outLineVertices.iterator();
Vector2d p0 = iterator.next();
Vector2d p1 = iterator.next();
CCWFlg = GeomUtil.CCWcheck(p0, p1, target);
return PairLoop.iterateFrom(iterator, outLineVertices, this) != null;
}
@Override
public boolean yield(Vector2d p0, Vector2d p1) {
if (CCWFlg != GeomUtil.CCWcheck(p0, p1, target)) {
return false;
}
return true;
}
}