Enum RegionKind

Source
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

Source§

fn clone(&self) -> RegionKind

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for RegionKind

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for RegionKind

Source§

fn eq(&self, other: &RegionKind) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for RegionKind

Source§

impl Eq for RegionKind

Source§

impl StructuralPartialEq for RegionKind

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.