X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FStdMeshers%2FStdMeshers_Prism_3D.hxx;h=708a92ca9226a29e0cf948b76d84266fc737812c;hb=b22e182dd1a2c30be324b21074158390d00714b3;hp=6c7c52fe1bf2c7f2589f4aa4cbc25669f39f750d;hpb=b385a0679d4079d84272d9fe9006c2736beeb907;p=modules%2Fsmesh.git diff --git a/src/StdMeshers/StdMeshers_Prism_3D.hxx b/src/StdMeshers/StdMeshers_Prism_3D.hxx index 6c7c52fe1..708a92ca9 100644 --- a/src/StdMeshers/StdMeshers_Prism_3D.hxx +++ b/src/StdMeshers/StdMeshers_Prism_3D.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2014 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 @@ -412,7 +412,8 @@ struct StdMeshers_Sweeper std::vector< TNodeColumn* > myIntColumns; // internal nodes bool ComputeNodes( SMESH_MesherHelper& helper, - const double tol ); + const double tol, + const bool allowHighBndError ); private: @@ -482,7 +483,9 @@ public: * \brief Analyse shape geometry and mesh. * If there are triangles on one of faces, it becomes 'bottom' */ - bool initPrism(Prism_3D::TPrismTopo& thePrism, const TopoDS_Shape& theSolid); + bool initPrism(Prism_3D::TPrismTopo& thePrism, + const TopoDS_Shape& theSolid, + const bool selectBottom = true); /*! * \brief Fill thePrism.myWallQuads and thePrism.myTopEdges @@ -527,6 +530,11 @@ public: */ double getSweepTolerance( const Prism_3D::TPrismTopo& thePrism ); + /*! + * \brief Defines if it's safe to use the block approach + */ + bool isSimpleBottom( const Prism_3D::TPrismTopo& thePrism ); + /*! * \brief Project mesh faces from a source FACE of one prism to * a source FACE of another prism @@ -556,6 +564,7 @@ private: bool myProjectTriangles; bool mySetErrorToSM; + bool myUseBlock; StdMeshers_PrismAsBlock myBlock; SMESH_MesherHelper* myHelper;