pub fn check_tessellation(
model: &Model,
shape: &Shape,
deflection: Deflection,
tol: Tolerances,
) -> OgeomResult<Diagnosis>Expand description
Check that a shape’s tessellation agrees with its topology.
Separate from check because it needs a deflection, and because it asks a
different question: not “is this shape well formed” but “do its two
descriptions of itself agree”. A shell whose edges are all used twice is
closed as far as the topology knows. If the mesh built from it still has a
boundary, then some face’s pcurves do not cover the region its edges claim
to bound, and the topology cannot see that, because the defect is entirely
in parameter space.
That failure is worth its own function because it is invisible to every other check. Face counts look right, the shell closes, each face triangulates without error, and the solid still has a slit down it. The first thing to notice is usually a volume that is quietly wrong.
Reports the position of the unshared edges, not just their number: where the mesh comes apart is the whole diagnosis, and a count sends you looking.