Salome HOME
IPAL21286 1D Meshing for the Forward and Reversed Edge are equal.
[modules/smesh.git] / src / StdMeshers / StdMeshers_Quadrangle_2D.hxx
index 18c1daeca8183eac0a60275544a92622b1d96c3e..25083af3209aaac942148aaea84dcdbe57b94db0 100644 (file)
@@ -65,6 +65,9 @@ public:
   virtual bool Compute(SMESH_Mesh& aMesh,
                       const TopoDS_Shape& aShape);
 
+  virtual bool Evaluate(SMESH_Mesh & aMesh, const TopoDS_Shape & aShape,
+                        MapShapeNbElems& aResMap);
+
   FaceQuadStruct* CheckAnd2Dcompute(SMESH_Mesh& aMesh,
                                    const TopoDS_Shape& aShape,
                                     const bool CreateQuadratic);
@@ -74,6 +77,12 @@ protected:
   FaceQuadStruct* CheckNbEdges(SMESH_Mesh& aMesh,
                                const TopoDS_Shape& aShape);
 
+  bool CheckNbEdgesForEvaluate(SMESH_Mesh& aMesh,
+                              const TopoDS_Shape & aShape,
+                              MapShapeNbElems& aResMap,
+                              std::vector<int>& aNbNodes,
+                               bool& IsQuadratic);
+
   bool SetNormalizedGrid(SMESH_Mesh& aMesh,
                         const TopoDS_Shape& aShape,
                         FaceQuadStruct*& quad);
@@ -89,10 +98,15 @@ protected:
    * Special function for creation only quandrangle faces
    */
   bool ComputeQuadPref(SMESH_Mesh& aMesh,
-                       
                        const TopoDS_Shape& aShape,
                        FaceQuadStruct* quad);
 
+  bool EvaluateQuadPref(SMESH_Mesh& aMesh,
+                       const TopoDS_Shape& aShape,
+                       std::vector<int>& aNbNodes,
+                       MapShapeNbElems& aResMap,
+                        bool IsQuadratic);
+
   UVPtStruct* LoadEdgePoints2(SMESH_Mesh& aMesh,
                              const TopoDS_Face& F, const TopoDS_Edge& E,
                               bool IsReverse);
@@ -107,11 +121,14 @@ protected:
 
   // true if QuadranglePreference hypothesis is assigned that forces
   // construction of quadrangles if the number of nodes on opposite edges
-  // is not the same in the case where the global number of nodes on edges is even
+  // is not the same in the case where the global number of nodes on edges
+  // is even
   bool myQuadranglePreference;
 
   bool myTrianglePreference;
 
+  int myTriaVertexID;
+
   SMESH_MesherHelper* myTool; // tool for working with quadratic elements
 };