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

Update half-edge geometry in geometry layer in more places #2274

Merged
merged 17 commits into from
Mar 20, 2024
Merged

Conversation

hannobraun
Copy link
Owner

I already made sure the geometry layer is updated in all the obvious places in #2271, but it turns out there were quite a few more that are less obvious.

The problem here is that everywhere a half-edge is updated, by calling update_curve or update_start_vertex, you create a new half-edge, and the new half-edge does not have any geometry associated with it in the geometry layer. That needs to be added manually, which is exactly what I did in this pull request.

This is a pain, and error-prone, but I think it's only relevant during the current transition. I expect that long-term, only Surface, Curve, and Vertex will have geometry associated with them, and since there's no reason to create new instances of those while wanting to keep the geometry, this problem won't be present then (they contain no topological data, so changing the geometry is literally the only reason you'd want to create a new instance).

This is another step towards #2116, as now it's possible to actually use the geometry from the geometry layer. This is the next step, and removing that part of the geometry from the object graph can come right after.

@hannobraun hannobraun enabled auto-merge March 20, 2024 13:15
@hannobraun hannobraun merged commit ae74321 into main Mar 20, 2024
4 checks passed
@hannobraun hannobraun deleted the geometry branch March 20, 2024 13:19
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