[][src]Struct nannou::geom::polygon::Polygon

pub struct Polygon<I> {
    pub points: I,
}

A simple type wrapper around a list of points that describe a polygon.

Fields

points: I

The iterator yielding all points in the polygon.

Methods

impl<I> Polygon<I> where
    I: Iterator
[src]

pub fn new<P>(points: P) -> Self where
    P: IntoIterator<IntoIter = I, Item = I::Item>, 
[src]

Construct a new polygon from the given list of points describing its vertices.

pub fn triangles(self) -> Option<Triangles<I>>[src]

Triangulate the polygon given as a list of Points describing its sides.

Returns None if the polygon's iterator yields less than two points.

pub fn contains(self, p: &I::Item) -> Option<Tri<I::Item>> where
    I::Item: Vertex2d
[src]

Returns Some with the touched triangle if the given Point is over the polygon described by the given series of points.

This uses the triangles function internally.

pub fn bounding_rect(self) -> Option<Rect<<I::Item as Vertex>::Scalar>> where
    I::Item: Vertex2d
[src]

The Rect that bounds the polygon.

Returns None if the polygon's point iterator is empty.

pub fn bounding_cuboid(self) -> Option<Cuboid<<I::Item as Vertex>::Scalar>> where
    I::Item: Vertex3d
[src]

The `Cuboid that bounds the polygon.

Returns None if the polygon's point iterator is empty.

Trait Implementations

impl<I: Clone> Clone for Polygon<I>[src]

impl<I: Debug> Debug for Polygon<I>[src]

impl<I: Eq> Eq for Polygon<I>[src]

impl<I: PartialEq> PartialEq<Polygon<I>> for Polygon<I>[src]

impl<I> StructuralEq for Polygon<I>[src]

impl<I> StructuralPartialEq for Polygon<I>[src]

Auto Trait Implementations

impl<I> RefUnwindSafe for Polygon<I> where
    I: RefUnwindSafe

impl<I> Send for Polygon<I> where
    I: Send

impl<I> Sync for Polygon<I> where
    I: Sync

impl<I> Unpin for Polygon<I> where
    I: Unpin

impl<I> UnwindSafe for Polygon<I> where
    I: UnwindSafe

Blanket Implementations

impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for S where
    D: AdaptFrom<S, Swp, Dwp, T>,
    Dwp: WhitePoint,
    Swp: WhitePoint,
    T: Component + Float
[src]

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, U> ConvertInto<U> for T where
    U: ConvertFrom<T>, 
[src]

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]

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

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

impl<T> SetParameter for T

impl<T> SetParameter for T

impl<T> Style for T where
    T: Any + Debug + PartialEq<T>, 
[src]

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

type Owned = T

The resulting type after obtaining ownership.

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.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,