X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FStdMeshers%2FStdMeshers_QuadToTriaAdaptor.hxx;h=19a6527a40eddb880c0abded1cc14dd44324ccab;hp=3f7f273c1d2291c44be43dca8767480efd42836c;hb=d9f4b53e489dd5857db264ede6acded7b076c9f1;hpb=6883e45c6b4bf088fa71d0299d3a35383f283fbe diff --git a/src/StdMeshers/StdMeshers_QuadToTriaAdaptor.hxx b/src/StdMeshers/StdMeshers_QuadToTriaAdaptor.hxx index 3f7f273c1..19a6527a4 100644 --- a/src/StdMeshers/StdMeshers_QuadToTriaAdaptor.hxx +++ b/src/StdMeshers/StdMeshers_QuadToTriaAdaptor.hxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2022 CEA/DEN, EDF R&D, OPEN CASCADE // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -44,6 +44,7 @@ class gp_Vec; #include #include +#include /*! * \brief "Transforms" quadrilateral faces into triangular ones by creation of pyramids @@ -72,13 +73,14 @@ protected: gp_Pnt& PC, gp_Vec& VNorm, const SMDS_MeshElement** volumes=0); - void LimitHeight (gp_Pnt& Papex, + bool LimitHeight (gp_Pnt& Papex, const gp_Pnt& PC, const TColgp_Array1OfPnt& PN, const std::vector& FNodes, SMESH_Mesh& aMesh, const SMDS_MeshElement* NotCheckedFace, - const bool UseApexRay); + const bool UseApexRay, + const TopoDS_Shape& Shape = TopoDS_Shape()); bool Compute2ndPart(SMESH_Mesh& aMesh, const std::vector& pyramids); @@ -92,11 +94,19 @@ protected: std::set& nodesToMove, const bool isRecursion = false); + bool DecreaseHeightDifference( const SMDS_MeshElement* pyram, + const double h2 ); TopoDS_Shape myShape; std::set myRemovedTrias; std::list< const SMDS_MeshNode* > myDegNodes; const SMESH_ElementSearcher* myElemSearcher; + + NCollection_DataMap< const SMDS_MeshElement*, double > myPyramHeight2; + + // work buffers of DecreaseHeightDifference() + std::vector< const SMDS_MeshElement* > myAdjPyrams; + std::vector myNodes; }; #endif