Skip to main content

solid_self_intersections

Function solid_self_intersections 

Source
pub fn solid_self_intersections(
    solid: &BrepSolid,
    options: SelfIntersectionOptions,
) -> Result<SelfIntersectionReport, String>
Expand description

Does this solid pass through itself? Tessellates every face once, walks a triangle BVH for mesh crossings, and confirms each candidate against the two carrier SURFACES so tangent neighbours and chord error cannot manufacture a finding. See the module docs for the design and its one documented blind spot.

Nothing in the kernel’s build path calls this — a caller asks for it and reads SelfIntersectionReport::is_flagged. The case gate is that caller and treats a flag as a failure unless its baseline already holds the same face pair; see the module table.