Skip to main content

solid_euler

Function solid_euler 

Source
pub fn solid_euler(solid: &BrepSolid) -> EulerReport
Expand description

Closedness and Euler parity: V − E + F − H over the reduced complex, and whether the counts can belong to a closed orientable surface at all.

Pure topology — ids and use counts, never a coordinate — so like solid_connectivity it is tolerance-free and cannot be noisy.

This does NOT verify the genus. A genus has no second derivation from the same cell complex: genus = S − χ/2 IS the definition, so any recomputation re-runs the same arithmetic. (The only independent route is geometric — Gauss–Bonnet, ∮K dA plus the edge and vertex terms — which is a different project.) What parity establishes without a second source is that a body whose characteristic is odd is not a closed orientable surface at all.

The characteristic is a TOTAL over shells, which is necessary but not sufficient: two shells each odd sum to even and pass. Per-shell parity needs edges attributed to shells, which cross_shell_edges makes ambiguous exactly when it would matter.