#[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§impl Debug for BooleanError
impl Debug for BooleanError
Source§impl Display for BooleanError
impl Display for BooleanError
impl Eq for BooleanError
Source§impl Error for BooleanError
impl Error for BooleanError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()