#[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 more