- Ifc: rework geometry generation for openings to use 2D profiles for approximate boolean differentiation whenever possible. Also fix issues in 2D projection, which caused very spurious triangle artifacts.

This commit is contained in:
Alexander Gessler
2013-01-27 21:21:30 +01:00
parent 2e6ad884bb
commit 250ca6837f
3 changed files with 146 additions and 54 deletions

View File

@@ -59,6 +59,9 @@ void TempOpening::Transform(const IfcMatrix4& mat)
if(profileMesh) {
profileMesh->Transform(mat);
}
if(profileMesh2D) {
profileMesh2D->Transform(mat);
}
extrusionDir *= IfcMatrix3(mat);
}
@@ -311,6 +314,13 @@ void TempMesh::RemoveAdjacentDuplicates()
}
}
// ------------------------------------------------------------------------------------------------
void TempMesh::Swap(TempMesh& other)
{
vertcnt.swap(other.vertcnt);
verts.swap(other.verts);
}
// ------------------------------------------------------------------------------------------------
bool IsTrue(const EXPRESS::BOOLEAN& in)
{