summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <rverschelde@gmail.com>2020-08-13 10:16:33 +0200
committerGitHub <noreply@github.com>2020-08-13 10:16:33 +0200
commit3b3d82f40fc5d982ee7243d11ed24858859eb7b1 (patch)
tree056e71fa46cfbc1c4318ed93a5b39acc9fab44cc
parent58ffd9c6d8ad2b41da45c9c6dca304528a9e4e9f (diff)
parent5b1e6e35be91b2dc8f4135cea4b415c89b5b10d6 (diff)
Merge pull request #41199 from madmiraal/fix-38001
Mark the first shape as inside, not the second shape, when CSG shapes are co-planer.
-rw-r--r--modules/csg/csg.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/modules/csg/csg.cpp b/modules/csg/csg.cpp
index 6c0a3a4ca3..b270e04c63 100644
--- a/modules/csg/csg.cpp
+++ b/modules/csg/csg.cpp
@@ -583,8 +583,8 @@ bool CSGBrushOperation::MeshMerge::_bvh_inside(FaceBVH *facebvhptr, int p_max_de
// Check if faces are co-planar.
if ((current_normal - face_normal).length_squared() < CMP_EPSILON2 &&
is_point_in_triangle(face_center, current_points)) {
- // Only add an intersection if checking a B face.
- if (face.from_b) {
+ // Only add an intersection if not a B face.
+ if (!face.from_b) {
_add_distance(intersectionsA, intersectionsB, current_face.from_b, 0);
}
} else if (ray_intersects_triangle(face_center, face_normal, current_points, CMP_EPSILON, intersection_point)) {