- Ifc: fine-tune some epsilons.
parent
6e7722c92f
commit
d20126f7a1
|
@ -1957,7 +1957,7 @@ bool GenerateOpenings(std::vector<TempOpening>& openings,
|
||||||
|
|
||||||
|
|
||||||
// TODO: This epsilon may be too large
|
// TODO: This epsilon may be too large
|
||||||
const IfcFloat epsilon = fabs(dmax-dmin) * 0.01;
|
const IfcFloat epsilon = fabs(dmax-dmin) * 0.001;
|
||||||
if (check_intersection && (base_d < dmin-epsilon || base_d > dmax+epsilon)) {
|
if (check_intersection && (base_d < dmin-epsilon || base_d > dmax+epsilon)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -1966,7 +1966,7 @@ bool GenerateOpenings(std::vector<TempOpening>& openings,
|
||||||
|
|
||||||
// Skip over very small openings - these are likely projection errors
|
// Skip over very small openings - these are likely projection errors
|
||||||
// (i.e. they don't belong to this side of the wall)
|
// (i.e. they don't belong to this side of the wall)
|
||||||
if(fabs(vpmax.x - vpmin.x) * fabs(vpmax.y - vpmin.y) < static_cast<IfcFloat>(1e-5)) {
|
if(fabs(vpmax.x - vpmin.x) * fabs(vpmax.y - vpmin.y) < static_cast<IfcFloat>(1e-10)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
std::vector<TempOpening*> joined_openings(1, &opening);
|
std::vector<TempOpening*> joined_openings(1, &opening);
|
||||||
|
@ -2003,6 +2003,7 @@ bool GenerateOpenings(std::vector<TempOpening>& openings,
|
||||||
|
|
||||||
if (poly.size() > 1) {
|
if (poly.size() > 1) {
|
||||||
return TryAddOpenings_Poly2Tri(openings, nors, curmesh);
|
return TryAddOpenings_Poly2Tri(openings, nors, curmesh);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
else if (poly.size() == 0) {
|
else if (poly.size() == 0) {
|
||||||
IFCImporter::LogWarn("ignoring duplicate opening");
|
IFCImporter::LogWarn("ignoring duplicate opening");
|
||||||
|
|
Loading…
Reference in New Issue