Salome HOME
Integrate patch from G.David (add missing include)
[modules/smesh.git] / src / StdMeshers / StdMeshers_Regular_1D.cxx
index 8e50b059ba88c416dbc24ed7be91199d7e6b5f79..331d29aea2990d95f9aa63e63e2cdf872a8dcdb9 100644 (file)
@@ -63,6 +63,7 @@
 #include <TopoDS_Edge.hxx>
 
 #include <string>
+#include <limits>
 
 using namespace std;
 
@@ -757,7 +758,7 @@ bool StdMeshers_Regular_1D::computeInternalParameters(SMESH_Mesh &     theMesh,
     double an = _value[ END_LENGTH_IND ];
 
     double  q = ( an - a1 ) / ( 2 *theLength/( a1 + an ) - 1 );
-    int     n = int( 1 + ( an - a1 ) / q );
+    int n = fabs(q) > numeric_limits<double>::min() ? int( 1 + ( an - a1 ) / q ) : 1+theLength/a1;
 
     double U1 = theReverse ? l : f;
     double Un = theReverse ? f : l;