From f1827d02ca7bcaad0b8af47f0da49f545b015bad Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Fri, 27 Jun 2025 09:52:35 +0200 Subject: [PATCH] Retain non-uniform scaling by assigning to gtrsf mat directly #6841 --- src/ifcgeom/IfcGeomRepresentation.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/ifcgeom/IfcGeomRepresentation.cpp b/src/ifcgeom/IfcGeomRepresentation.cpp index 2c1983108e..09fc253d11 100644 --- a/src/ifcgeom/IfcGeomRepresentation.cpp +++ b/src/ifcgeom/IfcGeomRepresentation.cpp @@ -204,12 +204,12 @@ IfcGeom::ConversionResultShape* IfcGeom::Representation::BRep::as_compound(bool if (it->Placement()->components_) { gp_Trsf tr; const auto& m = it->Placement()->ccomponents(); - tr.SetValues( - m(0, 0), m(0, 1), m(0, 2), m(0, 3), - m(1, 0), m(1, 1), m(1, 2), m(1, 3), - m(2, 0), m(2, 1), m(2, 2), m(2, 3) - ); - trsf = tr; + trsf.SetVectorialPart(gp_Mat( + m(0, 0), m(0, 1), m(0, 2), + m(1, 0), m(1, 1), m(1, 2), + m(2, 0), m(2, 1), m(2, 2) + )); + trsf.SetTranslationPart(gp_XYZ(m(0, 3), m(1, 3), m(2, 3))); } if (!force_meters && settings().get().get()) {