Skip to content

Improvements in arrangement processing#168

Merged
Ylannl merged 21 commits into
developfrom
arr-cleanup
Jun 22, 2026
Merged

Improvements in arrangement processing#168
Ylannl merged 21 commits into
developfrom
arr-cleanup

Conversation

@Ylannl

@Ylannl Ylannl commented Jun 11, 2026

Copy link
Copy Markdown
Member

1 Fixes roof-ground bowties

after - before:
telegram-cloud-photo-size-4-5861836563644354415-y

  • Introduces ElevationProvider into ArrangementDissolver.
  • Clips arrangement roof faces where the assigned roof plane intersects terrain.
  • Marks below-terrain subfaces as ground by setting in_footprint = false and is_ground = true.
  • Marks enclosed below-terrain regions as is_footprint_hole so floor holes are preserved.
  • Keeps existing outside-footprint dissolution behavior, so exterior-connected ground merges out as before.
  • Uses CGAL plane/triangle intersections for interpolated terrain cuts.
  • Prevents ArrangementExtruder from extruding roof faces below terrain, avoiding bowtie/invalid geometry.

2 Prevent non manifold edges in extrusion

before - after:
image

Fix non-manifold extrusion edges caused by alternating roof heights at high-valence arrangement vertices.

  • Detect problematic junctions in the snapper’s final CDT.
  • Replace each junction with an adaptive-radius chord polygon.
  • Merge the repair area into the lowest incident roof face.
  • Transfer face metadata using final constrained CDT regions.
  • Add regression tests verifying valid junction preservation and 2-manifold extrusion.

3 Prevent self intersecting polygons

This in some cases also led to holes in the adjacent wall faces. Fixed using the same approach as for 2, ie. extends the criteria to detect problematic junctions by counting how many times the same face is incident, and joins the repair area in that same face.

before - after:
Screenshot 2026-06-17 at 22 03 52

@Ylannl Ylannl merged commit 6e5adf6 into develop Jun 22, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant