logo
pub trait Winding {
    type Scalar: CoordNum;

    fn winding_order(&self) -> Option<WindingOrder>;
    fn points_cw(&self) -> Points<'_, Self::Scalar>Notable traits for Points<'a, T>impl<'a, T> Iterator for Points<'a, T> where
    T: CoordNum
type Item = Point<T>;
; fn points_ccw(&self) -> Points<'_, Self::Scalar>Notable traits for Points<'a, T>impl<'a, T> Iterator for Points<'a, T> where
    T: CoordNum
type Item = Point<T>;
; fn make_cw_winding(&mut self); fn make_ccw_winding(&mut self); fn is_cw(&self) -> bool { ... } fn is_ccw(&self) -> bool { ... } fn clone_to_winding_order(&self, winding_order: WindingOrder) -> Self
    where
        Self: Sized + Clone
, { ... } fn make_winding_order(&mut self, winding_order: WindingOrder) { ... } }
Expand description

Determine and operate on how a LineString is wound. This functionality, and our implementation is based on CGAL’s Polygon_2::orientation.

Required Associated Types

Required Methods

Return the winding order of this object if it contains at least three distinct coordinates, and None otherwise.

Iterate over the points in a clockwise order

The object isn’t changed, and the points are returned either in order, or in reverse order, so that the resultant order makes it appear clockwise

Iterate over the points in a counter-clockwise order

The object isn’t changed, and the points are returned either in order, or in reverse order, so that the resultant order makes it appear counter-clockwise

Change this object’s points so they are in clockwise winding order

Change this line’s points so they are in counterclockwise winding order

Provided Methods

True iff this is wound clockwise

True iff this is wound counterclockwise

Return a clone of this object, but in the specified winding order

Change the winding order so that it is in this winding order

Implementors