[][src]Struct geo::MultiLineString

pub struct MultiLineString<T>(pub Vec<LineString<T>>)
where
    T: CoordinateType
;

A collection of LineStrings. Can be created from a Vec of LineStrings, or from an Iterator which yields LineStrings. Iterating over this object yields the component LineStrings.

Semantics

The boundary of a MultiLineString is obtained by applying the “mod 2” union rule: A Point is in the boundary of a MultiLineString if it is in the boundaries of an odd number of elements of the MultiLineString.

The interior of a MultiLineString is the union of the interior, and boundary of the constituent LineStrings, except for the boundary as defined above. In other words, it is the set difference of the boundary from the union of the interior and boundary of the constituents.

A MultiLineString is simple if and only if all of its elements are simple and the only intersections between any two elements occur at Points that are on the boundaries of both elements. A MultiLineString is closed if all of its elements are closed. The boundary of a closed MultiLineString is always empty.

Trait Implementations

impl<T> Area<T> for MultiLineString<T> where
    T: CoordinateType
[src]

impl<T> BoundingRect<T> for MultiLineString<T> where
    T: CoordinateType
[src]

type Output = Option<Rect<T>>

fn bounding_rect(&self) -> Self::Output[src]

Return the BoundingRect for a MultiLineString

impl<T> Centroid for MultiLineString<T> where
    T: Float + FromPrimitive + Sum
[src]

type Output = Option<Point<T>>

fn centroid(&self) -> Self::Output[src]

The Centroid of a MultiLineString is the mean of the centroids of all the constituent linestrings, weighted by the length of each linestring

impl<T> Clone for MultiLineString<T> where
    T: Clone + CoordinateType
[src]

impl<F: Float + HasKernel> ClosestPoint<F, Point<F>> for MultiLineString<F>[src]

impl<T> ConcaveHull for MultiLineString<T> where
    T: Float + RTreeNum + HasKernel, 
[src]

type Scalar = T

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

impl<T> ConvexHull for MultiLineString<T> where
    T: HasKernel, 
[src]

type Scalar = T

impl<T> Debug for MultiLineString<T> where
    T: Debug + CoordinateType
[src]

impl<T> Eq for MultiLineString<T> where
    T: Eq + CoordinateType
[src]

impl<T> EuclideanDistance<T, MultiLineString<T>> for Point<T> where
    T: Float
[src]

fn euclidean_distance(&self, mls: &MultiLineString<T>) -> T[src]

Minimum distance from a Point to a MultiLineString

impl<T> EuclideanDistance<T, Point<T>> for MultiLineString<T> where
    T: Float
[src]

fn euclidean_distance(&self, point: &Point<T>) -> T[src]

Minimum distance from a MultiLineString to a Point

impl<T> EuclideanLength<T, MultiLineString<T>> for MultiLineString<T> where
    T: Float + Sum
[src]

impl<T, ILS> From<ILS> for MultiLineString<T> where
    ILS: Into<LineString<T>>,
    T: CoordinateType
[src]

impl<T> From<MultiLineString<T>> for Geometry<T> where
    T: CoordinateType
[src]

impl<T, ILS> FromIterator<ILS> for MultiLineString<T> where
    ILS: Into<LineString<T>>,
    T: CoordinateType
[src]

impl GeodesicLength<f64, MultiLineString<f64>> for MultiLineString<f64>[src]

impl<T> Hash for MultiLineString<T> where
    T: Hash + CoordinateType
[src]

impl<T> HaversineLength<T, MultiLineString<T>> for MultiLineString<T> where
    T: Float + FromPrimitive
[src]

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

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

impl<T> IntoIterator for MultiLineString<T> where
    T: CoordinateType
[src]

type Item = LineString<T>

The type of the elements being iterated over.

type IntoIter = IntoIter<LineString<T>>

Which kind of iterator are we turning this into?

impl<T: CoordinateType, NT: CoordinateType> MapCoords<T, NT> for MultiLineString<T>[src]

type Output = MultiLineString<NT>

impl<T: CoordinateType> MapCoordsInplace<T> for MultiLineString<T>[src]

impl<T> PartialEq<MultiLineString<T>> for MultiLineString<T> where
    T: PartialEq<T> + CoordinateType
[src]

impl<T> Rotate<T> for MultiLineString<T> where
    T: Float + FromPrimitive
[src]

fn rotate(&self, angle: T) -> Self[src]

Rotate the contained LineStrings about their centroids by the given number of degrees

impl<T> Simplify<T, T> for MultiLineString<T> where
    T: Float
[src]

impl<T> SimplifyVW<T, T> for MultiLineString<T> where
    T: Float
[src]

impl<T> SimplifyVWPreserve<T, T> for MultiLineString<T> where
    T: Float + RTreeNum
[src]

impl<T> StructuralEq for MultiLineString<T> where
    T: CoordinateType
[src]

impl<T> StructuralPartialEq for MultiLineString<T> where
    T: CoordinateType
[src]

impl<T> TryFrom<Geometry<T>> for MultiLineString<T> where
    T: Float
[src]

type Error = FailedToConvertError

The type returned in the event of a conversion error.

impl<T: CoordinateType, NT: CoordinateType> TryMapCoords<T, NT> for MultiLineString<T>[src]

type Output = MultiLineString<NT>

impl<T> VincentyLength<T, MultiLineString<T>> for MultiLineString<T> where
    T: Float + FromPrimitive
[src]

Auto Trait Implementations

impl<T> RefUnwindSafe for MultiLineString<T> where
    T: RefUnwindSafe

impl<T> Send for MultiLineString<T> where
    T: Send

impl<T> Sync for MultiLineString<T> where
    T: Sync

impl<T> Unpin for MultiLineString<T> where
    T: Unpin

impl<T> UnwindSafe for MultiLineString<T> where
    T: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<I> IntoIterator for I where
    I: Iterator
[src]

type Item = <I as Iterator>::Item

The type of the elements being iterated over.

type IntoIter = I

Which kind of iterator are we turning this into?

impl<T, G> RotatePoint<T> for G where
    G: MapCoords<T, T, Output = G>,
    T: Float
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, G> Translate<T> for G where
    G: MapCoords<T, T, Output = G> + MapCoordsInplace<T>,
    T: CoordinateType
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.