pub enum ContactKind {
None,
SharedEdge,
PartialContact,
}Expand description
Classification of how two polygon parts touch along their boundaries.
Mirrors the three-way outcome of polygon.move::shared_edge_relation:
exact shared edge (valid adjacency), no contact (independent), or partial
collinear overlap (on-chain aborts EInvalidMultipartContact).
Variants§
None
No collinear overlap between any edge pair. Vertex-only contact is classified here as well — callers that care must check vertices separately.
At least one edge appears in both parts (possibly reversed). This is the only form of adjacency on-chain accepts.
PartialContact
Edges overlap on a non-degenerate interval without matching exactly
(T-junction). On-chain aborts EInvalidMultipartContact; in Rust the
caller must surface this as TopologyError::UnsupportedContact.
Trait Implementations§
Source§impl Clone for ContactKind
impl Clone for ContactKind
Source§fn clone(&self) -> ContactKind
fn clone(&self) -> ContactKind
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ContactKind
impl Debug for ContactKind
Source§impl PartialEq for ContactKind
impl PartialEq for ContactKind
Source§fn eq(&self, other: &ContactKind) -> bool
fn eq(&self, other: &ContactKind) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Copy for ContactKind
impl Eq for ContactKind
impl StructuralPartialEq for ContactKind
Auto Trait Implementations§
impl Freeze for ContactKind
impl RefUnwindSafe for ContactKind
impl Send for ContactKind
impl Sync for ContactKind
impl Unpin for ContactKind
impl UnsafeUnpin for ContactKind
impl UnwindSafe for ContactKind
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