pub enum EdgeIntersection<IntersectionCoord, OriginalCoord, Edge> {
    None,
    Point(Point<IntersectionCoord>),
    EndPoint(Point<OriginalCoord>),
    Overlap(Edge),
}Expand description
Return type for the edge-edge intersection functions. Stores all possible results of an edge to edge intersection.
§Note on coordinate types:
There are two coordinate types (which may be the same concrete type):
OriginalCoordis the coordinate type used to define the edge end-points. An intersection at the end-points can be expressed with this coordinate type.IntersectionCoordis the coordinate type used to express intersection points somewhere in the middle of the edge. This may differ from the coordinate type of the end-points. For example if the end-points are stored in integer coordinates the intersection may require rational coordinates. But in special cases such as axis-aligned edges, the intersection point can indeed be expressed in integer coordinates.
Variants§
None
No intersection.
Point(Point<IntersectionCoord>)
Intersection in a single point but not on an endpoint of an edge.
EndPoint(Point<OriginalCoord>)
Intersection in an endpoint of an edge.
Overlap(Edge)
Full or partial overlap.
Trait Implementations§
Source§impl<IntersectionCoord, OriginalCoord, Edge> Clone for EdgeIntersection<IntersectionCoord, OriginalCoord, Edge>
 
impl<IntersectionCoord, OriginalCoord, Edge> Clone for EdgeIntersection<IntersectionCoord, OriginalCoord, Edge>
Source§fn clone(&self) -> EdgeIntersection<IntersectionCoord, OriginalCoord, Edge>
 
fn clone(&self) -> EdgeIntersection<IntersectionCoord, OriginalCoord, Edge>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
 
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from 
source. Read moreSource§impl<IntersectionCoord, OriginalCoord, Edge> Debug for EdgeIntersection<IntersectionCoord, OriginalCoord, Edge>
 
impl<IntersectionCoord, OriginalCoord, Edge> Debug for EdgeIntersection<IntersectionCoord, OriginalCoord, Edge>
Source§impl<IntersectionCoord, OriginalCoord, Edge> PartialEq for EdgeIntersection<IntersectionCoord, OriginalCoord, Edge>
 
impl<IntersectionCoord, OriginalCoord, Edge> PartialEq for EdgeIntersection<IntersectionCoord, OriginalCoord, Edge>
Source§fn eq(
    &self,
    other: &EdgeIntersection<IntersectionCoord, OriginalCoord, Edge>,
) -> bool
 
fn eq( &self, other: &EdgeIntersection<IntersectionCoord, OriginalCoord, Edge>, ) -> bool
Tests for 
self and other values to be equal, and is used by ==.impl<IntersectionCoord, OriginalCoord, Edge> Copy for EdgeIntersection<IntersectionCoord, OriginalCoord, Edge>
impl<IntersectionCoord, OriginalCoord, Edge> Eq for EdgeIntersection<IntersectionCoord, OriginalCoord, Edge>
impl<IntersectionCoord, OriginalCoord, Edge> StructuralPartialEq for EdgeIntersection<IntersectionCoord, OriginalCoord, Edge>
Auto Trait Implementations§
impl<IntersectionCoord, OriginalCoord, Edge> Freeze for EdgeIntersection<IntersectionCoord, OriginalCoord, Edge>
impl<IntersectionCoord, OriginalCoord, Edge> RefUnwindSafe for EdgeIntersection<IntersectionCoord, OriginalCoord, Edge>
impl<IntersectionCoord, OriginalCoord, Edge> Send for EdgeIntersection<IntersectionCoord, OriginalCoord, Edge>
impl<IntersectionCoord, OriginalCoord, Edge> Sync for EdgeIntersection<IntersectionCoord, OriginalCoord, Edge>
impl<IntersectionCoord, OriginalCoord, Edge> Unpin for EdgeIntersection<IntersectionCoord, OriginalCoord, Edge>
impl<IntersectionCoord, OriginalCoord, Edge> UnwindSafe for EdgeIntersection<IntersectionCoord, OriginalCoord, Edge>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
 
impl<T> BorrowMut<T> for Twhere
    T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
 
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
    T: Clone,
 
impl<T> CloneToUninit for Twhere
    T: Clone,
Source§impl<T> IntoEither for T
 
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
 
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts 
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
 
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts 
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more