Skip to content

Conversation

@phkahler
Copy link
Member

@phkahler phkahler commented Jun 2, 2024

I'm not sure this is quite correct even for a numerical approximation. In particular I'm not sure about division by tu.Magnitude and tv.Magnitude.

…oid misclassification of coincident surfaces when they have identical normals along an edge.
@phkahler phkahler requested a review from ruevs June 2, 2024 22:44
@ruevs
Copy link
Member

ruevs commented Jun 5, 2024

@phkahler the disk of the machine I usually use to work on SolveSpace died... :-(

Thinking "on paper" - how would the caller choose the dir parameter?
Apart from that I need to "parse" more carefully through the dot an cross products and make some drawings - but at first glance in seems that the function may return a positive number if the surface "curves towards" the dir vector. I think there are some corner cases...

@phkahler
Copy link
Member Author

Thinking "on paper" - how would the caller choose the dir parameter?

@ruevs My thinking is that many NURBS issues are a result of surfaces being classified as "coincident" at an edge because they have the same or opposite normal. In those cases we need to disambiguate be taking curvature into account. One area to call this function would be in SSurface::EdgeNormalsWithinSurface
near the end. That commented out change should work, but the calling function will need to consider curvature so maybe it should be calculated there and returned - I'm not sure where exactly to call it, just how it needs to be used. It seems to be what's needed for #1291 for example, where the fillet fails if its tangent to the cube face but not otherwise.

@ruevs ruevs added the NURBS label Jun 11, 2024
@ruevs ruevs marked this pull request as draft January 24, 2025 13:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants