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

Use boundary representation for non-continuous sweep side faces #355

Merged
merged 28 commits into from
Mar 15, 2022

Conversation

hannobraun
Copy link
Owner

This ports another case, non-continuous side faces of sweeps, to using boundary representation (#97). The last edge case to still use triangle representation are continuous side faces of sweeps. Using boundary representation for those is blocked by #250.

This adds a lot of code. That's not great. But it's fine, for two reasons:

  1. As I remark in one of the commit messages, I believe there will are yet-to-be-discovered extensions to the Shape API that will make this kind of code much cleaner. Until I know what those are, a bit of mess is okay.
  2. The new sweep code is tedious, but it's not very error-prone. In fact, while that last commit took a while to write, it worked on the first try. Thanks to the structural validation in the Shape API, most errors you can make here will blow up in your face pretty much immediately.

For now, I'm happy to get one step closer to addressing #97, and I'm looking forward to the great cleanups that my future self will surely come up with.

Instead of cloning the source face, then adding the top faces, this
commit updates the sweep algorithm to add the bottom faces explicitly.
This adds a lot of tedious code. The advantage is, that now we can add
another relation of bottom-to-top topology, which is needed for creating
the side faces.

I believe that there's a better API hidden within `Shape`, that will
make code like this much cleaner. I am only starting to imagine what
that API would look like though, so for now, this mess is what we get
instead.
Generate non-continuous side faces of a sweep using boundary
representation. The only case that still uses triangle representation
are continuous side faces of a sweep.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant