const bool CreateQuadratic);
FaceQuadStruct::Ptr CheckNbEdges(SMESH_Mesh& aMesh,
- const TopoDS_Shape& aShape);
+ const TopoDS_Shape& aShape,
+ const bool considerMesh=false);
protected:
- bool CheckNbEdgesForEvaluate(SMESH_Mesh& aMesh,
+ 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,
+ bool setNormalizedGrid(SMESH_Mesh& aMesh,
+ const TopoDS_Face& aFace,
FaceQuadStruct::Ptr& quad);
- void SplitQuad(SMESHDS_Mesh *theMeshDS,
+ 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 ComputeQuadPref(SMESH_Mesh& aMesh,
- const TopoDS_Shape& aShape,
+ 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,
+ bool evaluateQuadPref(SMESH_Mesh& aMesh,
const TopoDS_Shape& aShape,
std::vector<int>& aNbNodes,
MapShapeNbElems& aResMap,
bool isQuadratic);
- bool ComputeReduced (SMESH_Mesh& aMesh,
- const TopoDS_Shape& aShape,
+ bool computeReduced (SMESH_Mesh& aMesh,
+ const TopoDS_Face& aFace,
FaceQuadStruct::Ptr quad);
- void UpdateDegenUV(FaceQuadStruct::Ptr quad);
+ void updateDegenUV(FaceQuadStruct::Ptr quad);
+
+ void smooth (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
// 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;
};