Add enclose bool op#2059
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #2059 +/- ##
==========================================
- Coverage 95.78% 95.69% -0.10%
==========================================
Files 30 30
Lines 9427 9438 +11
Branches 1404 1405 +1
==========================================
+ Hits 9030 9032 +2
- Misses 242 252 +10
+ Partials 155 154 -1 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
| for s in shapes: | ||
| builder.AddArgument(s.wrapped) | ||
|
|
||
| builder.Perform() |
There was a problem hiding this comment.
So, if the faces are non-intersecting and non-overlapping (i.e. two separate parallel faces or two crossing planes), you get a Compound of 0 solids and 0 faces back. Should the code raise an error instead of returning an empty result?
|
|
||
| _update_history(history, name, shapes, builder) | ||
|
|
||
| return Shape.cast(builder.Shape()) |
There was a problem hiding this comment.
Why does the form of this return deviate from the other free function method returns (fuse, cut, split, etc)?
return _compound_or_shape(builder.Shape())|
|
||
| builder = BRepAlgoAPI_Splitter() | ||
| _bool_op(s1, s2, builder, tol) | ||
| builder = BOPAlgo_Splitter() |
There was a problem hiding this comment.
I do not really understand the implications of dropping from BRepAlgoAPI_Splitter to BOPAlgo_Splitter, but I did notice that there does not seem to be a test for split() to catch an issue that this might introduce.
This allows to construct solids from overlapping faces using


encloseop. Does the name make sense to you BTW?