Skip to main content

delete_face_and_heal

Function delete_face_and_heal 

Source
pub fn delete_face_and_heal(
    solid: &BrepSolid,
    face_id: u64,
) -> Result<BrepSolid, KernelRefusal>
Expand description

Golovanov §6.12 — delete a transition face and heal the hole by extending and re-intersecting its immediate neighbours. See the module docs for the covered vs deferred cases. Returns a fresh solid that is guaranteed to validate() AND to be sound, or a clear Err describing why the heal was refused.

validate() is an incidence test and cannot see a body passing through itself, which a re-intersected rim is exactly the kind of thing to produce: a fold or a crossing changes the AREA where it does not change the volume, so no closed-form oracle downstream notices. crate::accept_sound is that floor, and it runs on the way out of the public entry only — the set driver’s chain calls [delete_face_and_heal_impl] so a ten-face selection pays for one scan and not ten.