Closed juliohm closed 5 months ago
Reduced the MWE to a small ring that doesn't satisfy the ear condition in the FIST paper:
julia> v
5-element Vector{Point2f}:
Point(-0.5f0, 0.3296139f0)
Point(-0.19128194f0, -0.5f0)
Point(-0.37872985f0, 0.29592824f0)
Point(0.21377224f0, -0.0076110554f0)
Point(-0.20127837f0, 0.24671146f0)
julia> r = Ring(v)
Ring{2,Float32}
├─ Point(-0.5f0, 0.3296139f0)
├─ Point(-0.19128194f0, -0.5f0)
├─ Point(-0.37872985f0, 0.29592824f0)
├─ Point(0.21377224f0, -0.0076110554f0)
└─ Point(-0.20127837f0, 0.24671146f0)
julia> Meshes.earsccw(r)
Int64[]
In that case, the ring enters in the recovery process of
and never exits it. We need to implement the other recovery steps in the paper besides the one already implemented.
The new recovery process has been added, and the ring above is successfully triangulated. More tests are needed before we reintroduce the hole1 benchmark.
We fixed the random number generator in our tests for reproducibility and uncovered a bug in our
FIST
discretization.MWE:
The
discretize
call below is hanging: