Skip to content

Commit 1b455eb

Browse files
committed
boolean operation fixes
1 parent b73deab commit 1b455eb

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

storage.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1116,7 +1116,10 @@ class abstract_chunked_voxel_storage : public regular_voxel_storage {
11161116
continue;
11171117
}
11181118
} else if (mode == OP_SUBTRACTION) {
1119-
if (Sa == CK_EMPTY || Sb == CK_FULL) {
1119+
if (Sa == CK_EMPTY) {
1120+
continue;
1121+
} else if (Sb == CK_FULL) {
1122+
set_chunk(n, ijk, nullptr);
11201123
continue;
11211124
} else if (Sb == CK_EMPTY) {
11221125
if (!inplace) {
@@ -1126,6 +1129,7 @@ class abstract_chunked_voxel_storage : public regular_voxel_storage {
11261129
}
11271130
} else if (mode == OP_INTERSECTION) {
11281131
if (Sa == CK_EMPTY || Sb == CK_EMPTY) {
1132+
// @todo this does not appear correct. When B is empty A needs to be *cleared* when not empty and in-place.
11291133
continue;
11301134
} else if (Sb == CK_FULL) {
11311135
if (!inplace) {

0 commit comments

Comments
 (0)