- Ifc: clean up temporary wall points when switching from horizontal to vertical openings.
parent
9647c87c7c
commit
af0d4ef3da
|
@ -1724,6 +1724,7 @@ void CloseWindows(ContourVector& contours,
|
||||||
BOOST_FOREACH(const TempOpening* opening, refs) {
|
BOOST_FOREACH(const TempOpening* opening, refs) {
|
||||||
BOOST_FOREACH(const IfcVector3& other, opening->wallPoints) {
|
BOOST_FOREACH(const IfcVector3& other, opening->wallPoints) {
|
||||||
const IfcFloat sqdist = (world_point - other).SquareLength();
|
const IfcFloat sqdist = (world_point - other).SquareLength();
|
||||||
|
|
||||||
if (sqdist < best) {
|
if (sqdist < best) {
|
||||||
bestv = other;
|
bestv = other;
|
||||||
best = sqdist;
|
best = sqdist;
|
||||||
|
@ -2262,7 +2263,7 @@ void ProcessExtrudedAreaSolid(const IfcExtrudedAreaSolid& solid, TempMesh& resul
|
||||||
out.push_back(in[next]);
|
out.push_back(in[next]);
|
||||||
|
|
||||||
if(openings) {
|
if(openings) {
|
||||||
if(GenerateOpenings(*conv.apply_openings,nors,temp,true, true)) {
|
if(GenerateOpenings(*conv.apply_openings,nors,temp,false, true)) {
|
||||||
++sides_with_openings;
|
++sides_with_openings;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2271,6 +2272,12 @@ void ProcessExtrudedAreaSolid(const IfcExtrudedAreaSolid& solid, TempMesh& resul
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(openings) {
|
||||||
|
BOOST_FOREACH(TempOpening& opening, *conv.apply_openings) {
|
||||||
|
opening.wallPoints.clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
size_t sides_with_v_openings = 0;
|
size_t sides_with_v_openings = 0;
|
||||||
if(has_area) {
|
if(has_area) {
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue