Spelling correction
Note: we also have a similar spelling error in:
```
Surface_mesh_skeletonization/benchmark/Surface_mesh_skeletonization/mcf_scale_invariance.cpp:104: output.open("correspondance.cgal");
Surface_mesh_skeletonization/examples/Surface_mesh_skeletonization/MCF_Skeleton_example.cpp:68: output.open("correspondance-poly.polylines.txt");
Surface_mesh_skeletonization/examples/Surface_mesh_skeletonization/MCF_Skeleton_LCC_example.cpp:66: output.open("correspondance-lcc.polylines.txt");
Surface_mesh_skeletonization/examples/Surface_mesh_skeletonization/MCF_Skeleton_om_example.cpp:75: output.open("correspondance-sm.polylines.txt");
Surface_mesh_skeletonization/examples/Surface_mesh_skeletonization/MCF_Skeleton_sm_example.cpp:67: output.open("correspondance-sm.polylines.txt");
Surface_mesh_skeletonization/examples/Surface_mesh_skeletonization/simple_mcfskel_example.cpp:72: output.open("correspondance-poly.polylines.txt");
Surface_mesh_skeletonization/examples/Surface_mesh_skeletonization/simple_mcfskel_LCC_example.cpp:72: output.open("correspondance-lcc.polylines.txt");
Surface_mesh_skeletonization/examples/Surface_mesh_skeletonization/simple_mcfskel_sm_example.cpp:51: output.open("correspondance-sm.polylines.txt");
```
but as this in filenames I didn't change it.
if a needle is also a cap, it will be handled as a needle only. But if
we can't collapse the edge, a flip will not be tried. Try the flip too.
Note that this will slow down the method as the status of a triangle is
tested twice.
Fix#8605
Here are some changes:
- Avoid a lot of redundant calls of is_it_a_needle / is_it_a_cap
- Do not test for cap-ness if it's already a needle
- Do not fill both ranges at the beginning, but fill
with everything: on the first round, needle-ness will
be tested, and the exit towards cap-ness will happen
- Wait for a needle to no longer be a needle, or not be
treatable to actually test cap-ness
- When the mesh is modified, do not test everything immediately,
just put them in the queue of the next iteration
Result: Fewer calls to shape predicates
- master -
needle calls = 828 668
cap calls = 803 330
- PR -
needle calls = 803 554
cap calls = 795 317
Should be fewer but two effects are balacing each other for the calls:
- much fewer calls to shape predicates (is_it_a_needle, is_it_a_cap)
by not calling until absolutely necessary (but still checking at pop time).
- when we modify the mesh, I no longer fill the CURRENT cap and needle
ranges, but the next ones. The point is to really prioritize all caps
BEFORE treating needles, whereas otherwise we would treat some needles
at the current iteration while there are still caps to treat.
So there are more iterations which add more useless calls (see below)