#[non_exhaustive]pub enum CertifiedSurfacePairSplit3 {
Empty {
visited_patch_pairs: u32,
boundary_queries: u32,
},
Split(CertifiedTrimmedSurfacePair3),
DualSplit(CertifiedDualTrimmedSurfacePair3),
Unresolved {
intersection: CertifiedSurfaceSurfaceIntersection3,
reason: SurfacePairSplitUnresolvedReason,
},
}Expand description
Certified topology-integration outcome.
The success payload stays inline deliberately: boxing it would add an infallible allocation after all certified construction allocations have already been made fallible and bounded.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Empty
Conservative proof that the bounded patches do not intersect.
Fields
Split(CertifiedTrimmedSurfacePair3)
One finite trace integrated into a strict trimmed arrangement.
DualSplit(CertifiedDualTrimmedSurfacePair3)
A chord that partitions BOTH patches, so each becomes two faces.
Distinct from Self::Split because there is no unsplit face and
no embedded curve: the chord is a real trim boundary on both sides,
not an interior annotation on one. Representing it as Split would
force naming one patch the ‘owner’ and lying about the other.
Unresolved
Geometry remains usable, but no B-rep split was invented.
Fields
intersection: CertifiedSurfaceSurfaceIntersection3Original intersection evidence retained without widening.
reason: SurfacePairSplitUnresolvedReasonTopology-specific refusal reason.
Trait Implementations§
Source§impl Clone for CertifiedSurfacePairSplit3
impl Clone for CertifiedSurfacePairSplit3
Source§fn clone(&self) -> CertifiedSurfacePairSplit3
fn clone(&self) -> CertifiedSurfacePairSplit3
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CertifiedSurfacePairSplit3
impl Debug for CertifiedSurfacePairSplit3
impl StructuralPartialEq for CertifiedSurfacePairSplit3
Auto Trait Implementations§
impl Freeze for CertifiedSurfacePairSplit3
impl RefUnwindSafe for CertifiedSurfacePairSplit3
impl Send for CertifiedSurfacePairSplit3
impl Sync for CertifiedSurfacePairSplit3
impl Unpin for CertifiedSurfacePairSplit3
impl UnwindSafe for CertifiedSurfacePairSplit3
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,
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