Salome HOME
0023505: Sigsegv with fuse on cylinder and cone
[modules/smesh.git] / src / StdMeshers / StdMeshers_ViscousLayers2D.hxx
index a7b6c9c45a8d4df0dd74f30481a1992cee5769c2..cff610b17aaa11d6b2f054ea2cbe2b345fa61766 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2014  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016  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
@@ -27,6 +27,7 @@
 #include "StdMeshers_ViscousLayers.hxx"
 
 class TopoDS_Face;
+class StdMeshers_FaceSide;
 
 /*!
  * \brief Hypothesis defining parameters of viscous layers
@@ -35,9 +36,10 @@ class STDMESHERS_EXPORT StdMeshers_ViscousLayers2D : public StdMeshers_ViscousLa
 {
 public:
   StdMeshers_ViscousLayers2D(int hypId, int studyId, SMESH_Gen* gen);
-
-  // Computes temporary 2D mesh to be used by 2D algorithm.
-  // Return SMESH_ProxyMesh for the given FACE, or NULL in case of error
+  /*!
+   * \brief Computes temporary 2D mesh to be used by 2D algorithm.
+   *        Return SMESH_ProxyMesh for the given FACE, or NULL in case of error
+   */
   static SMESH_ProxyMesh::Ptr Compute(SMESH_Mesh&        theMesh,
                                       const TopoDS_Face& theShape);
   /*!
@@ -46,13 +48,19 @@ public:
    */
   void RestoreListeners() const;
 
+  /*!
+   * \brief Checks compatibility of assigned StdMeshers_ViscousLayers2D hypotheses
+   */
+  static SMESH_ComputeErrorPtr CheckHypothesis(SMESH_Mesh&         aMesh,
+                                               const TopoDS_Shape& aShape,
+                                               Hypothesis_Status&  aStatus);
   /*!
    * \brief Initialize my parameter values by the mesh built on the geometry
-    * \param theMesh - the built mesh
-    * \param theShape - the geometry of interest
-    * \retval bool - true if parameter values have been successfully defined
-    *
-    * Just return false as this hypothesis does not have parameters values
+   * \param theMesh - the built mesh
+   * \param theShape - the geometry of interest
+   * \retval bool - true if parameter values have been successfully defined
+   *
+   * Just return false as this hypothesis does not have parameters values
    */
   virtual bool SetParametersByMesh(const SMESH_Mesh* theMesh, const TopoDS_Shape& theShape);
 
@@ -65,6 +73,9 @@ public:
 
   static const char* GetHypType() { return "ViscousLayers2D"; }
 
+  static void SetProxyMeshOfEdge( const StdMeshers_FaceSide& edgeNodes );
+  static bool HasProxyMesh( const TopoDS_Face& face, SMESH_Mesh& theMesh );
+
  private:
 };