Repository navigation
Skip face labels in a 1-dimensional triangulation - #185
Open
aidannewsome wants to merge 2 commits into
Open
aidannewsome wants to merge 2 commits into
aidannewsome wants to merge 2 commits into
Conversation
…nsional After small triangles and short edges are collapsed, the constrained Delaunay triangulation can be left with all its vertices on one line. Its faces then have no vertex opposite an edge and no neighbour across it, so get_labelled_constraint and add_constraint_label_seeds read a null handle and roofer crashes with a segmentation fault.
…mensions remove_dangling_constraints_and_vertices can remove enough vertices to leave the triangulation 1-dimensional or empty. locate then gives no face, and seed_removed_vertex_region read it, which crashed roofer with a segmentation fault.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #183.
get_labelled_constraintandadd_constraint_label_seedsreturn early when the triangulation is 1-dimensional, as there are no faces either side of an edge to take labels from.seed_removed_vertex_regionreturns early below 2 dimensions, wherelocatecan give no face.With these, the reproducer in #183 and the 181 buildings it was cut from reconstruct under AddressSanitizer without errors, and the larger sets of buildings that crashed, 4,159 buildings together, now run to the end. On those 181, 6 buildings are left without roof parts, against 8 with 1.0.0. Building 460788 is one of them in both versions.
The off-by-one in
gridthinPointcloudfrom #183 is left out, as #181 fixes it the same way. #181 also explains why the crash depended on the order of the input: the snapper's choices followed memory addresses. It does not guard against a 1-dimensional triangulation, so the two are separate fixes, and this branch merges cleanly with #181.The Conan builds fail on the test data download (#184).