Expand description
Producing a Diagnosis from a mesh (#73).
§Why this exists
Diagnosis and DefectKind were vocabulary: complete, well-named, and
produced by nothing. audit_mesh counts defects but returns only counts,
so a caller learned how many boundary edges a mesh had and never which.
A repair cannot act on a count, and a report that cannot name what it
found is not auditable.
§Counts versus locations
Where the audit knows a location it is recorded in Defect::element;
where it knows only a count, the defect carries the count in detail and
leaves element empty rather than inventing an index. Self-intersection
is the one class that always has a location, because it is computed here
rather than counted by the audit.
Functions§
- diagnose
- Diagnose a triangle mesh, reporting every defect class it exhibits.