#[non_exhaustive]pub enum BooleanError {
UnsupportedSection,
UnsupportedTrim,
Undecided,
Evaluation,
DanglingReference,
Measure(ExactMeasureError),
UnsupportedSplit,
UnclosedSplit,
TangentSplit,
EmptyResult,
AmbiguousCavity,
Assembly,
}Expand description
Why a boolean step could not be carried out exactly.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
UnsupportedSection
Two faces’ supports intersect in a curve this stage does not take (anything but a line, circle or ellipse).
UnsupportedTrim
A face is trimmed by an edge or pcurve family this stage cannot intersect or classify against.
Undecided
A point was too close to a face boundary to classify.
Evaluation
A curve or surface could not be evaluated or inverted.
DanglingReference
A handle referenced missing geometry.
Measure(ExactMeasureError)
A face domain could not be built.
UnsupportedSplit
A face whose surface, or a section on it, has no exact pcurve in this stage.
UnclosedSplit
The pieces of a split face do not close into loops.
TangentSplit
Two pieces leave a vertex of a split face in the same direction and bend alike there, so no order between them can be read off.
EmptyResult
The operation leaves nothing: an intersection of solids that only touch, or a difference that removes everything. An exact B-rep cannot be empty, so this is the answer, not a refusal.
AmbiguousCavity
A cavity of the result lies inside none of its solids.
Assembly
The kept faces did not sew into a valid exact B-rep.
Trait Implementations§
Source§impl Clone for BooleanError
impl Clone for BooleanError
Source§fn clone(&self) -> BooleanError
fn clone(&self) -> BooleanError
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more