-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Finish SimpleSets, add chorematic map, and refactoring #48
base: master
Are you sure you want to change the base?
Conversation
… vertex/edge/facedata
Adapt regionMapToArrangement() to the new, templated version of RegionArrangement. Unfortunately this means that this function too has to become a function template, and hence it had to be pulled to the header file.
….com/tue-alga/cartocrow.git into SimplificationBranch
…ogy checks, untested
* created a demo * renamed the generic case to vertex removal * generalized traits to also abstract from the vertex data type * fixed bugs
- fixed bugs - added historic arrangement, such that simplify() calls can also go back up in complexity - updated demo
- pulled the history out of the simplification class, s.t. you can keep the history without the simplification object - made the simplification class not require a historic arrangement, but can use it, if provided - added an oblivious arrangement that does not keep a history - added concepts for the templates
- Code cleanup - Simplifying to threshold - Providing some first, basic comments in all files
… SimplificationBranch
…ed long template implementations into separate files
…orming to standards
For some reason, the order in which libraries are linked matters. Interestingly enough, linking with mold works regardless of the order.
- batched operations in historic arrangement - allowing shifting of vertices (in prep of other algorithms) - util functions changed to modify not just one object, but everything around it * this is to keep a consistent geometry; the util functions are now one-invoke to achieve what is necessary, rather than puzzling out which edges, vertices, etc, had to move in conjunction
…rtocrow.git into SimplificationBranch
…started on splits necessary for BMRS
…ompilable again. Culled isoline_simplification from cmake files, since it didn't compile
…; some refactoring
Thank you! This is going to take quite some time to study 😅 After a first glance: as you already wrote, we have to figure out what to do with the CavalierContours dependency. In any case it cannot stay into the repo just like this. Instead of the current setup with a CMake include, I would prefer a setup where the user simply installs the library independently (with instructions in the README) with our CMake config picking up the existing installation. Additionally I'm a bit concerned because according to the CavalierContours repo, the project is moving to Rust and the C++ version is already unmaintained. The other external dependency, being only one single file, and given that it is not coming from a Git repo, I think is acceptable to have here. Let's discuss soon how to approach this. |
Without this SimpleSets cutouts do not work properly.
Things to resolve before merging:
|
This PR concerns:
Why both in one PR? Two reasons 1. The SimpleSets pieces were not quite finished when I started on the chorematic map module but I wanted to use some helper functions introduced in those commits; 2. during development of the chorematic map I moved SimpleSets helper functions to core.
The PR changes files in modules other than
simplesets
andchorematic_map
:escape
that specifies whether special characters should be escaped. When exporting to ipe you may want to use LaTeX command; when exporting to SVG you may want to use tags to make text bold, italic etc.simplesets
andisoline_simplification
were moved to core.simplesets
Some things that require particular attention:
RegionArrangement
can be simplified while retaining their region information. I discovered a mistake in the use/documentation of a CGAL function (Arrangement merge_edge assigns incorrect direction CGAL/cgal#8659) that I created a workaround for that doesn't quite work. We need to decide what to do with this. Ideally we get it to a better state before merging, or somehow cut out all relevant commits from this PR.centroid.cpp
, but I'm not sure that core is the right place.