X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FStdMeshers%2FStdMeshers_AutomaticLength.cxx;h=1bfa33215eca3a7a584e2acfeedb61098b7d3ca8;hb=0e017d4c87d670c01e72c0b4858ffcb9e47aa9ba;hp=5d25436664428aede090016d589c3f7f6bac21a6;hpb=31ca0b3e3be91c2e0e9ea2ec70c828f373bfb086;p=modules%2Fsmesh.git diff --git a/src/StdMeshers/StdMeshers_AutomaticLength.cxx b/src/StdMeshers/StdMeshers_AutomaticLength.cxx index 5d2543666..1bfa33215 100644 --- a/src/StdMeshers/StdMeshers_AutomaticLength.cxx +++ b/src/StdMeshers/StdMeshers_AutomaticLength.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2012 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 @@ -6,7 +6,7 @@ // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either -// version 2.1 of the License. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -117,6 +117,19 @@ namespace { */ //================================================================================ + const double a14divPI = 14. / M_PI; + + + inline double segLength(double S0, double edgeLen, double minLen ) + { + // PAL10237 + // S = S0 * f(L/Lmin) where f(x) = 1 + (2/Pi * 7 * atan(x/5) ) + + // => + // S = S0 * ( 1 + 14/PI * atan( L / ( 5 * Lmin ))) + return S0 * ( 1. + a14divPI * atan( edgeLen / ( 5 * minLen ))); + } +#if 0 //const double a14divPI = 14. / M_PI; const double a2div7divPI = 2. / 7. / M_PI; @@ -141,7 +154,7 @@ namespace { const double Lratio = edgeLen / minLen; return S0 * ( 1. + a2div7divPI * Lratio * atan( 5 * Lratio )); } - +#endif //================================================================================ /*! * \brief Compute segment length for all edges