Salome HOME
IPAL52557: TC7.5.0: default value in Hypothesis is different in new and saved studies
authoreap <eap@opencascade.com>
Tue, 28 Oct 2014 12:37:01 +0000 (15:37 +0300)
committereap <eap@opencascade.com>
Tue, 28 Oct 2014 12:37:01 +0000 (15:37 +0300)
 Use a precise bnd box to find the shape diagonal

src/SMESH/CMakeLists.txt
src/SMESH/SMESH_Mesh.cxx
src/StdMeshers/StdMeshers_ViscousLayers.cxx

index 17e8d7b9cac767d0c5656190cfaa3c5fa6e945ae..a23c8c468a3d071107cb18d412fc9ed8ee3e8c65 100644 (file)
@@ -58,6 +58,7 @@ SET(_link_LIBRARIES
   ${CAS_TKG2d}
   ${CAS_TKCDF}
   ${GEOM_NMTTools}
   ${CAS_TKG2d}
   ${CAS_TKCDF}
   ${GEOM_NMTTools}
+  ${GEOM_GEOMUtils}
   ${Boost_LIBRARIES}
   SMESHDS
   SMESHControls
   ${Boost_LIBRARIES}
   SMESHDS
   SMESHControls
index b0dcee9ac22247bc2be4a404f940989f404466ad..8b27cba540b680b93615827cc5839de99b88cd20 100644 (file)
 #include "DriverCGNS_Write.hxx"
 #endif
 
 #include "DriverCGNS_Write.hxx"
 #endif
 
+#include <GEOMUtils.hxx>
+
 #undef _Precision_HeaderFile
 #undef _Precision_HeaderFile
-#include <BRepBndLib.hxx>
+//#include <BRepBndLib.hxx>
 #include <BRepPrimAPI_MakeBox.hxx>
 #include <Bnd_Box.hxx>
 #include <TColStd_MapOfInteger.hxx>
 #include <BRepPrimAPI_MakeBox.hxx>
 #include <Bnd_Box.hxx>
 #include <TColStd_MapOfInteger.hxx>
@@ -327,7 +329,7 @@ double SMESH_Mesh::GetShapeDiagonalSize(const TopoDS_Shape & aShape)
 {
   if ( !aShape.IsNull() ) {
     Bnd_Box Box;
 {
   if ( !aShape.IsNull() ) {
     Bnd_Box Box;
-    BRepBndLib::Add(aShape, Box);
+    GEOMUtils::PreciseBoundingBox(aShape, Box);
     return sqrt( Box.SquareExtent() );
   }
   return 0;
     return sqrt( Box.SquareExtent() );
   }
   return 0;
index 49d0e09af1c496bf37b4c9ef70f1bada6d8cd240..704144d7a6d3a5c74f9315050c0640226ff920a7 100644 (file)
@@ -5386,7 +5386,7 @@ int _LayerEdge::Smooth(const int step, const bool isConcaveFace, const bool find
     // get worse?
     if ( nbOkAfter < nbOkBefore )
       continue;
     // get worse?
     if ( nbOkAfter < nbOkBefore )
       continue;
-    if (( isConcaveFace ) &&
+    if (( isConcaveFace || findBest ) &&
         ( nbOkAfter == nbOkBefore ) &&
         //( iFun > -1 || nbOkAfter < _simplices.size() ) &&
         ( minVolAfter <= minVolBefore ))
         ( nbOkAfter == nbOkBefore ) &&
         //( iFun > -1 || nbOkAfter < _simplices.size() ) &&
         ( minVolAfter <= minVolBefore ))