-
Notifications
You must be signed in to change notification settings - Fork 13
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
Geometry_Engine: Optimisation and tweaks #3275
Geometry_Engine: Optimisation and tweaks #3275
Conversation
@BHoMBot check compliance |
@pawelbaran to confirm, the following actions are now queued:
|
@BHoMBot check unit-tests |
@pawelbaran to confirm, the following actions are now queued:
|
@pawelbaran to confirm, the following actions are now queued:
|
@pawelbaran to confirm, the following actions are now queued:
|
@BHoMBot check versioning |
@pawelbaran to confirm, the following actions are now queued:
There are 1 requests in the queue ahead of you. |
@BHoMBot check required |
@pawelbaran to confirm, the following actions are now queued:
There are 1 requests in the queue ahead of you. |
The check |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Happy with changes to FitLine
, test script works great and tested with the script I added to the issue too.
Happy with Colinear
and Coplanar
, tested using the script.
Happy with RoundCoordinates
, BooleanDifference
, BooleanIntersection
and BooleanUnion
working as intended, tested using the script.
The unit tests will also demonstrate that the methods have not changed (just extended functionality and dealing with edge cases).
One question I had was on tolerance.
- For
IsColplanar
the method is true when the difference is 6e-6, but tolerance input is only 1e-6; - For
IsColinear
the method is true when the different is 3e-6 but tolerance input is only 1e-6;
Are we stacking the tolerances as we feed them through methods and should we be dividing them?
I think we should be consistent with how we refer to List<T>
, in some places you refer to it in the description as a set
and in other places its a collection
. I think I prefer set
or list
- but happy for others to chime in.
Thanks @peterjamesnugent for the review. I made the tweaks recommended in the code comments. Regarding the tolerance issues - it is a much bigger problem that boils down to the fact that line fitting, plane fitting, collinearity and coplanarity checks are numerical algorithms rather than geometrical, i.e. the geometrical tolerance cannot be applied 1:1. Long time ago I have spent some time trying to crack the problem, outcome being Happy to bring back the discussion if you think the current precision is not good enough. But it is definitely beyond the scope of this PR 😉 |
@BHoMBot check required |
@pawelbaran to confirm, the following actions are now queued:
There are 2 requests in the queue ahead of you. |
@FraserGreenroyd to confirm, the following actions are now queued:
There are 4 requests in the queue ahead of you. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Happy that the last commit was all descriptions and making use of the IsNull
, so my previous review of functionality is still valid.
I assume there will be a seperate PR to update unit tests to include (at least some) of the cases in the test scripts.
@BHoMBot this is a DevOps instruction. I am requesting neutral checks on: unit-tests |
@FraserGreenroyd I have provided neutral checks to the checks requested. These checks will need to be run properly to obtain full results. |
@BHoMBot check ready-to-merge |
@peterjamesnugent to confirm, the following actions are now queued:
|
Issues addressed by this PR
Closes #3259
Closes #3261
Test files
On SharePoint.
Changelog
Additional comments
Apologies for the massive brain dump and a few different topics covered, but this is all stuff I kept on tweaking while working on various things - happy to split it up into smaller PRs if requested by @peterjamesnugent (volunteered to review) or anyone else eager to have a look.