diff options
author | Matt Ebb <matt@mke3.net> | 2009-12-04 03:54:40 +0300 |
---|---|---|
committer | Matt Ebb <matt@mke3.net> | 2009-12-04 03:54:40 +0300 |
commit | a657920fba20ed557eba40575cf54d065f8bc9bd (patch) | |
tree | 1c5c15a8af19c1333b055fd15c770a90625e8393 /intern/boolop | |
parent | 688c4aa1de3d707d43a4b7b1ca5c5ae2fbcd3ced (diff) |
Fix for [#20229] Booleans crash on edge case.
Diffstat (limited to 'intern/boolop')
-rw-r--r-- | intern/boolop/intern/BOP_Face2Face.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/intern/boolop/intern/BOP_Face2Face.cpp b/intern/boolop/intern/BOP_Face2Face.cpp index 38841e34567..78ccc0ba987 100644 --- a/intern/boolop/intern/BOP_Face2Face.cpp +++ b/intern/boolop/intern/BOP_Face2Face.cpp @@ -310,7 +310,7 @@ void BOP_intersectCoplanarFaces(BOP_Mesh* mesh, } MT_Vector3 p3p1 = p1-p3; - MT_Plane3 plane3((p3p1.cross(normal).normalized()),p3); + MT_Plane3 plane3((p3p1.cross(normal).safe_normalized()),p3); sA.m_cfg1 = BOP_Segment::createVertexCfg(3); sA.m_v1 = faceA->getVertex(2); @@ -528,7 +528,7 @@ void BOP_mergeSort(MT_Point3 *points, unsigned int *face, unsigned int &size, bo invertB = false; if (face[1] == 1) { - // invertA¿? + // invertAø? for(i=0;i<size;i++) { if (position[i] == 1) { invertA = true; @@ -537,7 +537,7 @@ void BOP_mergeSort(MT_Point3 *points, unsigned int *face, unsigned int &size, bo else if (position[i] == 0) break; } - // invertB¿? + // invertBø? if (size == 4) { for(i=0;i<size;i++) { if (position[i] == 3) { @@ -549,7 +549,7 @@ void BOP_mergeSort(MT_Point3 *points, unsigned int *face, unsigned int &size, bo } } else if (face[1] == 2) { - // invertB¿? + // invertBø? for(i=0;i<size;i++) { if (position[i] == 2) { invertB = true; |