DegenerateFilter
Ready-to-run robot software for hobby robotics.
| Inherits | construct::mesh::ITriangleSink |
In the namespace construct::mesh. Declared in src/libs/libconstruct/construct/mesh/DegenerateFilter.hpp.
Detailed description
Sink decorator that drops the triangles no weld can use — a NaN/Inf coordinate, or two corners that are the same point — forwarding the rest.
The PREDICATE is the one `ExportPipeline::buildAndSaveMesh` applies inline (its skipped-count log line); this is the streaming-seam form of it, exposed as isDegenerate() so the two sites cannot drift apart silently.
There is no area floor (construct-field-defects §CFD-D-10 item 4, the owner's yes to question 5). A flat triangle with three distinct corners closes a slit between its neighbours: dual contouring puts the vertices of a crease on one line, and dropping the triangle over three of them opened three edges of the owner's tetrahedron bake (§CFD-F-10). A triangle that a weld collapses is the weld's to remove (mesh::process::VertexMerger), because only the weld knows which distinct positions become one vertex.