Skip to content
Snippets Groups Projects
Commit d8a8d47c authored by Thomas Toulorge's avatar Thomas Toulorge
Browse files

Changed mesh optimizers to work with std::vector<GEntity*> in addition to GModel

parent ccd5d14f
No related branches found
No related tags found
No related merge requests found
......@@ -790,7 +790,7 @@ int HOPatchDefParameters::inPatch(const SPoint3 &badBary,
}
void HighOrderMeshOptimizerNew(GModel *gm, OptHomParameters &p)
void HighOrderMeshOptimizerNew(std::vector<GEntity*> &entities, OptHomParameters &p)
{
Msg::StatusBar(true, "Optimizing high order mesh...");
......@@ -849,7 +849,7 @@ void HighOrderMeshOptimizerNew(GModel *gm, OptHomParameters &p)
par.pass.push_back(maxCADDistPass);
}
meshOptimizer(gm, par);
meshOptimizer(entities, par);
p.CPU = par.CPU;
p.minJac = minMaxJacBarFunc.getMin();
......@@ -857,3 +857,11 @@ void HighOrderMeshOptimizerNew(GModel *gm, OptHomParameters &p)
Msg::StatusBar(true, "Done optimizing high order mesh (%g s)", p.CPU);
}
void HighOrderMeshOptimizerNew(GModel *gm, OptHomParameters &p)
{
std::vector<GEntity*> entities;
gm->getEntities(entities);
HighOrderMeshOptimizerNew(entities, p);
}
......@@ -687,7 +687,7 @@ void optimizeOneByOne(const vertElVecMap &vertex2elements,
#endif
void meshOptimizer(GModel *gm, MeshOptParameters &par)
void meshOptimizer(std::vector<GEntity*> &entities, MeshOptParameters &par)
{
#if defined(HAVE_BFGS)
if (par.nCurses)
......@@ -709,9 +709,6 @@ void meshOptimizer(GModel *gm, MeshOptParameters &par)
}
if (par.verbose > 0) Msg::StatusBar(true, "Optimizing mesh...");
std::vector<GEntity*> entities;
gm->getEntities(entities);
vertElVecMap vertex2elements;
elEntMap element2entity, bndEl2Ent;
elElMap el2BndEl;
......
......@@ -31,11 +31,11 @@
#define _MESHOPTIMIZER_H_
class GModel;
class GEntity;
class MeshOptParameters;
void meshOptimizer(GModel *gm, MeshOptParameters &par);
void meshOptimizer(std::vector<GEntity*> &entities, MeshOptParameters &par);
#endif
......@@ -4,6 +4,7 @@
#include "GEntity.h"
#include "GFace.h"
#include "GRegion.h"
#include "GModel.h"
#include "MElement.h"
#include "MTriangle.h"
#include "MQuadrangle.h"
......@@ -117,7 +118,7 @@ int QualPatchDefParameters::inPatch(const SPoint3 &badBary, double limDist,
}
void MeshQualityOptimizer(GModel *gm, MeshQualOptParameters &p)
void MeshQualityOptimizer(std::vector<GEntity*> &entities, MeshQualOptParameters &p)
{
Msg::StatusBar(true, "Optimizing mesh quality...");
......@@ -160,7 +161,7 @@ void MeshQualityOptimizer(GModel *gm, MeshQualOptParameters &p)
par.pass.push_back(minInvCondNumPass);
}
meshOptimizer(gm, par);
meshOptimizer(entities, par);
p.CPU = par.CPU;
if (p.onlyValidity) {
......@@ -172,3 +173,11 @@ void MeshQualityOptimizer(GModel *gm, MeshQualOptParameters &p)
p.maxInvCondNum = minInvCondNumBarFunc.getMax();
}
}
void MeshQualityOptimizer(GModel *gm, MeshQualOptParameters &p)
{
std::vector<GEntity*> entities;
gm->getEntities(entities);
MeshQualityOptimizer(entities, p);
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment