Skip to content
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

Add more useful basic algorithms #36

Open
2 tasks
LukasKalbertodt opened this issue Apr 19, 2023 · 3 comments
Open
2 tasks

Add more useful basic algorithms #36

LukasKalbertodt opened this issue Apr 19, 2023 · 3 comments
Labels
area:algorithm Area: mesh algorithms category:new-feature Category: New feature

Comments

@LukasKalbertodt
Copy link
Owner

LukasKalbertodt commented Apr 19, 2023

The algo module is sadly empty right now. It should be filled with lots of standard algorithms, maybe just the easy ones for now. Implementing a sqrt(3) takes some time, but there surely is a lot of low hanging fruit that's quick to implement and useful.

  • Visitors: BFS, DFS
  • ...
@LukasKalbertodt LukasKalbertodt added category:new-feature Category: New feature area:algorithm Area: mesh algorithms labels Apr 19, 2023
@stargazing-dino
Copy link

Hi! After reading through a little of this library I'm really interested in trying my hand at implementing a basic algorithm (probably not the graph algorithms) with some guidance of course. Let me know if you'd be cool with that :)

I'd probably just try porting something from here to this lib.

@LukasKalbertodt
Copy link
Owner Author

Hi and thanks for your interest in working on this! Sure, go ahead and try implementing some. If you have any questions feel free to write me a mail (see profile). And if you're just starting out it would probably make sense to already send a PR for the first algorithm so that I can quickly check if everything looks good, before you start tackling something larger.

Two notes about the link you posted:

  • This implements algorithms for a half edge mesh directly. This means the algorithms can use internal links/pointers of that data structure. You won't be able to do that in lox. Instead you are restricted to only the methods of mesh traits. This should work, but it is worth pointing out as it's quite a different approach. Also: it is not unlikely that you will encounter the situation where you can't properly implement the algorithm with those methods. In that case, it might be worth adding a new method. If that happens, let's talk about it via mail.
  • The repository is licensed as MPL which is not the same as lox's license of MIT+Apache2. I think these are not compatible. So please do not ... use the link you posted? I'm really not a lawyer and have no clue what's allowed or not, but yes, please be aware of this problem! The license of linked project was MIT some time ago (see this PR). So if you really want, you can look at the file version just before the license change.

@stargazing-dino
Copy link

Yeah, after I commented that, I knew there might be misunderstanding concerning intent. I don't mean to use the link I shared in any way other than as a good point of reference for the types of algorithms we should be capable of doing. Not necessarily their implementations or anything beyond that. If there was a good host of mesh algorithms names in one place, I would've posted that instead. So yes, I agree that these two works and their licenses should not be mixed haphazardly.

But yes, I'll gladly start with some simple PRs. I have yet to read through the older code you removed before the release so I'll get to that this week and just continue to understand stuff. I'll message you directly if I fail to understand some things. Thanks for the helpful advice!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:algorithm Area: mesh algorithms category:new-feature Category: New feature
Projects
None yet
Development

No branches or pull requests

2 participants