Browse Source

- Ifc: fix issue pointed out by clang that caused an epsilon check to go totally wrong. A pair of extra parentheses invoked C++ expression evaluation instead of argument passing.

Alexander Gessler 12 years ago
parent
commit
d25715ad2c
1 changed files with 1 additions and 1 deletions
  1. 1 1
      code/IFCBoolean.cpp

+ 1 - 1
code/IFCBoolean.cpp

@@ -245,7 +245,7 @@ bool IntersectsBoundaryProfile( const IfcVector3& e0, const IfcVector3& e1, cons
 			// directly on the vertex between two segments.
 			// directly on the vertex between two segments.
 			if (!intersected_boundary_points.empty() && intersected_boundary_segments.back()==i-1 ) {
 			if (!intersected_boundary_points.empty() && intersected_boundary_segments.back()==i-1 ) {
 				const IfcVector3 diff = intersected_boundary_points.back() - p;
 				const IfcVector3 diff = intersected_boundary_points.back() - p;
-				if(IfcVector3((diff.x, diff.y)).SquareLength() < 1e-7) {
+				if(IfcVector2(diff.x, diff.y).SquareLength() < 1e-7) {
 					continue;
 					continue;
 				}
 				}
 			}
 			}