- void SetNormalizedGrid(SMESH_Mesh& aMesh,
- const TopoDS_Shape& aShape,
- FaceQuadStruct* quad)
- throw (SALOME_Exception);
-
- UVPtStruct* LoadEdgePoints(SMESH_Mesh& aMesh,
- const TopoDS_Face& F, const TopoDS_Edge& E,
- double first, double last);
-
- UVPtStruct* MakeEdgePoints(SMESH_Mesh& aMesh,
- const TopoDS_Face& F, const TopoDS_Edge& E,
- double first, double last, int nb_segm);
+ bool checkNbEdgesForEvaluate(SMESH_Mesh& aMesh,
+ const TopoDS_Shape & aShape,
+ MapShapeNbElems& aResMap,
+ std::vector<int>& aNbNodes,
+ bool& IsQuadratic);
+
+ bool setNormalizedGrid(SMESH_Mesh& aMesh,
+ const TopoDS_Face& aFace,
+ FaceQuadStruct::Ptr& quad);
+
+ void splitQuad(SMESHDS_Mesh *theMeshDS,
+ const int theFaceID,
+ const SMDS_MeshNode* theNode1,
+ const SMDS_MeshNode* theNode2,
+ const SMDS_MeshNode* theNode3,
+ const SMDS_MeshNode* theNode4);
+
+ bool computeQuadDominant(SMESH_Mesh& aMesh,
+ const TopoDS_Face& aFace,
+ FaceQuadStruct::Ptr quad);
+
+ bool computeQuadPref(SMESH_Mesh& aMesh,
+ const TopoDS_Face& aFace,
+ FaceQuadStruct::Ptr quad);
+
+ bool evaluateQuadPref(SMESH_Mesh& aMesh,
+ const TopoDS_Shape& aShape,
+ std::vector<int>& aNbNodes,
+ MapShapeNbElems& aResMap,
+ bool isQuadratic);
+
+ bool computeReduced (SMESH_Mesh& aMesh,
+ const TopoDS_Face& aFace,
+ FaceQuadStruct::Ptr quad);
+
+ void updateDegenUV(FaceQuadStruct::Ptr quad);
+
+ void smooth (FaceQuadStruct::Ptr quad);
+
+ int getCorners(const TopoDS_Face& theFace,
+ SMESH_Mesh & theMesh,
+ std::list<TopoDS_Edge>& theWire,
+ std::vector<TopoDS_Vertex>& theVertices,
+ int & theNbDegenEdges,
+ const bool considerMesh);
+
+
+ // 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
+ bool myQuadranglePreference;
+ bool myTrianglePreference;
+ int myTriaVertexID;
+ bool myNeedSmooth;
+
+ StdMeshers_QuadType myQuadType;
+ SMESH_MesherHelper* myHelper; // tool for working with quadratic elements
+ SMESH_ProxyMesh::Ptr myProxyMesh;
+ FaceQuadStruct::Ptr myQuadStruct;