Extending 2D Arrangement Drawings
Closed this issue · 0 comments
Project Summary
The 2D Arrangements (Aos2) package in CGAL provides an efficient and extensible framework for representing and manipulating arrangements induced by geometric objects. The existing visualization utilities are useful but exhibit several limitations: inefficient rendering procedures of faces with holes, lack of support for unbounded curves and faces, and inability to correctly render faces on curved surfaces.
This project implements a general renderer for arrangements that integrates with the Aos2 framework and addresses those limitations. The new renderer provides on-demand approximation of x-monotone curves; uses a customized face triangulator to efficiently produce meshes; and leverages tiling and caching to make interactive navigation responsive.
Links
Commits
e6deda2 fix typo guassian -> gaussian
60f32fa fixed drawing out of bounds triangles near polar & cleanup
a1d0338 Updated concepts
7037675 Enhanced
850d66e Added missing include CGAL/Cartesian.h
e7a8717 Guarded for unbounded faces
62955d1 Add Approximate_2
5bbbedd Fixed typo in Bbox type
9a3cf5a Enhanced the description of the draw() overloads
a41c3b4 Added functionality to draw arrangements induced by unbounded curves
01d24ea Merge branch 'gsoc2025-aos_demo-shepard' of github.com:CGAL/cgal-public-dev into gsoc2025-aos_demo-shepard
e7475c0 Introduced ApproximateUnbounded_2 concept
2ac5d5f Added draw() overloads that accept a bounding box and fixed the Approximate_2 concept documentation
bc420a3 feat: support drawing spherical faces
86a54c3 made initial bounding box more precise and added margin around the bbox
41f5568 more cleanups, align with code conventions and refactor
6202f3b Cleaned up
7cc3a91 bug fixes and support g++
0c6ef34 Code cleanup and bug fixes
0e3ee26 Pacify gcc and cleaned up
fe60e8b clean up deleted unit test target
9b045f7 fix drawing degenerate paths
33f02ae feat: draw function and classes for arrangement on surface 2
0946515 Fixed dispatching