diff options
author | RĂ©mi Verschelde <rverschelde@gmail.com> | 2020-08-13 10:16:33 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-13 10:16:33 +0200 |
commit | 3b3d82f40fc5d982ee7243d11ed24858859eb7b1 (patch) | |
tree | 056e71fa46cfbc1c4318ed93a5b39acc9fab44cc | |
parent | 58ffd9c6d8ad2b41da45c9c6dca304528a9e4e9f (diff) | |
parent | 5b1e6e35be91b2dc8f4135cea4b415c89b5b10d6 (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.cpp | 4 |
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)) { |