Struct geo::Polygon
[−]
[src]
pub struct Polygon<T> where
T: Float, { pub exterior: LineString<T>, pub interiors: Vec<LineString<T>>, }
A 2D polygon area.
It has one exterior ring, and zero or more interior rings.
Fields
exterior: LineString<T>
interiors: Vec<LineString<T>>
Methods
impl<T> Polygon<T> where
T: Float,
[src]
T: Float,
fn new(exterior: LineString<T>, interiors: Vec<LineString<T>>) -> Polygon<T>
[src]
Creates a new polygon.
use geo::{Point, LineString, Polygon}; let exterior = LineString(vec![Point::new(0., 0.), Point::new(1., 1.), Point::new(1., 0.), Point::new(0., 0.)]); let interiors = vec![LineString(vec![Point::new(0.1, 0.1), Point::new(0.9, 0.9), Point::new(0.9, 0.1), Point::new(0.1, 0.1)])]; let p = Polygon::new(exterior.clone(), interiors.clone()); assert_eq!(p.exterior, exterior); assert_eq!(p.interiors, interiors);
Trait Implementations
impl<T: PartialEq> PartialEq for Polygon<T> where
T: Float,
[src]
T: Float,
fn eq(&self, __arg_0: &Polygon<T>) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &Polygon<T>) -> bool
[src]
This method tests for !=
.
impl<T: Clone> Clone for Polygon<T> where
T: Float,
[src]
T: Float,
fn clone(&self) -> Polygon<T>
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl<T: Debug> Debug for Polygon<T> where
T: Float,
[src]
T: Float,
impl<T> Centroid<T> for Polygon<T> where
T: Float + FromPrimitive,
[src]
T: Float + FromPrimitive,
impl<T> Contains<Point<T>> for Polygon<T> where
T: Float,
[src]
T: Float,
fn contains(&self, p: &Point<T>) -> bool
[src]
Checks if the geometry A is completely inside the B geometry. Read more
impl<T> Contains<Line<T>> for Polygon<T> where
T: Float,
[src]
T: Float,
fn contains(&self, line: &Line<T>) -> bool
[src]
Checks if the geometry A is completely inside the B geometry. Read more
impl<T> Contains<LineString<T>> for Polygon<T> where
T: Float,
[src]
T: Float,
fn contains(&self, linestring: &LineString<T>) -> bool
[src]
Checks if the geometry A is completely inside the B geometry. Read more
impl<T> Intersects<Line<T>> for Polygon<T> where
T: Float,
[src]
T: Float,
fn intersects(&self, line: &Line<T>) -> bool
[src]
Checks if the geometry A intersects the geometry B. Read more
impl<T> Intersects<LineString<T>> for Polygon<T> where
T: Float,
[src]
T: Float,
fn intersects(&self, linestring: &LineString<T>) -> bool
[src]
Checks if the geometry A intersects the geometry B. Read more
impl<T> Intersects<Bbox<T>> for Polygon<T> where
T: Float,
[src]
T: Float,
fn intersects(&self, bbox: &Bbox<T>) -> bool
[src]
Checks if the geometry A intersects the geometry B. Read more
impl<T> Intersects<Polygon<T>> for Polygon<T> where
T: Float,
[src]
T: Float,
fn intersects(&self, polygon: &Polygon<T>) -> bool
[src]
Checks if the geometry A intersects the geometry B. Read more
impl<T> Area<T> for Polygon<T> where
T: Float,
[src]
T: Float,
fn area(&self) -> T
[src]
Area of polygon. See: https://en.wikipedia.org/wiki/Polygon Read more
impl<T> Distance<T, Point<T>> for Polygon<T> where
T: Float,
[src]
T: Float,
impl<T> BoundingBox<T> for Polygon<T> where
T: Float,
[src]
T: Float,
impl<T> Simplify<T> for Polygon<T> where
T: Float,
[src]
T: Float,
fn simplify(&self, epsilon: &T) -> Polygon<T>
[src]
Returns the simplified representation of a geometry, using the Ramer–Douglas–Peucker algorithm Read more
impl<T> SimplifyVW<T> for Polygon<T> where
T: Float,
[src]
T: Float,
fn simplifyvw(&self, epsilon: &T) -> Polygon<T>
[src]
Returns the simplified representation of a geometry, using the Visvalingam-Whyatt algorithm Read more
impl<T> ConvexHull<T> for Polygon<T> where
T: Float,
[src]
T: Float,
fn convex_hull(&self) -> Polygon<T>
[src]
Returns the convex hull of a Polygon. The hull is always oriented counter-clockwise. Read more
impl<T> Orient<T> for Polygon<T> where
T: Float,
[src]
T: Float,
fn orient(&self, direction: Direction) -> Polygon<T>
[src]
Orients a Polygon's exterior and interior rings according to convention Read more
impl<T> ExtremeIndices<T> for Polygon<T> where
T: Float + Signed,
[src]
T: Float + Signed,
fn extreme_indices(&self) -> Result<Extremes, ()>
[src]
Find the extreme x
and y
indices of a convex Polygon Read more
impl<T> Rotate<T> for Polygon<T> where
T: Float + FromPrimitive,
[src]
T: Float + FromPrimitive,
fn rotate(&self, angle: T) -> Self
[src]
Rotate the Polygon about its centroid by the given number of degrees
impl<T> RotatePoint<T> for Polygon<T> where
T: Float + FromPrimitive,
[src]
T: Float + FromPrimitive,
fn rotate_around_point(&self, angle: T, point: &Point<T>) -> Self
[src]
Rotate the Polygon about a given point by the given number of degrees