fix: coincident faces are pushed apart only where that changes nothing (#817)
A coincident face is pushed apart only when the space it moves through holds nothing that changes the result; otherwise the boolean falls through to the exact strategies. Co-authored-by: NOWN-DEV <257771410+NOWN-DEV@users.noreply.github.com>
This commit is contained in:
1 parent
d2676da789
commit
9184994721
7 files changed
+491
-4
No files matched your search
@@ -586,7 +586,7 @@ fn top_of(f: &mt::Face, plane: &Plane) -> f64 {
|
||||
/// Certify that a curved wall is swept along `d` from its surface representation.
|
||||
/// Seam vertices alone cannot establish this: a half-cylinder's seam normals can
|
||||
/// both be perpendicular to a transverse direction, silently filling its hole.
|
||||
fn wall_along(surface: &mt::Surface, d: Vec3, tol: f64, remaining: &mut usize) -> bool {
|
||||
pub(crate) fn wall_along(surface: &mt::Surface, d: Vec3, tol: f64, remaining: &mut usize) -> bool {
|
||||
if let mt::Surface::RevolutedCurve(processor) = surface {
|
||||
let revolution = processor.entity();
|
||||
let mt::Curve::Line(line) = revolution.entity_curve() else { return false };
|
||||
|
||||
Reference in new issue
Block a user