• Martin Heistermann's avatar
    Fix deferred vertex deletion, add unit tests. · 36ceca6e
    Martin Heistermann authored
    GeometryKernel::collect_garbage used to first perform the TopologyKernel
    garbage collection, usually shrinking its vertex_deleted_ member, then
    accessed it using is_deleted() with the old vertex indices.
    
    This caused out-of-bounds memory access (made visible by
    cmake -DSTL_VECTOR_CHECKS=ON) and non-fast deletion also resulted in wrong
    results, the remaining vertices had wrong coordinates.
    36ceca6e
unittests_basics.cc 60.8 KB