]> SALOME platform Git repositories - plugins/netgenplugin.git/commitdiff
Salome HOME
22401: [CEA 992] Regression on SMESH using NETGEN 2D
authoreap <eap@opencascade.com>
Thu, 21 Nov 2013 08:23:01 +0000 (08:23 +0000)
committereap <eap@opencascade.com>
Thu, 21 Nov 2013 08:23:01 +0000 (08:23 +0000)
In AddSegmentsToMesh() do not take into account length of degenerated segments

src/NETGENPlugin/NETGENPlugin_Mesher.cxx

index 05149390fac476065319eb96e7b479675bab259c..59921419a1035d366255092bee0e40afa537d745 100644 (file)
@@ -1665,9 +1665,10 @@ NETGENPlugin_Mesher::AddSegmentsToMesh(netgen::Mesh&                    ngMesh,
         SMESH_TNodeXYZ np1( n ), np2( uvPtVec[ i+1 ].node );
         // get an average size of adjacent segments to avoid sharp change of
         // element size (regression on issue 0020452, note 0010898)
-        int iPrev = SMESH_MesherHelper::WrapIndex( i-1, nbSegments );
-        int iNext = SMESH_MesherHelper::WrapIndex( i+1, nbSegments );
-        double avgH = ( segLen[ iPrev ] + segLen[ i ] + segLen[ iNext ]) / 3;
+        int   iPrev = SMESH_MesherHelper::WrapIndex( i-1, nbSegments );
+        int   iNext = SMESH_MesherHelper::WrapIndex( i+1, nbSegments );
+        int   nbSeg = 1 + ( segLen[ iPrev ] > 1e-20 ) + ( segLen[ iNext ] > 1e-20 );
+        double avgH = ( segLen[ iPrev ] + segLen[ i ] + segLen[ iNext ]) / nbSeg;
 
         RestrictLocalSize( ngMesh, 0.5*(np1+np2), avgH );
       }