pub struct FaceCrossing {
pub face_a: u64,
pub face_b: u64,
pub name_a: Option<String>,
pub name_b: Option<String>,
pub point: Vec3,
pub crossing_length: f64,
pub straddle: f64,
pub confirmation: CrossingConfirmation,
pub penetration: f64,
}Expand description
One confirmed face-versus-face crossing.
Fields§
§face_a: u64§face_b: u64§name_a: Option<String>§name_b: Option<String>§point: Vec3Midpoint of the mesh crossing segment.
crossing_length: f64Length of the mesh crossing segment.
straddle: f64How far the confirmation straddled the other carrier: the smaller of the two one-sided margins, over both directions of the pair.
confirmation: CrossingConfirmationWHICH confirmation convicted this pair. Recorded so a sweep can attribute every hit to the question that caught it — the two ask the same thing of different sample points, and a hit only the pierce lane sees is a hit the corner lane structurally could not.
penetration: f64How deep one face’s own SURFACE reaches past the other’s carrier, at the crossing — the pierce lane’s second margin, and the one that says whether the crossing is the geometry’s or the mesh’s.
The lane’s first margin brackets the pierce along a mesh EDGE, so on a
regularly tessellated carrier it reads the same number for every pair
in a ring and says more about the tessellation’s stride than about the
shapes. This one is measured between exact surface points and is the
discriminator. straddle is the smaller of the two; for a Corners
confirmation this is 0.0 and means nothing.