pub trait ClosestPoint<F: GeoFloat, Rhs = Point<F>> {
// Required method
fn closest_point(&self, p: &Rhs) -> Closest<F>;
}
Expand description
Find the closest Point
between a given geometry and an input Point
.
The closest point may intersect the geometry, be a single
point, or be indeterminate, as indicated by the value of the returned enum.
§Examples
We have a horizontal line which goes through (-50, 0) -> (50, 0)
,
and want to find the closest point to the point (0, 100)
.
Drawn on paper, the point on the line which is closest to (0, 100)
is the origin (0, 0).
let p: Point<f32> = Point::new(0.0, 100.0);
let horizontal_line: Line<f32> = Line::new(Point::new(-50.0, 0.0), Point::new(50.0, 0.0));
let closest = horizontal_line.closest_point(&p);
assert_eq!(closest, Closest::SinglePoint(Point::new(0.0, 0.0)));
Required Methods§
Sourcefn closest_point(&self, p: &Rhs) -> Closest<F>
fn closest_point(&self, p: &Rhs) -> Closest<F>
Find the closest point between self
and p
.