From: abv Date: Thu, 26 Jul 2018 07:36:12 +0000 (+0300) Subject: 0029978: Data Exchange, macOS - the result of reading some entity from STEP looks odd X-Git-Url: http://git.dev.opencascade.org/gitweb/?a=commitdiff_plain;h=e23f5331d981a60caf202fc1e35ccdf29d381740;p=occt-copy.git 0029978: Data Exchange, macOS - the result of reading some entity from STEP looks odd Code is optimized manually to avoid bug of XCode 9.4 compiler optimizer --- diff --git a/src/gp/gp_Trsf.cxx b/src/gp/gp_Trsf.cxx index 1b116fda56..5e5980e20b 100644 --- a/src/gp/gp_Trsf.cxx +++ b/src/gp/gp_Trsf.cxx @@ -157,11 +157,10 @@ void gp_Trsf::SetTransformation (const gp_Ax3& FromA1, shape = gp_CompoundTrsf; scale = 1.0; // matrix from XOY ToA2 : - matrix.SetCol (1, ToA2.XDirection().XYZ()); - matrix.SetCol (2, ToA2.YDirection().XYZ()); - matrix.SetCol (3, ToA2.Direction().XYZ()); + matrix.SetRows (ToA2.XDirection().XYZ(), + ToA2.YDirection().XYZ(), + ToA2. Direction().XYZ()); loc = ToA2.Location().XYZ(); - matrix.Transpose(); loc.Multiply (matrix); loc.Reverse (); @@ -183,11 +182,10 @@ void gp_Trsf::SetTransformation (const gp_Ax3& A3) { shape = gp_CompoundTrsf; scale = 1.0; - loc = A3.Location().XYZ(); - matrix.SetCols (A3.XDirection().XYZ(), + matrix.SetRows (A3.XDirection().XYZ(), A3.YDirection().XYZ(), A3. Direction().XYZ()); - matrix.Transpose(); + loc = A3.Location().XYZ(); loc.Multiply (matrix); loc.Reverse (); }