Skip to content

Commit add876d

Browse files
author
cookiedan42
committed
always use exterior_coords_iter for derived covers
1 parent 676e638 commit add876d

File tree

3 files changed

+4
-38
lines changed

3 files changed

+4
-38
lines changed

geo/src/algorithm/covers/mod.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ macro_rules! impl_covers_from_intersects {
9090
if HasDimensions::is_empty(target) {
9191
return false;
9292
}
93-
target.coords_iter().all(|pt| self.intersects(&pt))
93+
target.exterior_coords_iter().all(|pt| self.intersects(&pt))
9494
}
9595
}
9696
)*
@@ -111,7 +111,7 @@ macro_rules! impl_covers_from_intersects {
111111
if HasDimensions::is_empty(self) || HasDimensions::is_empty(target){
112112
return false;
113113
}
114-
target.coords_iter().all(|pt| self.intersects(&pt))
114+
target.exterior_coords_iter().all(|pt| self.intersects(&pt))
115115
}
116116
}
117117
)*

geo/src/algorithm/covers/rect.rs

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,28 +2,11 @@ use super::{Covers, impl_covers_from_intersects};
22
use crate::GeoNum;
33
use crate::{CoordsIter, Intersects, geometry::*};
44

5-
impl<T> Covers<Polygon<T>> for Rect<T>
6-
where
7-
T: GeoNum,
8-
{
9-
fn covers(&self, rhs: &Polygon<T>) -> bool {
10-
rhs.exterior_coords_iter().all(|c| self.intersects(&c))
11-
}
12-
}
13-
14-
impl<T> Covers<MultiPolygon<T>> for Rect<T>
15-
where
16-
T: GeoNum,
17-
{
18-
fn covers(&self, rhs: &MultiPolygon<T>) -> bool {
19-
rhs.exterior_coords_iter().all(|c| self.intersects(&c))
20-
}
21-
}
22-
235
impl_covers_from_intersects!(Rect<T>, [
246
Point<T>,MultiPoint<T>,
257
Line<T>,
268
LineString<T>, MultiLineString<T>,
279
Rect<T>, Triangle<T>,
10+
Polygon<T>, MultiPolygon<T>,
2811
Geometry<T>, GeometryCollection<T>
2912
]);

geo/src/algorithm/covers/triangle.rs

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,28 +2,11 @@ use super::{Covers, impl_covers_from_intersects};
22
use crate::GeoNum;
33
use crate::{CoordsIter, Intersects, geometry::*};
44

5-
impl<T> Covers<Polygon<T>> for Triangle<T>
6-
where
7-
T: GeoNum,
8-
{
9-
fn covers(&self, rhs: &Polygon<T>) -> bool {
10-
rhs.exterior_coords_iter().all(|c| self.intersects(&c))
11-
}
12-
}
13-
14-
impl<T> Covers<MultiPolygon<T>> for Triangle<T>
15-
where
16-
T: GeoNum,
17-
{
18-
fn covers(&self, rhs: &MultiPolygon<T>) -> bool {
19-
rhs.exterior_coords_iter().all(|c| self.intersects(&c))
20-
}
21-
}
22-
235
impl_covers_from_intersects!(Triangle<T>, [
246
Point<T>,MultiPoint<T>,
257
Line<T>,
268
LineString<T>, MultiLineString<T>,
279
Rect<T>, Triangle<T>,
10+
Polygon<T>, MultiPolygon<T>,
2811
Geometry<T>, GeometryCollection<T>
2912
]);

0 commit comments

Comments
 (0)