From: dmv Date: Tue, 8 Jul 2008 13:11:42 +0000 (+0000) Subject: Bug IPAL20057 Incorrect big size of trihedron arrows and letters when vertical size... X-Git-Tag: V4_1_4a1~3 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=b72bf4fbb377fe5f5213157dad071d95de756248;p=modules%2Fgui.git Bug IPAL20057 Incorrect big size of trihedron arrows and letters when vertical size of VTK Viewer is small. --- diff --git a/src/VTKViewer/VTKViewer_Trihedron.cxx b/src/VTKViewer/VTKViewer_Trihedron.cxx index d9f5d3321..7781f1b57 100755 --- a/src/VTKViewer/VTKViewer_Trihedron.cxx +++ b/src/VTKViewer/VTKViewer_Trihedron.cxx @@ -80,8 +80,12 @@ void VTKViewer_UnScaledActor::Render(vtkRenderer *theRenderer) vtkFloatingPointType aLength = aDataSet->GetLength(); vtkFloatingPointType aPrecision = 1.0E-3; vtkFloatingPointType anOldScale = GetScale()[0]; - vtkFloatingPointType aScale = mySize*aWorldDiag/aWinDiag/aLength*sqrt(vtkFloatingPointType(aSize[0])/vtkFloatingPointType(aSize[1])); - if(aScale != 0.0 && fabs(aScale - anOldScale)/aScale > aPrecision){ + vtkFloatingPointType aScale; + if (aSize[1] > aSize[0]) + aScale = mySize*aWorldDiag/aWinDiag/aLength*sqrt(vtkFloatingPointType(aSize[0])/vtkFloatingPointType(aSize[1])); + else + aScale = mySize*aWorldDiag/aWinDiag/aLength*sqrt(vtkFloatingPointType(aSize[1])/vtkFloatingPointType(aSize[0])); + if(aScale != 0.0&& fabs(aScale - anOldScale)/aScale > aPrecision){ SetScale(aScale); } }