Salome HOME
[bos #40653][CEA] New mesh import export formats with meshio.
[modules/smesh.git] / src / StdMeshers / StdMeshers_QuadToTriaAdaptor.hxx
index 943d7745cfe8d7ef4216f78ea596d4b5d7e3dc16..9c194355198a7508719bef50c3cbb1aa78361cad 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2019  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2024  CEA, EDF, 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 <vector>
 
 #include <TopoDS_Shape.hxx>
+#include <NCollection_DataMap.hxx>
 
 /*!
  * \brief "Transforms" quadrilateral faces into triangular ones by creation of pyramids
@@ -93,11 +94,19 @@ protected:
                      std::set<const SMDS_MeshNode*>& nodesToMove,
                      const bool                      isRecursion = false);
 
+  bool DecreaseHeightDifference( const SMDS_MeshElement* pyram,
+                                 const double            h2 );
 
   TopoDS_Shape                      myShape;
   std::set<const SMDS_MeshElement*> 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<const SMDS_MeshNode *>     myNodes;
 };
 
 #endif