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

Implement Meshes #225

Closed
cesarecaoduro opened this issue Aug 1, 2021 · 9 comments
Closed

Implement Meshes #225

cesarecaoduro opened this issue Aug 1, 2021 · 9 comments
Assignees
Labels
enhancement 📢 Issues describing an enhancement or pull requests adding an enhancement.
Projects

Comments

@cesarecaoduro
Copy link
Collaborator

Implement the base mesh class

@cesarecaoduro cesarecaoduro added the enhancement 📢 Issues describing an enhancement or pull requests adding an enhancement. label Aug 1, 2021
@cesarecaoduro cesarecaoduro added this to To do in Core via automation Aug 1, 2021
@AlanRynne
Copy link
Contributor

Hey @cesarecaoduro! Could you give me some insight on what Mesh type you were thinking of implementing for g-shark?

I would be happy to port my Mesh class from https://github.comparamdigma/core into G-Shark. It's a half-edge mesh implementation, but if you have any preference for any other mesh implementation I'd also be happy to look into it.

https://github.com/Paramdigma/Core/blob/master/src/Geometry/Mesh.cs

I'm looking into some fun tasks to accomplish through-out this Christmas and this sounds like a nice one! Anyway, happy to have a chat about this before getting started with anything.

@d3ssy
Copy link
Collaborator

d3ssy commented Dec 19, 2022

Half-edge would be awesome! Yes pls!

@AlanRynne
Copy link
Contributor

Perfect, I'll get the ball rolling by the end of the week. I may open a Draft PR first to start a discussion on implementation details, etc... once I have a working ported Mesh :D

@d3ssy
Copy link
Collaborator

d3ssy commented Dec 19, 2022

Fantastic, Alan! Amazing to have you contributing! 💪

@cesarecaoduro
Copy link
Collaborator Author

Just catching up in the morning :)
Amazing to have you contributing to Gshark.
We’ve been in silent mode for quite some time due to different work commitments, but we’re planning to come back now.
Mesh implementation was absolutely in the roadmap, as CSG and some form of BREP.

@d3ssy
Copy link
Collaborator

d3ssy commented Dec 19, 2022

Just catching up in the morning :)
Amazing to have you contributing to Gshark.
We’ve been in silent mode for quite some time due to different work commitments, but we’re planning to come back now.
Mesh implementation was absolutely in the roadmap, as CSG and some form of BREP.

IMHO we're not going to need CSG if we implement Brep, especially in terms of operations. The latter is more flexible and has wider applications. Is there a specific use case for CSG you had in mind?

@cesarecaoduro
Copy link
Collaborator Author

cesarecaoduro commented Dec 19, 2022 via email

@AlanRynne
Copy link
Contributor

Not to hijack completely this conversation into a CSG vs Brep discussion... but if I were to choose I would choose both.

There is no good CSG library for C# that you can rely on to make mesh booleans for you afaik. It's 2 different use-cases for 2 different type of users I guess.

The way I see it, CSG is just a "set of procedural steps that result in a specific shape" and as such, could be applied to BREP generation too (or any type of geometry really), and it's a concept that is closer to Grasshopper than Rhino modelling. It also serialises into nothing (as opposed to serialising a Brep)

If you've ever manually created BREP's with rhinocommon you'll know of the pain in the ass that it is, and how easy it is to wreck the entire BREP data structure 😅 A CSG way of building those BREPs to me would be a dream, but it would still require having a working Brep class and working Brep intersection methods.

PS: Maybe a new issue should be opened for this 😅

@d3ssy
Copy link
Collaborator

d3ssy commented Dec 20, 2022

New issue here: #386 (comment)

So yeah... We probably want both 😁

@AlanRynne AlanRynne mentioned this issue Dec 26, 2022
12 tasks
@d3ssy d3ssy closed this as completed May 4, 2023
Core automation moved this from To do to Done May 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement 📢 Issues describing an enhancement or pull requests adding an enhancement.
Projects
Core
Done
Development

Successfully merging a pull request may close this issue.

3 participants