-
Notifications
You must be signed in to change notification settings - Fork 205
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
Integrate spade
#1083
Integrate spade
#1083
Conversation
This is great, @RobWalt, thank you! We'll wait to see how the proposed changes to spade go. |
@urschrei Do you think it would be feasible to review & merge this as is and keep a tracking issue open for updating the dependencies which track the two spade PRs? I assume these two PRs are not going to be included anytime soon and this issue here is required to merge the spade boolops at some point |
I'm in favour of merging this, both because it's a pre-requisite for the new boolean ops functionality, and because |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Another thing that's needed here is a doctest example of how to use the algorithm to produce both constrained and unconstrained triangulations. This example should link to a good overview of what is meant by constrained / unconstrained, although your diagrams are also great.
9e95957
to
2049576
Compare
|
although spade is a optional dependency, it looks like a good fit for the default features. Including it has the effect of bringing in 3 new dependencies: - robust 0.2 (we already use this) - optional 0.5 - spade 2.2 I'll try to speak to the spade maintainers. Maybe we can bump the robust version in their crate to reduce dependencies further. Also it might make sense to ask them if the optional crate provides any real value.
2049576
to
e29f3eb
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work! None of my comments should be considered blocking.
Thanks for the thorough review @michaelkirk! 🏅 I like your taste 👍🏼 |
Ok, the proposed changes to spade were accepted and are merged as of now. There's nothing major in the way now. The only things left are:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM; thanks @RobWalt .
😎 |
This PR aims at bringing
spade
triangulations togeo
. More specifically I'm looking into implementing constrained delauny triangulations forgeo
since it seems handy in a lot of situations and opens up possibilities for new algorithms.Todos
Commit summary
chore: add
spade
as a dependencyalthough spade is a optional dependency, it looks like a good fit for the default features. Including it has the effect of bringing in 3 new dependencies:
robust
0.2 (we already use this on version 1.1)optional
0.5spade
2.2I'll try to speak to the spade maintainers. Maybe we can bump the robust version in their crate to reduce dependencies further. Also it might make sense to ask them if the optional crate provides any real value.
Update: I created PRs for the changes
robust
version bump should make it since it comes with performance improvementsoptional
removal might make it depending on the maintainers tasteUpdate: Both PRs got merged, so this change doesn't add any additional dependencies
feat: initial implementation of
TriangulateSpade
traitincludes all the code for the integration of
spade
intogeo
and also features some testsCHANGES.md
if knowledge of this change could be valuable to users.