Explorar o código

- Ifc: more opening tweaks, half a step back again.

Alexander Gessler %!s(int64=12) %!d(string=hai) anos
pai
achega
b90882a4cb
Modificáronse 1 ficheiros con 6 adicións e 6 borrados
  1. 6 6
      code/IFCGeometry.cpp

+ 6 - 6
code/IFCGeometry.cpp

@@ -1729,7 +1729,7 @@ size_t CloseWindows(ContourVector& contours,
 						
 						if (sqdist < best) {
 							// avoid self-connections
-							if(best < 1e-5) {
+							if(sqdist < 1e-5) {
 								continue;
 							}
 
@@ -2205,10 +2205,10 @@ void ProcessExtrudedAreaSolid(const IfcExtrudedAreaSolid& solid, TempMesh& resul
 	IfcVector3 dir;
 	ConvertDirection(dir,solid.ExtrudedDirection);
 
-	dir *= solid.Depth;
-	if(conv.collect_openings) {
+	dir *= solid.Depth; /*
+	if(conv.collect_openings && !conv.apply_openings) {
 		dir *= 1000.0;
-	}
+	} */
 
 	// Outline: assuming that `meshout.verts` is now a list of vertex points forming 
 	// the underlying profile, extrude along the given axis, forming new
@@ -2218,7 +2218,7 @@ void ProcessExtrudedAreaSolid(const IfcExtrudedAreaSolid& solid, TempMesh& resul
 	const size_t size=in.size();
 
 	const bool has_area = solid.SweptArea->ProfileType == "AREA" && size>2;
-	if(solid.Depth < 1e-3) {
+	if(solid.Depth < 1e-6) {
 		if(has_area) {
 			meshout = result;
 		}
@@ -2284,7 +2284,7 @@ void ProcessExtrudedAreaSolid(const IfcExtrudedAreaSolid& solid, TempMesh& resul
 		out.push_back(in[next]);
 
 		if(openings) {
-			if(GenerateOpenings(*conv.apply_openings,nors,temp,true, true)) {
+			if(GenerateOpenings(*conv.apply_openings,nors,temp,false, true)) {
 				++sides_with_openings;
 			}