hannobraun / fornjot

Early-stage b-rep CAD kernel, written in the Rust programming language.
https://www.fornjot.app/
Other
1.94k stars 109 forks source link

Implement difference operation #43

Closed hannobraun closed 7 months ago

hannobraun commented 2 years ago

It should be possible to create the difference of two shapes, using constructive solid geometry (CSG). There is limited support for 2D differences, which is not directly related to this issue.

Implementing this requires more solid infrastructure for storing and querying shapes in the host application. Also see #42 and #44.

hannobraun commented 2 years ago

Blocked on #97.

hannobraun commented 2 years ago

This is no longer blocked on #97!

hannobraun commented 1 year ago

This is now blocked on #993. The same algorithm that's needed for #42 is needed for this too.

hannobraun commented 1 year ago

993 has been addressed. This issue is no longer blocked!

hannobraun commented 1 year ago

This operation will share much of its implementation with the union operation (#42), and I've recently labeled this as blocked, then no longer blocked, for the same reasons that #42 was blocked during that time frame. Now #42 is blocked again.

Instead of adding and removing the https://github.com/hannobraun/Fornjot/labels/status%3A%20blocked label a bunch of more times, I'm going to simply label this as https://github.com/hannobraun/Fornjot/labels/status%3A%20blocked on #42. Even though that isn't completely accurate, it will prevent this issue from seeing the same block/unblock churn that #42 is seeing. In addition, it wouldn't make sense to start work here anyway, right now. The groundwork required is the same that #42 requires, so it really makes no sense to start working on this issue in parallel.

hannobraun commented 7 months ago

I've moved boolean operations to the feature wishlist and decided to close this issue. See explanation in #42.