#[non_exhaustive]pub enum ViolationKind {
Show 16 variants
Overlap,
Outside,
Dangle,
PseudoNode,
Crossing,
TouchInterior,
SelfOverlap,
SelfCrossing,
Gap,
OuterBoundary,
Multipart,
NotCovered,
MissingPoint,
PointCount,
Contained,
Intersection,
}Expand description
Categories of reported topology violations, ordered deterministically.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Overlap
Coincident points, shared linework or polygon intersection area.
Outside
Geometry outside the required polygon coverage.
Dangle
A node with one incident endpoint use.
PseudoNode
A node joining endpoints of exactly two distinct features.
Crossing
An interior intersection between distinct features.
TouchInterior
A meeting with at least one feature interior.
SelfOverlap
Repeated linework within one feature.
SelfCrossing
A true self-crossing within one feature.
Gap
An interior ring of the polygon union.
OuterBoundary
An exterior ring of the polygon union, reported by the gaps rule.
Multipart
A feature containing multiple parts.
NotCovered
A point, endpoint or line piece without required coverage.
MissingPoint
A polygon feature without a qualifying point feature.
PointCount
A polygon or point feature failing a one-to-one assignment.
Contained
A strictly contained point or whole feature.
Intersection
Any prohibited contact, including isolated points.
Implementations§
Trait Implementations§
Source§impl Clone for ViolationKind
impl Clone for ViolationKind
Source§fn clone(&self) -> ViolationKind
fn clone(&self) -> ViolationKind
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ViolationKind
Source§impl Debug for ViolationKind
impl Debug for ViolationKind
Source§impl<'de> Deserialize<'de> for ViolationKind
impl<'de> Deserialize<'de> for ViolationKind
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for ViolationKind
Source§impl Hash for ViolationKind
impl Hash for ViolationKind
Source§impl Ord for ViolationKind
impl Ord for ViolationKind
Source§fn cmp(&self, other: &ViolationKind) -> Ordering
fn cmp(&self, other: &ViolationKind) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for ViolationKind
impl PartialEq for ViolationKind
Source§impl PartialOrd for ViolationKind
impl PartialOrd for ViolationKind
Source§impl Serialize for ViolationKind
impl Serialize for ViolationKind
impl StructuralPartialEq for ViolationKind
Auto Trait Implementations§
impl Freeze for ViolationKind
impl RefUnwindSafe for ViolationKind
impl Send for ViolationKind
impl Sync for ViolationKind
impl Unpin for ViolationKind
impl UnsafeUnpin for ViolationKind
impl UnwindSafe for ViolationKind
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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> ⓘ
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> ⓘ
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