Trait geo::algorithm::intersects::Intersects[][src]

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

Checks if the geometry Self intersects the geometry Rhs. More formally, either boundary or interior of Self has non-empty (set-theoretic) intersection with the boundary or interior of Rhs. In other words, the DE-9IM intersection matrix for (Self, Rhs) is not FF*FF****.

This predicate is symmetric: a.intersects(b) iff b.intersects(a).

Examples

use geo::algorithm::intersects::Intersects;
use geo::line_string;

let line_string_a = line_string![
    (x: 3., y: 2.),
    (x: 7., y: 6.),
];

let line_string_b = line_string![
    (x: 3., y: 4.),
    (x: 8., y: 4.),
];

let line_string_c = line_string![
    (x: 9., y: 2.),
    (x: 11., y: 5.),
];

assert!(line_string_a.intersects(&line_string_b));
assert!(!line_string_a.intersects(&line_string_c));

Required methods

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

Loading content...

Implementors

impl<G, T> Intersects<G> for MultiPolygon<T> where
    T: GeoNum,
    Polygon<T>: Intersects<G>, 
[src]

impl<T> Intersects<Geometry<T>> for Coordinate<T> where
    Geometry<T>: Intersects<Coordinate<T>>,
    T: CoordNum
[src]

impl<T> Intersects<Geometry<T>> for Line<T> where
    Geometry<T>: Intersects<Line<T>>,
    T: CoordNum
[src]

impl<T> Intersects<Geometry<T>> for Polygon<T> where
    Geometry<T>: Intersects<Polygon<T>>,
    T: CoordNum
[src]

impl<T> Intersects<Geometry<T>> for Rect<T> where
    Geometry<T>: Intersects<Rect<T>>,
    T: CoordNum
[src]

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

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

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

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

impl<T> Intersects<GeometryCollection<T>> for Coordinate<T> where
    GeometryCollection<T>: Intersects<Coordinate<T>>,
    T: CoordNum
[src]

impl<T> Intersects<GeometryCollection<T>> for Line<T> where
    GeometryCollection<T>: Intersects<Line<T>>,
    T: CoordNum
[src]

impl<T> Intersects<GeometryCollection<T>> for Polygon<T> where
    GeometryCollection<T>: Intersects<Polygon<T>>,
    T: CoordNum
[src]

impl<T> Intersects<GeometryCollection<T>> for Rect<T> where
    GeometryCollection<T>: Intersects<Rect<T>>,
    T: CoordNum
[src]

impl<T> Intersects<Line<T>> for Coordinate<T> where
    Line<T>: Intersects<Coordinate<T>>,
    T: CoordNum
[src]

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

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

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

impl<T> Intersects<LineString<T>> for Coordinate<T> where
    LineString<T>: Intersects<Coordinate<T>>,
    T: CoordNum
[src]

impl<T> Intersects<LineString<T>> for Line<T> where
    LineString<T>: Intersects<Line<T>>,
    T: CoordNum
[src]

impl<T> Intersects<LineString<T>> for Polygon<T> where
    LineString<T>: Intersects<Polygon<T>>,
    T: CoordNum
[src]

impl<T> Intersects<MultiLineString<T>> for Polygon<T> where
    MultiLineString<T>: Intersects<Polygon<T>>,
    T: CoordNum
[src]

impl<T> Intersects<MultiPoint<T>> for Coordinate<T> where
    MultiPoint<T>: Intersects<Coordinate<T>>,
    T: CoordNum
[src]

impl<T> Intersects<MultiPoint<T>> for Line<T> where
    MultiPoint<T>: Intersects<Line<T>>,
    T: CoordNum
[src]

impl<T> Intersects<MultiPoint<T>> for Polygon<T> where
    MultiPoint<T>: Intersects<Polygon<T>>,
    T: CoordNum
[src]

impl<T> Intersects<MultiPoint<T>> for Rect<T> where
    MultiPoint<T>: Intersects<Rect<T>>,
    T: CoordNum
[src]

impl<T> Intersects<MultiPolygon<T>> for Line<T> where
    MultiPolygon<T>: Intersects<Line<T>>,
    T: CoordNum
[src]

impl<T> Intersects<MultiPolygon<T>> for Point<T> where
    MultiPolygon<T>: Intersects<Point<T>>,
    T: CoordNum
[src]

impl<T> Intersects<MultiPolygon<T>> for Polygon<T> where
    MultiPolygon<T>: Intersects<Polygon<T>>,
    T: CoordNum
[src]

impl<T> Intersects<MultiPolygon<T>> for Rect<T> where
    MultiPolygon<T>: Intersects<Rect<T>>,
    T: CoordNum
[src]

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

impl<T> Intersects<Point<T>> for Line<T> where
    Point<T>: Intersects<Line<T>>,
    T: CoordNum
[src]

impl<T> Intersects<Point<T>> for Polygon<T> where
    Point<T>: Intersects<Polygon<T>>,
    T: CoordNum
[src]

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

impl<T> Intersects<Polygon<T>> for Coordinate<T> where
    Polygon<T>: Intersects<Coordinate<T>>,
    T: CoordNum
[src]

impl<T> Intersects<Polygon<T>> for Line<T> where
    Polygon<T>: Intersects<Line<T>>,
    T: CoordNum
[src]

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

impl<T> Intersects<Polygon<T>> for Rect<T> where
    Polygon<T>: Intersects<Rect<T>>,
    T: CoordNum
[src]

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

impl<T> Intersects<Rect<T>> for Line<T> where
    Rect<T>: Intersects<Line<T>>,
    T: CoordNum
[src]

impl<T> Intersects<Rect<T>> for Polygon<T> where
    T: GeoNum
[src]

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

impl<T> Intersects<Triangle<T>> for Coordinate<T> where
    Triangle<T>: Intersects<Coordinate<T>>,
    T: CoordNum
[src]

impl<T> Intersects<Triangle<T>> for Line<T> where
    Triangle<T>: Intersects<Line<T>>,
    T: CoordNum
[src]

impl<T> Intersects<Triangle<T>> for Polygon<T> where
    Triangle<T>: Intersects<Polygon<T>>,
    T: CoordNum
[src]

impl<T> Intersects<Triangle<T>> for Rect<T> where
    Triangle<T>: Intersects<Rect<T>>,
    T: CoordNum
[src]

impl<T, G> Intersects<G> for Geometry<T> where
    T: CoordNum,
    Point<T>: Intersects<G>,
    MultiPoint<T>: Intersects<G>,
    Line<T>: Intersects<G>,
    LineString<T>: Intersects<G>,
    MultiLineString<T>: Intersects<G>,
    Triangle<T>: Intersects<G>,
    Rect<T>: Intersects<G>,
    Polygon<T>: Intersects<G>,
    MultiPolygon<T>: Intersects<G>, 
[src]

impl<T, G> Intersects<G> for GeometryCollection<T> where
    T: CoordNum,
    Geometry<T>: Intersects<G>, 
[src]

impl<T, G> Intersects<G> for LineString<T> where
    T: CoordNum,
    Line<T>: Intersects<G>, 
[src]

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

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

impl<T, G> Intersects<G> for Point<T> where
    T: CoordNum,
    Coordinate<T>: Intersects<G>, 
[src]

impl<T, G> Intersects<G> for Triangle<T> where
    T: CoordNum,
    Polygon<T>: Intersects<G>, 
[src]

Loading content...