X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESH_I%2FSMESH_MeshEditor_i.cxx;h=73b1c7d56d632e63b3f69645ef664e3358b53d80;hp=39a9d25d6b2de158a2fd6682eaf690686e85b0e6;hb=38136d541c504d7e558c2a2f954911aaf95446ee;hpb=cb136b9fea915007494b27a181a4552bf4f8b307 diff --git a/src/SMESH_I/SMESH_MeshEditor_i.cxx b/src/SMESH_I/SMESH_MeshEditor_i.cxx index 39a9d25d6..73b1c7d56 100644 --- a/src/SMESH_I/SMESH_MeshEditor_i.cxx +++ b/src/SMESH_I/SMESH_MeshEditor_i.cxx @@ -3126,7 +3126,7 @@ SMESH_MeshEditor_i::ExtrusionByNormal(SMESH::SMESH_IDSource_ptr object, << ", " << dim << " )"; } - return aGroups; + return aGroups ? aGroups : new SMESH::ListOfGroups; } //======================================================================= @@ -4842,9 +4842,16 @@ SMESH_MeshEditor_i::scale(SMESH::SMESH_IDSource_ptr theObject, gp_Trsf aTrsf; #if OCC_VERSION_LARGE > 0x06070100 - aTrsf.SetValues( S[0], 0, 0, thePoint.x * (1-S[0]), - 0, S[1], 0, thePoint.y * (1-S[1]), - 0, 0, S[2], thePoint.z * (1-S[2]) ); + // fight against ortagonalization + // aTrsf.SetValues( S[0], 0, 0, thePoint.x * (1-S[0]), + // 0, S[1], 0, thePoint.y * (1-S[1]), + // 0, 0, S[2], thePoint.z * (1-S[2]) ); + aTrsf.SetTranslation( gp_Vec( thePoint.x * (1-S[0]), + thePoint.y * (1-S[1]), + thePoint.z * (1-S[2]))); + gp_Mat & M = ( gp_Mat& ) aTrsf.HVectorialPart(); + M.SetDiagonal( S[0], S[1], S[2] ); + #else aTrsf.SetValues( S[0], 0, 0, thePoint.x * (1-S[0]), 0, S[1], 0, thePoint.y * (1-S[1]),