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§
Source§impl Clone for RegionKind
impl Clone for RegionKind
Source§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