Fix T81651, exact boolean modifier incorrect if operand hidden.
The code was trying to ignore hidden geometry when doing boolean, which is correct when used as a tool, but not when a modifier. Added a "keep_hidden" argument to bmesh_boolean to distinguish the two cases. Also fixed a bug when the tool is used with hidden geometry that is attached to unhidden geometry that is deleted by the operation.
This commit is contained in:
@@ -428,7 +428,9 @@ class Cell {
|
||||
BoolOpType bool_optype)
|
||||
{
|
||||
std::copy(from_cell.winding().begin(), from_cell.winding().end(), winding_.begin());
|
||||
winding_[shape] += delta;
|
||||
if (shape >= 0) {
|
||||
winding_[shape] += delta;
|
||||
}
|
||||
winding_assigned_ = true;
|
||||
in_output_volume_ = apply_bool_op(bool_optype, winding_);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user