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

coincident edges result in NURBS failure #171

Open
whitequark opened this issue Jan 25, 2017 · 5 comments
Open

coincident edges result in NURBS failure #171

whitequark opened this issue Jan 25, 2017 · 5 comments

Comments

@whitequark
Copy link
Contributor

Open bug.zip. This file, extracted as an example, shows an instance of a very pervasive NURBS issue: performing an union or a difference with surfaces that have coincident edges, but do not have Bezier control points in exactly the same place in both edges, result in a failure.

@Evil-Spirit do you have any idea, at least, why this happens?

@whitequark whitequark added the bug label Jan 25, 2017
@whitequark whitequark added this to the 3.0 milestone Jan 25, 2017
@Evil-Spirit
Copy link
Collaborator

Evil-Spirit commented Jan 25, 2017

@whitequark,
The reason can be is SBezier::Equals. When we have found exact intersecton of cylindrical surface and top cap of different bodies, we are adding this as intesection curve (AddExactIntersectionCurve). While we are processing it, we are trying to find some identical curve, but comparison is performed only for control points, not like integrated length of the difference of the radius vectors by dt: S( (a(t)-b(t)).Magnitude() ) dt.

@whitequark
Copy link
Contributor Author

@Evil-Spirit can you fix this?

@Evil-Spirit
Copy link
Collaborator

@whitequark, I can try figure out possibility of the fixing.

@whitequark
Copy link
Contributor Author

@Evil-Spirit please do.

@Evil-Spirit
Copy link
Collaborator

@whitequark, OK

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Development

No branches or pull requests

2 participants