Enum RegionKind
pub enum RegionKind {
Empty,
Transversal,
Tangential,
BudgetExhausted,
}Expand description
What was certified about one leaf region of the parameter domain.
Every leaf carries exactly one kind. A caller that treats
Self::Transversal as “the answer” and ignores the rest is
reading an incomplete result, which is why the unproven kinds carry
their own located boxes rather than being folded into a count.
Variants§
Empty
Proven to contain no intersection: the patch bounding boxes are disjoint in at least one coordinate.
Transversal
Proven transversal: |n1 x n2| is bounded strictly away from zero,
so any intersection here is a regular curve, never a surface patch
or an isolated tangential touch.
Tangential
Not proven transversal, and shrinking the cell will not help.
The surfaces are tangent, near-tangent, or coincident somewhere in this box. This is a located refusal, not a failure: the region is returned so the caller can decide, refine by other means, or report it. It is never silently discarded.
BudgetExhausted
Subdivision stopped on policy (depth or work budget) before the region could be classified either way.
Distinct from Self::Tangential: that is a statement about the
geometry, this is a statement about the budget. Raising the budget
may resolve it; raising it cannot resolve a tangency.
Trait Implementations§
§impl Clone for RegionKind
impl Clone for RegionKind
§fn clone(&self) -> RegionKind
fn clone(&self) -> RegionKind
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for RegionKind
impl Debug for RegionKind
§impl PartialEq for RegionKind
impl PartialEq for RegionKind
impl Copy for RegionKind
impl Eq for RegionKind
impl StructuralPartialEq for RegionKind
Auto Trait Implementations§
impl Freeze for RegionKind
impl RefUnwindSafe for RegionKind
impl Send for RegionKind
impl Sync for RegionKind
impl Unpin for RegionKind
impl UnwindSafe for RegionKind
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