]> SALOME platform Git repositories - modules/smesh.git/blobdiff - src/SMESH/SMESH_MesherHelper.hxx
Salome HOME
NPAL16631: EDF281: Crash on update mesh if computation failed because of memory lack.
[modules/smesh.git] / src / SMESH / SMESH_MesherHelper.hxx
index 4b2cfde5b041661d4499e844f4724fe2d66455b0..09f90f31de691fc1dd762281c3964422b8338bb5 100644 (file)
@@ -130,7 +130,8 @@ public:
 
   /*!
    * \brief To set created elements on the shape set by IsQuadraticSubMesh()
-   *        or the next methods. By defaul elements are not set on the shape
+   *        or the next methods. By defaul elements are set on the shape if
+   *        a mesh has no shape to be meshed
    */
   void SetElementsOnShape(bool toSet) { mySetElemOnShape = toSet; }
 
@@ -241,6 +242,15 @@ public:
    */
   bool GetNodeUVneedInFaceNode(const TopoDS_Face& F = TopoDS_Face()) const;
 
+  /*!
+   * \brief Check if shape is a degenerated edge or it's vertex
+    * \param subShape - edge or vertex index in SMESHDS
+    * \retval bool - true if subShape is a degenerated shape
+    *
+    * It works only if IsQuadraticSubMesh() or SetSubShape() has been called
+   */
+  bool IsDegenShape(const int subShape) const
+  { return myDegenShapeIds.find( subShape ) != myDegenShapeIds.end(); }
   /*!
    * \brief Check if shape is a seam edge or it's vertex
     * \param subShape - edge or vertex index in SMESHDS
@@ -309,9 +319,10 @@ protected:
   // Forbiden copy constructor
   SMESH_MesherHelper (const SMESH_MesherHelper& theOther) {};
 
-  // special map for using during creation quadratic faces
+  // special map for using during creation of quadratic elements
   NLinkNodeMap    myNLinkNodeMap;
 
+  std::set< int > myDegenShapeIds;
   std::set< int > mySeamShapeIds;
   double          myPar1, myPar2; // bounds of a closed periodic surface
   int             myParIndex;     // bounds' index (1-U, 2-V)