]> SALOME platform Git repositories - modules/gui.git/commitdiff
Salome HOME
Fix for the bug IPAL21971: Polyhedron problems
authorana <ana@opencascade.com>
Mon, 17 Jan 2011 08:21:36 +0000 (08:21 +0000)
committerana <ana@opencascade.com>
Mon, 17 Jan 2011 08:21:36 +0000 (08:21 +0000)
src/VTKViewer/VTKViewer_ConvexTool.cxx

index ce1327a86593df7b75b048276db25dc25ae488e8..115335c5cb10742c31387514a75473a9cf6fb6d4 100644 (file)
@@ -623,14 +623,17 @@ VTKViewer_OrderedTriangulator
 
     vtkFloatingPointType aBounds[6];
     myPoints->GetBounds(aBounds);
-
+    vtkFloatingPointType xSize, ySize, zSize;
+    xSize = aBounds[1] - aBounds[0];
+    ySize = aBounds[3] - aBounds[2];
+    zSize = aBounds[5] - aBounds[4];
     vtkFloatingPointType anAbsoluteCoord[3];
     vtkFloatingPointType aParamentrucCoord[3];
     for (int aPntId = 0; aPntId < aNumPts; aPntId++) {
       myPoints->GetPoint(aPntId, anAbsoluteCoord);
-      aParamentrucCoord[0] = (anAbsoluteCoord[0] - aBounds[0]) / (aBounds[1] - aBounds[0]);
-      aParamentrucCoord[1] = (anAbsoluteCoord[1] - aBounds[2]) / (aBounds[3] - aBounds[2]);
-      aParamentrucCoord[2] = (anAbsoluteCoord[2] - aBounds[4]) / (aBounds[5] - aBounds[4]);
+      aParamentrucCoord[0] = xSize==0. ? 0. : ((anAbsoluteCoord[0] - aBounds[0]) / xSize);
+      aParamentrucCoord[1] = ySize==0. ? 0. : ((anAbsoluteCoord[1] - aBounds[2]) / ySize);
+      aParamentrucCoord[2] = zSize==0. ? 0. : ((anAbsoluteCoord[2] - aBounds[4]) / zSize);
       myTriangulator->InsertPoint(aPntId, anAbsoluteCoord, aParamentrucCoord, 0);
     }