package com.revolsys.geometry.graph.filter;
import java.util.function.Predicate;
import com.revolsys.geometry.graph.Node;
import com.revolsys.geometry.model.Geometry;
import com.revolsys.geometry.model.GeometryFactory;
public class NodeGeometryIntersectionFilter<T> implements Predicate<Node<T>> {
private GeometryFactory geometryFactory;
private Geometry preparedGeometry;
public NodeGeometryIntersectionFilter() {
}
public NodeGeometryIntersectionFilter(final Geometry geometry) {
setGeometry(geometry);
}
public void setGeometry(final Geometry geometry) {
this.preparedGeometry = geometry.prepare();
this.geometryFactory = geometry.getGeometryFactory();
}
@Override
public boolean test(final Node<T> node) {
final boolean intersects = this.preparedGeometry.intersects(node);
return intersects;
}
}