0020721: EDF 1233 SMESH : Crash/bad behavior of 'Convert linear Quadratic with Medium Nodes on Geometry' feature with BLSurf/Ghs3D
* Fix GetNodeUV() for the case of surface both U and V periodic.
* Protect QFace::GetBoundaryLink() from infinite recursion.
* Protect QFace::GetLinkChain() from stack overflow.
+ * \brief Check if the shape set through IsQuadraticSubMesh() or SetSubShape()
+ * has a degenerated edges
+ * \retval bool - true if it has
+ */
+ bool HasDegenenaratedEdges() const { return !myDegenShapeIds.empty(); }
SMESH_MesherHelper:
- void SetCheckNodePosition(bool toCheck) { myCheckNodePos = toCheck; }
/*!
+ * \brief Check and fix node UV on a face
+ * \retval bool - false if UV is bad and could not be fixed
+ */
+ bool CheckNodeUV(const TopoDS_Face& F,
+ const SMDS_MeshNode* n,
+ gp_XY& uv,
+ const double tol) const;
- bool myCheckNodePos;
+ std::set< int > myOkNodePosShapes;
/*!
+ * \brief Move medium nodes of faces and volumes to fix distorted elements
+ * \param volumeOnly - fix nodes on faces or not if the shape is solid
+ */
+ void FixQuadraticElements(bool volumeOnly=true);