[−][src]Struct geo::MultiPoint
A collection of Point
s. Can
be created from a Vec
of Point
s, or from an
Iterator which yields Point
s. Iterating over this
object yields the component Point
s.
Semantics
The interior and the boundary are the union of the
interior and the boundary of the constituent points. In
particular, the boundary of a MultiPoint
is always
empty.
Examples
Iterating over a MultiPoint
yields the Point
s inside.
use geo_types::{MultiPoint, Point}; let points: MultiPoint<_> = vec![(0., 0.), (1., 2.)].into(); for point in points { println!("Point x = {}, y = {}", point.x(), point.y()); }
Implementations
impl<T> MultiPoint<T> where
T: CoordinateType,
[src]
T: CoordinateType,
pub fn iter(&self) -> impl Iterator<Item = &Point<T>>
[src]
pub fn iter_mut(&mut self) -> impl Iterator<Item = &mut Point<T>>
[src]
Trait Implementations
impl<T> Area<T> for MultiPoint<T> where
T: CoordinateType,
[src]
T: CoordinateType,
pub fn signed_area(&self) -> T
[src]
pub fn unsigned_area(&self) -> T
[src]
impl<T> BoundingRect<T> for MultiPoint<T> where
T: CoordinateType,
[src]
T: CoordinateType,
type Output = Option<Rect<T>>
pub fn bounding_rect(&self) -> Self::Output
[src]
Return the BoundingRect for a MultiPoint
impl<T> Centroid for MultiPoint<T> where
T: Float,
[src]
T: Float,
use geo::algorithm::centroid::Centroid; use geo::{MultiPoint, Point}; let empty: Vec<Point<f64>> = Vec::new(); let empty_multi_points: MultiPoint<_> = empty.into(); assert_eq!(empty_multi_points.centroid(), None); let points: MultiPoint<_> = vec![(5., 1.), (1., 3.), (3., 2.)].into(); assert_eq!(points.centroid(), Some(Point::new(3., 2.)));
impl<T> Clone for MultiPoint<T> where
T: Clone + CoordinateType,
[src]
T: Clone + CoordinateType,
pub fn clone(&self) -> MultiPoint<T>
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<F: Float> ClosestPoint<F, Point<F>> for MultiPoint<F>
[src]
pub fn closest_point(&self, p: &Point<F>) -> Closest<F>
[src]
impl<T> ConcaveHull for MultiPoint<T> where
T: Float + RTreeNum + HasKernel,
[src]
T: Float + RTreeNum + HasKernel,
type Scalar = T
pub fn concave_hull(&self, concavity: T) -> Polygon<T>
[src]
impl<G, T> Contains<G> for MultiPoint<T> where
T: CoordinateType,
Point<T>: Contains<G>,
[src]
T: CoordinateType,
Point<T>: Contains<G>,
impl<T> ConvexHull for MultiPoint<T> where
T: HasKernel,
[src]
T: HasKernel,
type Scalar = T
pub fn convex_hull(&self) -> Polygon<T>
[src]
impl<T> CoordinatePosition for MultiPoint<T> where
T: HasKernel,
[src]
T: HasKernel,
type Scalar = T
pub fn calculate_coordinate_position(
&self,
coord: &Coordinate<T>,
is_inside: &mut bool,
_boundary_count: &mut usize
)
[src]
&self,
coord: &Coordinate<T>,
is_inside: &mut bool,
_boundary_count: &mut usize
)
pub fn coordinate_position(&self, coord: &Coordinate<Self::Scalar>) -> CoordPos
[src]
impl<'a, T: CoordinateType + 'a> CoordsIter<'a, T> for MultiPoint<T>
[src]
type Iter = Flatten<MapCoordsIter<'a, T, Iter<'a, Point<T>>, Point<T>>>
pub fn coords_iter(&'a self) -> Self::Iter
[src]
impl<T> Debug for MultiPoint<T> where
T: Debug + CoordinateType,
[src]
T: Debug + CoordinateType,
impl<T> Eq for MultiPoint<T> where
T: Eq + CoordinateType,
[src]
T: Eq + CoordinateType,
impl<T> EuclideanDistance<T, MultiPoint<T>> for Point<T> where
T: Float,
[src]
T: Float,
pub fn euclidean_distance(&self, points: &MultiPoint<T>) -> T
[src]
Minimum distance from a Point to a MultiPoint
impl<T> EuclideanDistance<T, Point<T>> for MultiPoint<T> where
T: Float,
[src]
T: Float,
pub fn euclidean_distance(&self, point: &Point<T>) -> T
[src]
Minimum distance from a MultiPoint to a Point
impl<T> ExtremeIndices for MultiPoint<T> where
T: Signed + HasKernel,
[src]
T: Signed + HasKernel,
pub fn extreme_indices(&self) -> Result<Extremes, ()>
[src]
impl<T, IP> From<IP> for MultiPoint<T> where
IP: Into<Point<T>>,
T: CoordinateType,
[src]
IP: Into<Point<T>>,
T: CoordinateType,
pub fn from(x: IP) -> MultiPoint<T>
[src]
Convert a single Point
(or something which can be converted to a Point
) into a
one-member MultiPoint
impl<T> From<MultiPoint<T>> for Geometry<T> where
T: CoordinateType,
[src]
T: CoordinateType,
pub fn from(x: MultiPoint<T>) -> Geometry<T>
[src]
impl<T, IP> From<Vec<IP, Global>> for MultiPoint<T> where
IP: Into<Point<T>>,
T: CoordinateType,
[src]
IP: Into<Point<T>>,
T: CoordinateType,
pub fn from(v: Vec<IP, Global>) -> MultiPoint<T>
[src]
Convert a Vec
of Points
(or Vec
of things which can be converted to a Point
) into a
MultiPoint
.
impl<T, IP> FromIterator<IP> for MultiPoint<T> where
IP: Into<Point<T>>,
T: CoordinateType,
[src]
IP: Into<Point<T>>,
T: CoordinateType,
pub fn from_iter<I>(iter: I) -> MultiPoint<T> where
I: IntoIterator<Item = IP>,
[src]
I: IntoIterator<Item = IP>,
Collect the results of a Point
iterator into a MultiPoint
impl<C: CoordinateType> HasDimensions for MultiPoint<C>
[src]
pub fn is_empty(&self) -> bool
[src]
pub fn dimensions(&self) -> Dimensions
[src]
pub fn boundary_dimensions(&self) -> Dimensions
[src]
impl<T> Hash for MultiPoint<T> where
T: Hash + CoordinateType,
[src]
T: Hash + CoordinateType,
pub fn hash<__H>(&self, state: &mut __H) where
__H: Hasher,
[src]
__H: Hasher,
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl<T, G> Intersects<G> for MultiPoint<T> where
T: CoordinateType,
Point<T>: Intersects<G>,
[src]
T: CoordinateType,
Point<T>: Intersects<G>,
pub fn intersects(&self, rhs: &G) -> bool
[src]
impl<T> Intersects<MultiPoint<T>> for Coordinate<T> where
MultiPoint<T>: Intersects<Coordinate<T>>,
T: CoordinateType,
[src]
MultiPoint<T>: Intersects<Coordinate<T>>,
T: CoordinateType,
pub fn intersects(&self, rhs: &MultiPoint<T>) -> bool
[src]
impl<T> Intersects<MultiPoint<T>> for Line<T> where
MultiPoint<T>: Intersects<Line<T>>,
T: CoordinateType,
[src]
MultiPoint<T>: Intersects<Line<T>>,
T: CoordinateType,
pub fn intersects(&self, rhs: &MultiPoint<T>) -> bool
[src]
impl<T> Intersects<MultiPoint<T>> for Polygon<T> where
MultiPoint<T>: Intersects<Polygon<T>>,
T: CoordinateType,
[src]
MultiPoint<T>: Intersects<Polygon<T>>,
T: CoordinateType,
pub fn intersects(&self, rhs: &MultiPoint<T>) -> bool
[src]
impl<T> Intersects<MultiPoint<T>> for Rect<T> where
MultiPoint<T>: Intersects<Rect<T>>,
T: CoordinateType,
[src]
MultiPoint<T>: Intersects<Rect<T>>,
T: CoordinateType,
pub fn intersects(&self, rhs: &MultiPoint<T>) -> bool
[src]
impl<'a, T> IntoIterator for &'a MultiPoint<T> where
T: CoordinateType,
[src]
T: CoordinateType,
type Item = &'a Point<T>
The type of the elements being iterated over.
type IntoIter = Iter<'a, Point<T>>
Which kind of iterator are we turning this into?
pub fn into_iter(self) -> <&'a MultiPoint<T> as IntoIterator>::IntoIter
[src]
impl<'a, T> IntoIterator for &'a mut MultiPoint<T> where
T: CoordinateType,
[src]
T: CoordinateType,
type Item = &'a mut Point<T>
The type of the elements being iterated over.
type IntoIter = IterMut<'a, Point<T>>
Which kind of iterator are we turning this into?
pub fn into_iter(self) -> <&'a mut MultiPoint<T> as IntoIterator>::IntoIter
[src]
impl<T> IntoIterator for MultiPoint<T> where
T: CoordinateType,
[src]
T: CoordinateType,
Iterate over the Point
s in this MultiPoint
.
type Item = Point<T>
The type of the elements being iterated over.
type IntoIter = IntoIter<Point<T>, Global>
Which kind of iterator are we turning this into?
pub fn into_iter(self) -> <MultiPoint<T> as IntoIterator>::IntoIter
[src]
impl<T: CoordinateType, NT: CoordinateType> MapCoords<T, NT> for MultiPoint<T>
[src]
type Output = MultiPoint<NT>
pub fn map_coords(
&self,
func: impl Fn(&(T, T)) -> (NT, NT) + Copy
) -> Self::Output
[src]
&self,
func: impl Fn(&(T, T)) -> (NT, NT) + Copy
) -> Self::Output
impl<T: CoordinateType> MapCoordsInplace<T> for MultiPoint<T>
[src]
impl<T> PartialEq<MultiPoint<T>> for MultiPoint<T> where
T: PartialEq<T> + CoordinateType,
[src]
T: PartialEq<T> + CoordinateType,
pub fn eq(&self, other: &MultiPoint<T>) -> bool
[src]
pub fn ne(&self, other: &MultiPoint<T>) -> bool
[src]
impl<T> Rotate<T> for MultiPoint<T> where
T: Float + FromPrimitive,
[src]
T: Float + FromPrimitive,
pub fn rotate(&self, angle: T) -> Self
[src]
Rotate the contained Points about their centroids by the given number of degrees
impl<T> StructuralEq for MultiPoint<T> where
T: CoordinateType,
[src]
T: CoordinateType,
impl<T> StructuralPartialEq for MultiPoint<T> where
T: CoordinateType,
[src]
T: CoordinateType,
impl<T> TryFrom<Geometry<T>> for MultiPoint<T> where
T: Float,
[src]
T: Float,
type Error = FailedToConvertError
The type returned in the event of a conversion error.
pub fn try_from(
geom: Geometry<T>
) -> Result<MultiPoint<T>, <MultiPoint<T> as TryFrom<Geometry<T>>>::Error>
[src]
geom: Geometry<T>
) -> Result<MultiPoint<T>, <MultiPoint<T> as TryFrom<Geometry<T>>>::Error>
impl<T: CoordinateType, NT: CoordinateType> TryMapCoords<T, NT> for MultiPoint<T>
[src]
Auto Trait Implementations
impl<T> RefUnwindSafe for MultiPoint<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Send for MultiPoint<T> where
T: Send,
T: Send,
impl<T> Sync for MultiPoint<T> where
T: Sync,
T: Sync,
impl<T> Unpin for MultiPoint<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for MultiPoint<T> where
T: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, G> ExtremePoints for G where
G: ConvexHull<Scalar = T> + ExtremeIndices,
T: Signed + HasKernel,
[src]
G: ConvexHull<Scalar = T> + ExtremeIndices,
T: Signed + HasKernel,
type Scalar = T
pub fn extreme_points(&Self) -> ExtremePoint<T>
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, G> RotatePoint<T> for G where
G: MapCoords<T, T, Output = G>,
T: Float,
[src]
G: MapCoords<T, T, Output = G>,
T: Float,
pub fn rotate_around_point(&Self, T, Point<T>) -> G
[src]
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, G> Translate<T> for G where
G: MapCoords<T, T, Output = G> + MapCoordsInplace<T>,
T: CoordinateType,
[src]
G: MapCoords<T, T, Output = G> + MapCoordsInplace<T>,
T: CoordinateType,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,