pub enum Intersection<'a, V, DE, UE, F>where
V: HasPosition,{
EdgeIntersection(DirectedEdgeHandle<'a, V, DE, UE, F>),
VertexIntersection(VertexHandle<'a, V, DE, UE, F>),
EdgeOverlap(DirectedEdgeHandle<'a, V, DE, UE, F>),
}
Expand description
An intersection that can occur when moving through a triangulation along a straight line.
This is used as return type for LineIntersectionIterator.
Variants§
EdgeIntersection(DirectedEdgeHandle<'a, V, DE, UE, F>)
Indicates that the line is either crossing or touching an existing edge. The line’s destination will always be either on the edge or on its left side (in a right-handed coordinate system).
VertexIntersection(VertexHandle<'a, V, DE, UE, F>)
Indicates that the line is touching a vertex. A line beginning or starting on a vertex also generates this intersection. A “line” beginning and starting on the same vertex will also return this intersection.
EdgeOverlap(DirectedEdgeHandle<'a, V, DE, UE, F>)
Indicates that a line is (partially) overlapping an existing edge.
This implies that the line points in the same direction as the edge and that they share a common line segment.
Implementations§
Source§impl<'a, V, DE, UE, F> Intersection<'a, V, DE, UE, F>where
V: HasPosition,
impl<'a, V, DE, UE, F> Intersection<'a, V, DE, UE, F>where
V: HasPosition,
Sourcepub fn as_edge_intersection(
&self,
) -> Option<DirectedEdgeHandle<'a, V, DE, UE, F>>
pub fn as_edge_intersection( &self, ) -> Option<DirectedEdgeHandle<'a, V, DE, UE, F>>
Returns the intersected edge if this is an edge intersection or None
otherwise.