package com.revolsys.geometry.model.coordinates.filter; import java.util.function.Predicate; import com.revolsys.geometry.model.Point; import com.revolsys.geometry.model.coordinates.LineSegmentUtil; import com.revolsys.geometry.model.segment.LineSegment; public class PointOnLineSegment implements Predicate<Point> { private final LineSegment lineSegment; private final double maxDistance; public PointOnLineSegment(final LineSegment lineSegment, final double maxDistance) { this.lineSegment = lineSegment; this.maxDistance = maxDistance; } @Override public boolean test(final Point point) { final Point start = this.lineSegment.getPoint(0); final Point end = this.lineSegment.getPoint(1); final boolean onLine = LineSegmentUtil.isPointOnLine(start, end, point, this.maxDistance); return onLine; } }