geo::algorithm::closest_point

Trait ClosestPoint

Source
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§

Source

fn closest_point(&self, p: &Rhs) -> Closest<F>

Find the closest point between self and p.

Implementations on Foreign Types§

Source§

impl<'a, F, C> ClosestPoint<F> for &'a C
where C: ClosestPoint<F>, F: GeoFloat,

Source§

fn closest_point(&self, p: &Point<F>) -> Closest<F>

Implementors§