From 0c5bb0e216e5da165d977b8567965a1972bfecb1 Mon Sep 17 00:00:00 2001 From: Thomas Toulorge <thomas.toulorge@mines-paristech.fr> Date: Tue, 4 Nov 2014 15:21:36 +0000 Subject: [PATCH] Modified blob creation in mesh quality optimizer to take "onlyValidity" parameter into account --- .../MeshQualityOptimizer.cpp | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/contrib/MeshQualityOptimizer/MeshQualityOptimizer.cpp b/contrib/MeshQualityOptimizer/MeshQualityOptimizer.cpp index 90794527f8..0c76ca9f93 100644 --- a/contrib/MeshQualityOptimizer/MeshQualityOptimizer.cpp +++ b/contrib/MeshQualityOptimizer/MeshQualityOptimizer.cpp @@ -27,6 +27,7 @@ struct QualPatchDefParameters : public MeshOptPatchDef virtual int inPatch(const SPoint3 &badBary, double limDist, MElement *el, GEntity* gEnt) const; private: + bool _onlyValidity; bool _excludeQuad, _excludeHex, _excludePrism, _excludeBL; double _idealJacMin, _invCondNumMin; double _distanceFactor; @@ -35,6 +36,7 @@ private: QualPatchDefParameters::QualPatchDefParameters(const MeshQualOptParameters &p) { + _onlyValidity = p.onlyValidity; _excludeQuad = p.excludeQuad; _excludeHex = p.excludeHex; _excludePrism = p.excludePrism; @@ -73,12 +75,16 @@ double QualPatchDefParameters::elBadness(MElement *el, GEntity* gEnt) const if (itBLEl != blc->_toFirst.end()) return 1.; } } -// double jMin, jMax; -// el->idealJacRange(jMin, jMax); -// return jMin-_idealJacMin; - double iCNMin, iCNMax; - el->signedInvCondNumRange(iCNMin, iCNMax); - return iCNMin-_invCondNumMin; + if (_onlyValidity) { + double jMin, jMax; + el->idealJacRange(jMin, jMax); + return jMin-_idealJacMin; + } + else { + double iCNMin, iCNMax; + el->signedInvCondNumRange(iCNMin, iCNMax); + return iCNMin-_invCondNumMin; + } } -- GitLab