Oracle: 25/29 (14 and 15 now match Fusion). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AS5Tn3xieewUSg3uxrMVdL
38 lines
1.1 KiB
Rust
38 lines
1.1 KiB
Rust
//! Crate for operationg shapes. Provides boolean operations to Solid, and shape healing for importing shapes from other CAD systems.
|
|
|
|
// SolveCraft: warnings are not errors in the vendored copy (newer compilers flag more).
|
|
#![allow(dead_code)]
|
|
#![warn(clippy::all, rust_2018_idioms)]
|
|
#![warn(
|
|
missing_docs,
|
|
missing_debug_implementations,
|
|
trivial_casts,
|
|
trivial_numeric_casts,
|
|
unsafe_code,
|
|
unstable_features,
|
|
unused_import_braces,
|
|
unused_qualifications
|
|
)]
|
|
|
|
/// SolveCraft: report where an operation gives up (set `SHAPEOPS_TRACE`).
|
|
macro_rules! tr {
|
|
($e:expr, $tag:expr) => {
|
|
match $e {
|
|
Some(v) => v,
|
|
None => {
|
|
if std::env::var_os("SHAPEOPS_TRACE").is_some() {
|
|
eprintln!("shapeops: gave up at {} ({}:{})", $tag, file!(), line!());
|
|
}
|
|
return None;
|
|
}
|
|
}
|
|
};
|
|
}
|
|
pub(crate) use tr;
|
|
|
|
mod healing;
|
|
pub use healing::{RobustSplitClosedEdgesAndFaces, SplitClosedEdgesAndFaces};
|
|
mod transversal;
|
|
pub use transversal::{and, or, ShapeOpsCurve, ShapeOpsSurface};
|
|
mod alternative;
|