X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSMESH_I%2FSMESH_MeshEditor_i.cxx;h=534580ccbb36c76500d9ee3dab15221af98a2598;hb=6bac08c1a81f34d3f21c550bd92f83654b2546a5;hp=39a9d25d6b2de158a2fd6682eaf690686e85b0e6;hpb=cb136b9fea915007494b27a181a4552bf4f8b307;p=modules%2Fsmesh.git diff --git a/src/SMESH_I/SMESH_MeshEditor_i.cxx b/src/SMESH_I/SMESH_MeshEditor_i.cxx index 39a9d25d6..534580ccb 100644 --- a/src/SMESH_I/SMESH_MeshEditor_i.cxx +++ b/src/SMESH_I/SMESH_MeshEditor_i.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -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]),