Trait geo::algorithm::contains::Contains[][src]

pub trait Contains<Rhs = Self> {
    fn contains(&self, rhs: &Rhs) -> bool;
}

Checks if rhs is completely contained within self. More formally, the interior of rhs has non-empty (set-theoretic) intersection but neither the interior, nor the boundary of rhs intersects the exterior of self. In other words, the DE-9IM intersection matrix of (rhs, self) is T*F**F***.

Examples

use geo::algorithm::contains::Contains;
use geo::{line_string, point, Polygon};

let line_string = line_string![
    (x: 0., y: 0.),
    (x: 2., y: 0.),
    (x: 2., y: 2.),
    (x: 0., y: 2.),
    (x: 0., y: 0.),
];

let polygon = Polygon::new(line_string.clone(), vec![]);

// Point in Point
assert!(point!(x: 2., y: 0.).contains(&point!(x: 2., y: 0.)));

// Point in Linestring
assert!(line_string.contains(&point!(x: 2., y: 0.)));

// Point in Polygon
assert!(polygon.contains(&point!(x: 1., y: 1.)));

Required methods

fn contains(&self, rhs: &Rhs) -> bool[src]

Loading content...

Implementors

impl<F> Contains<GeometryCollection<F>> for MultiPolygon<F> where
    F: GeoFloat
[src]

impl<F> Contains<Line<F>> for MultiPolygon<F> where
    F: GeoFloat
[src]

impl<F> Contains<LineString<F>> for MultiPolygon<F> where
    F: GeoFloat
[src]

impl<F> Contains<MultiLineString<F>> for MultiPolygon<F> where
    F: GeoFloat
[src]

impl<F> Contains<MultiPolygon<F>> for MultiPolygon<F> where
    F: GeoFloat
[src]

impl<F> Contains<Polygon<F>> for MultiPolygon<F> where
    F: GeoFloat
[src]

impl<F> Contains<Rect<F>> for MultiPolygon<F> where
    F: GeoFloat
[src]

impl<F> Contains<Triangle<F>> for MultiPolygon<F> where
    F: GeoFloat
[src]

impl<G, T> Contains<G> for MultiLineString<T> where
    T: CoordNum,
    LineString<T>: Contains<G>, 
[src]

impl<G, T> Contains<G> for MultiPoint<T> where
    T: CoordNum,
    Point<T>: Contains<G>, 
[src]

impl<T> Contains<Coordinate<T>> for Geometry<T> where
    T: GeoNum
[src]

impl<T> Contains<Coordinate<T>> for GeometryCollection<T> where
    T: GeoNum
[src]

impl<T> Contains<Coordinate<T>> for Line<T> where
    T: GeoNum
[src]

impl<T> Contains<Coordinate<T>> for LineString<T> where
    T: GeoNum
[src]

impl<T> Contains<Coordinate<T>> for MultiPolygon<T> where
    T: GeoNum
[src]

impl<T> Contains<Coordinate<T>> for Point<T> where
    T: CoordNum
[src]

impl<T> Contains<Coordinate<T>> for Polygon<T> where
    T: GeoNum
[src]

impl<T> Contains<Coordinate<T>> for Rect<T> where
    T: CoordNum
[src]

impl<T> Contains<Coordinate<T>> for Triangle<T> where
    T: GeoNum
[src]

impl<T> Contains<Line<T>> for Line<T> where
    T: GeoNum
[src]

impl<T> Contains<Line<T>> for LineString<T> where
    T: GeoNum
[src]

impl<T> Contains<Line<T>> for Polygon<T> where
    T: GeoFloat
[src]

impl<T> Contains<LineString<T>> for Line<T> where
    T: GeoNum
[src]

impl<T> Contains<LineString<T>> for LineString<T> where
    T: GeoNum
[src]

impl<T> Contains<LineString<T>> for Polygon<T> where
    T: GeoFloat
[src]

impl<T> Contains<Point<T>> for Geometry<T> where
    T: GeoNum
[src]

impl<T> Contains<Point<T>> for GeometryCollection<T> where
    T: GeoNum
[src]

impl<T> Contains<Point<T>> for Line<T> where
    T: GeoNum
[src]

impl<T> Contains<Point<T>> for LineString<T> where
    T: GeoNum
[src]

impl<T> Contains<Point<T>> for MultiPolygon<T> where
    T: GeoNum
[src]

impl<T> Contains<Point<T>> for Point<T> where
    T: CoordNum
[src]

impl<T> Contains<Point<T>> for Polygon<T> where
    T: GeoNum
[src]

impl<T> Contains<Point<T>> for Rect<T> where
    T: CoordNum
[src]

impl<T> Contains<Point<T>> for Triangle<T> where
    T: GeoNum
[src]

impl<T> Contains<Polygon<T>> for Polygon<T> where
    T: GeoFloat
[src]

impl<T> Contains<Rect<T>> for Rect<T> where
    T: CoordNum
[src]

impl<T: GeoNum> Contains<MultiPoint<T>> for MultiPolygon<T>[src]

Loading content...