From 26de875744965be69236e8cda568470dee683590 Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Sat, 19 Sep 2009 13:08:29 +0000 Subject: [PATCH] remove gmsh prefix from mesh classes --- Mesh/Generator.cpp | 2 +- Mesh/meshGFace.cpp | 26 +++++------ Mesh/meshGFaceBDS.cpp | 18 ++++---- Mesh/meshGFaceBDS.h | 12 ++--- Mesh/meshGFaceOptimize.cpp | 52 ++++++++++----------- Mesh/meshGFaceOptimize.h | 10 ++-- Mesh/meshGRegion.cpp | 2 +- Mesh/meshGRegionDelaunayInsertion.cpp | 20 ++++---- Mesh/meshGRegionDelaunayInsertion.h | 4 +- Mesh/meshGRegionLocalMeshMod.cpp | 66 ++++++++++++--------------- Mesh/meshGRegionLocalMeshMod.h | 38 +++++++-------- Mesh/qualityMeasures.cpp | 16 +++---- Mesh/qualityMeasures.h | 22 ++++----- 13 files changed, 139 insertions(+), 149 deletions(-) diff --git a/Mesh/Generator.cpp b/Mesh/Generator.cpp index d6735e1855..676cc757c7 100644 --- a/Mesh/Generator.cpp +++ b/Mesh/Generator.cpp @@ -425,7 +425,7 @@ static void Mesh2D(GModel *m) } } - // gmshCollapseSmallEdges (*m); + // collapseSmallEdges(*m); double t2 = Cpu(); CTX::instance()->meshTimer[1] = t2 - t1; diff --git a/Mesh/meshGFace.cpp b/Mesh/meshGFace.cpp index ed91872a29..7c3f6c60eb 100644 --- a/Mesh/meshGFace.cpp +++ b/Mesh/meshGFace.cpp @@ -584,18 +584,18 @@ static bool gmsh2DMeshGenerator(GFace *gf, int RECUR_ITER, int nb_swap; //outputScalarField(m->triangles, "beforeswop.pos",1); Msg::Debug("Delaunizing the initial mesh"); - gmshDelaunayizeBDS(gf, *m, nb_swap); + delaunayizeBDS(gf, *m, nb_swap); //outputScalarField(m->triangles, "afterswop.pos",0); Msg::Debug("Starting to add internal points"); // start mesh generation if(!algoDelaunay2D(gf)){ - gmshRefineMeshBDS(gf, *m, CTX::instance()->mesh.refineSteps, true, - &recoverMapInv); - gmshOptimizeMeshBDS(gf, *m, 2); - gmshRefineMeshBDS(gf, *m, CTX::instance()->mesh.refineSteps, false, - &recoverMapInv); - gmshOptimizeMeshBDS(gf, *m, 2); + refineMeshBDS(gf, *m, CTX::instance()->mesh.refineSteps, true, + &recoverMapInv); + optimizeMeshBDS(gf, *m, 2); + refineMeshBDS(gf, *m, CTX::instance()->mesh.refineSteps, false, + &recoverMapInv); + optimizeMeshBDS(gf, *m, 2); } computeMeshSizeFieldAccuracy(gf, *m, gf->meshStatistics.efficiency_index, @@ -670,7 +670,7 @@ static bool gmsh2DMeshGenerator(GFace *gf, int RECUR_ITER, delete m; if(gf->meshAttributes.recombine) - gmshRecombineIntoQuads(gf); + recombineIntoQuads(gf); computeElementShapes(gf, gf->meshStatistics.worst_element_shape, gf->meshStatistics.average_element_shape, @@ -1137,10 +1137,10 @@ static bool gmsh2DMeshGeneratorPeriodic(GFace *gf, bool debug = true) // start mesh generation if(!algoDelaunay2D(gf)){ - gmshRefineMeshBDS(gf, *m, CTX::instance()->mesh.refineSteps, true); - gmshOptimizeMeshBDS(gf, *m, 2); - gmshRefineMeshBDS (gf, *m, -CTX::instance()->mesh.refineSteps, false); - gmshOptimizeMeshBDS(gf, *m, 2, &recoverMap); + refineMeshBDS(gf, *m, CTX::instance()->mesh.refineSteps, true); + optimizeMeshBDS(gf, *m, 2); + refineMeshBDS(gf, *m, -CTX::instance()->mesh.refineSteps, false); + optimizeMeshBDS(gf, *m, 2, &recoverMap); // compute mesh statistics computeMeshSizeFieldAccuracy(gf, *m, gf->meshStatistics.efficiency_index, gf->meshStatistics.longest_edge_length, @@ -1212,7 +1212,7 @@ static bool gmsh2DMeshGeneratorPeriodic(GFace *gf, bool debug = true) delete m; if(gf->meshAttributes.recombine) - gmshRecombineIntoQuads(gf); + recombineIntoQuads(gf); computeElementShapes(gf, gf->meshStatistics.worst_element_shape, gf->meshStatistics.average_element_shape, diff --git a/Mesh/meshGFaceBDS.cpp b/Mesh/meshGFaceBDS.cpp index 2373738b48..4d2e507932 100644 --- a/Mesh/meshGFaceBDS.cpp +++ b/Mesh/meshGFaceBDS.cpp @@ -425,7 +425,7 @@ void swapEdgePass(GFace *gf, BDS_Mesh &m, int &nb_swap) } } -void gmshDelaunayizeBDS(GFace *gf, BDS_Mesh &m, int &nb_swap) +void delaunayizeBDS(GFace *gf, BDS_Mesh &m, int &nb_swap) { nb_swap = 0; std::set<swapquad> configs; @@ -640,9 +640,9 @@ void smoothVertexPass(GFace *gf, BDS_Mesh &m, int &nb_smooth, bool q) } } -void gmshRefineMeshBDS(GFace *gf, BDS_Mesh &m, const int NIT, - const bool computeNodalSizeField, - std::map<MVertex*, BDS_Point*> *recoverMapInv) +void refineMeshBDS(GFace *gf, BDS_Mesh &m, const int NIT, + const bool computeNodalSizeField, + std::map<MVertex*, BDS_Point*> *recoverMapInv) { int IT = 0; int MAXNP = m.MAXPOINTNUMBER; @@ -862,11 +862,11 @@ int gmshSolveInvalidPeriodic(GFace *gf, BDS_Mesh &m, return toSplit.size(); } -void gmshOptimizeMeshBDS(GFace *gf, BDS_Mesh &m, const int NIT, - std::map<BDS_Point*,MVertex*> *recoverMap=0) +void optimizeMeshBDS(GFace *gf, BDS_Mesh &m, const int NIT, + std::map<BDS_Point*,MVertex*> *recoverMap=0) { int nb_swap; - gmshDelaunayizeBDS(gf, m, nb_swap); + delaunayizeBDS(gf, m, nb_swap); for (int ITER = 0; ITER < 3; ITER++){ for (int KK = 0; KK < 4; KK++){ @@ -898,7 +898,7 @@ void delaunayPointInsertionBDS(GFace *gf, BDS_Mesh &m, BDS_Point *v, BDS_Face *f { m.split_face(f, v); int nb_swap = 0; - gmshDelaunayizeBDS(gf, m, nb_swap); + delaunayizeBDS(gf, m, nb_swap); } // build the BDS from a list of GFace @@ -936,7 +936,7 @@ BDS_Mesh *gmsh2BDS(std::list<GFace*> &l) return m; } -void gmshCollapseSmallEdges(GModel &gm) +void collapseSmallEdges(GModel &gm) { return; // gm.renumberMeshVertices(true); diff --git a/Mesh/meshGFaceBDS.h b/Mesh/meshGFaceBDS.h index ab408f73fd..f07ad1fedb 100644 --- a/Mesh/meshGFaceBDS.h +++ b/Mesh/meshGFaceBDS.h @@ -18,13 +18,13 @@ class BDS_Mesh; void computeMeshSizeFieldAccuracy(GFace *gf, BDS_Mesh &m, double &avg, double &max_e, double &min_e, int &nE, int &GS); -void gmshRefineMeshBDS(GFace *gf, BDS_Mesh &m, const int NIT, - const bool computeNodalSizeField, - std::map<MVertex*, BDS_Point*> *recoverMapInv=0); -void gmshOptimizeMeshBDS(GFace *gf, BDS_Mesh &m, const int NIT, +void refineMeshBDS(GFace *gf, BDS_Mesh &m, const int NIT, + const bool computeNodalSizeField, + std::map<MVertex*, BDS_Point*> *recoverMapInv=0); +void optimizeMeshBDS(GFace *gf, BDS_Mesh &m, const int NIT, std::map<BDS_Point*, MVertex*> *recoverMap=0); -void gmshDelaunayizeBDS(GFace *gf, BDS_Mesh &m, int &nb_swap); -void gmshCollapseSmallEdges(GModel &gm); +void delaunayizeBDS(GFace *gf, BDS_Mesh &m, int &nb_swap); +void collapseSmallEdges(GModel &gm); BDS_Mesh *gmsh2BDS(std::list<GFace*> &l); double computeEdgeLinearLength(BDS_Point *p1, BDS_Point *p2); void smoothVertexPass(GFace *gf, BDS_Mesh &m, int &nb_smooth, bool q); diff --git a/Mesh/meshGFaceOptimize.cpp b/Mesh/meshGFaceOptimize.cpp index c837123716..3ab08b3dae 100644 --- a/Mesh/meshGFaceOptimize.cpp +++ b/Mesh/meshGFaceOptimize.cpp @@ -375,10 +375,10 @@ void laplaceSmoothing(GFace *gf) } -bool gmshEdgeSwap(std::set<swapquad> &configs, MTri3 *t1, GFace *gf, int iLocalEdge, - std::vector<MTri3*> &newTris, const gmshSwapCriterion &cr, - const std::vector<double> &Us, const std::vector<double> &Vs, - const std::vector<double> &vSizes, const std::vector<double> &vSizesBGM) +bool edgeSwap(std::set<swapquad> &configs, MTri3 *t1, GFace *gf, int iLocalEdge, + std::vector<MTri3*> &newTris, const swapCriterion &cr, + const std::vector<double> &Us, const std::vector<double> &Vs, + const std::vector<double> &vSizes, const std::vector<double> &vSizesBGM) { MTri3 *t2 = t1->getNeigh(iLocalEdge); if(!t2) return false; @@ -539,10 +539,10 @@ inline double computeEdgeAdimLength(MVertex *v1, MVertex *v2, GFace *f, return 2 * (l1 + l2) / (vSizesBGM[v1->getIndex()] + vSizesBGM[v2->getIndex()]); } -bool gmshEdgeSplit(const double lMax, MTri3 *t1, GFace *gf, int iLocalEdge, - std::vector<MTri3*> &newTris, const gmshSplitCriterion &cr, - std::vector<double> &Us, std::vector<double> &Vs, - std::vector<double> &vSizes, std::vector<double> &vSizesBGM) +bool edgeSplit(const double lMax, MTri3 *t1, GFace *gf, int iLocalEdge, + std::vector<MTri3*> &newTris, const splitCriterion &cr, + std::vector<double> &Us, std::vector<double> &Vs, + std::vector<double> &vSizes, std::vector<double> &vSizesBGM) { MTri3 *t2 = t1->getNeigh(iLocalEdge); if(!t2) return false; @@ -698,9 +698,9 @@ void computeNeighboringTrisOfACavity(const std::vector<MTri3*> &cavity, } } -bool gmshBuildVertexCavity(MTri3 *t, int iLocalVertex, MVertex **v1, - std::vector<MTri3*> &cavity, std::vector<MTri3*> &outside, - std::vector<MVertex*> &ring) +bool buildVertexCavity(MTri3 *t, int iLocalVertex, MVertex **v1, + std::vector<MTri3*> &cavity, std::vector<MTri3*> &outside, + std::vector<MVertex*> &ring) { cavity.clear(); ring.clear(); @@ -747,17 +747,17 @@ bool gmshBuildVertexCavity(MTri3 *t, int iLocalVertex, MVertex **v1, } } -bool gmshVertexCollapse(const double lMin, MTri3 *t1, GFace *gf, - int iLocalVertex, std::vector<MTri3*> &newTris, - std::vector<double> &Us, std::vector<double> &Vs, - std::vector<double> &vSizes, std::vector<double> &vSizesBGM) +bool vertexCollapse(const double lMin, MTri3 *t1, GFace *gf, + int iLocalVertex, std::vector<MTri3*> &newTris, + std::vector<double> &Us, std::vector<double> &Vs, + std::vector<double> &vSizes, std::vector<double> &vSizesBGM) { MVertex *v; std::vector<MTri3*> cavity; std::vector<MTri3*> outside; std::vector<MVertex*> ring; - if(!gmshBuildVertexCavity(t1, iLocalVertex, &v, cavity, outside, ring)) return false; + if(!buildVertexCavity(t1, iLocalVertex, &v, cavity, outside, ring)) return false; double l_min = lMin; int iMin = -1; @@ -811,7 +811,7 @@ bool gmshVertexCollapse(const double lMin, MTri3 *t1, GFace *gf, } int edgeSwapPass(GFace *gf, std::set<MTri3*, compareTri3Ptr> &allTris, - const gmshSwapCriterion &cr, + const swapCriterion &cr, const std::vector<double> &Us, const std::vector<double> &Vs, const std::vector<double> &vSizes, const std::vector<double> &vSizesBGM) { @@ -825,7 +825,7 @@ int edgeSwapPass(GFace *gf, std::set<MTri3*, compareTri3Ptr> &allTris, for(CONTAINER::iterator it = allTris.begin(); it != allTris.end(); ++it){ if(!(*it)->isDeleted()){ for(int i = 0; i < 3; i++){ - if(gmshEdgeSwap(configs, *it, gf, i, newTris, cr, Us, Vs, vSizes, vSizesBGM)){ + if(edgeSwap(configs, *it, gf, i, newTris, cr, Us, Vs, vSizes, vSizesBGM)){ nbSwap++; break; } @@ -847,7 +847,7 @@ int edgeSwapPass(GFace *gf, std::set<MTri3*, compareTri3Ptr> &allTris, } int edgeSplitPass(double maxLC, GFace *gf, std::set<MTri3*,compareTri3Ptr> &allTris, - const gmshSplitCriterion &cr, + const splitCriterion &cr, std::vector<double> &Us, std::vector<double> &Vs, std::vector<double> &vSizes, std::vector<double> &vSizesBGM) { @@ -859,7 +859,7 @@ int edgeSplitPass(double maxLC, GFace *gf, std::set<MTri3*,compareTri3Ptr> &allT for(CONTAINER::iterator it = allTris.begin(); it != allTris.end(); ++it){ if(!(*it)->isDeleted()){ for(int i = 0; i < 3; i++){ - if(gmshEdgeSplit(maxLC, *it, gf, i, newTris, cr, Us, Vs, vSizes, vSizesBGM)) { + if(edgeSplit(maxLC, *it, gf, i, newTris, cr, Us, Vs, vSizes, vSizesBGM)) { nbSplit++; break; } @@ -891,7 +891,7 @@ int edgeCollapsePass(double minLC, GFace *gf, std::set<MTri3*,compareTri3Ptr> &a for(CONTAINER::reverse_iterator it = allTris.rbegin(); it != allTris.rend(); ++it){ if(!(*it)->isDeleted()){ for(int i = 0; i < 3; i++){ - if(gmshVertexCollapse(minLC, *it, gf, i, newTris, Us, Vs, vSizes, vSizesBGM)) { + if(vertexCollapse(minLC, *it, gf, i, newTris, Us, Vs, vSizes, vSizesBGM)) { nbCollapse++; break; } @@ -947,7 +947,7 @@ struct RecombineTriangle } }; -static void _gmshRecombineIntoQuads(GFace *gf) +static void _recombineIntoQuads(GFace *gf) { std::set<MVertex*> emb_edgeverts; { @@ -1027,12 +1027,12 @@ static void _gmshRecombineIntoQuads(GFace *gf) gf->triangles = triangles2; } -void gmshRecombineIntoQuads(GFace *gf) +void recombineIntoQuads(GFace *gf) { - _gmshRecombineIntoQuads(gf); + _recombineIntoQuads(gf); laplaceSmoothing(gf); - _gmshRecombineIntoQuads(gf); + _recombineIntoQuads(gf); laplaceSmoothing(gf); - _gmshRecombineIntoQuads(gf); + _recombineIntoQuads(gf); laplaceSmoothing(gf); } diff --git a/Mesh/meshGFaceOptimize.h b/Mesh/meshGFaceOptimize.h index 6c65013e6c..539e7abc80 100644 --- a/Mesh/meshGFaceOptimize.h +++ b/Mesh/meshGFaceOptimize.h @@ -24,19 +24,19 @@ void buildEdgeToTriangle(std::vector<MTriangle*> &, e2t_cont &adj); void laplaceSmoothing(GFace *gf); void edgeSwappingLawson(GFace *gf); -enum gmshSwapCriterion {SWCR_DEL, SWCR_QUAL, SWCR_NORM, SWCR_CLOSE}; -enum gmshSplitCriterion {SPCR_CLOSE, SPCR_QUAL, SPCR_ALLWAYS}; +enum swapCriterion {SWCR_DEL, SWCR_QUAL, SWCR_NORM, SWCR_CLOSE}; +enum splitCriterion {SPCR_CLOSE, SPCR_QUAL, SPCR_ALLWAYS}; int edgeSwapPass(GFace *gf, std::set<MTri3*, compareTri3Ptr> &allTris, - const gmshSwapCriterion &cr, + const swapCriterion &cr, const std::vector<double> &Us, const std::vector<double> &Vs, const std::vector<double> &vSizes, const std::vector<double> &vSizesBGM); int edgeSplitPass(double maxLC, GFace *gf, std::set<MTri3*, compareTri3Ptr> &allTris, - const gmshSplitCriterion &cr, + const splitCriterion &cr, std::vector<double> &Us, std::vector<double> &Vs, std::vector<double> &vSizes , @@ -57,7 +57,7 @@ void buildMeshGenerationDataStructures(GFace *gf, std::vector<double> &Vs); void transferDataStructure(GFace *gf, std::set<MTri3*, compareTri3Ptr> &AllTris, std::vector<double> &Us, std::vector<double> &Vs); -void gmshRecombineIntoQuads(GFace *gf); +void recombineIntoQuads(GFace *gf); struct swapquad{ int v[4]; diff --git a/Mesh/meshGRegion.cpp b/Mesh/meshGRegion.cpp index f0fd73a19b..fbd1c2ba5f 100644 --- a/Mesh/meshGRegion.cpp +++ b/Mesh/meshGRegion.cpp @@ -665,7 +665,7 @@ void optimizeMeshGRegionGmsh::operator() (GRegion *gr) if(ep && ep->mesh.ExtrudeMesh && ep->geo.Mode == EXTRUDED_ENTITY) return; Msg::StatusBar(2, true, "Optimizing volume %d", gr->tag()); - gmshOptimizeMesh(gr, QMTET_2); + optimizeMesh(gr, QMTET_2); } bool buildFaceSearchStructure(GModel *model, fs_cont &search) diff --git a/Mesh/meshGRegionDelaunayInsertion.cpp b/Mesh/meshGRegionDelaunayInsertion.cpp index ade5b52d48..1bcbfe3e23 100644 --- a/Mesh/meshGRegionDelaunayInsertion.cpp +++ b/Mesh/meshGRegionDelaunayInsertion.cpp @@ -348,7 +348,7 @@ void recur_classify(MTet4 *t, std::list<MTet4*> &theRegion, void adaptMeshGRegion::operator () (GRegion *gr) { - const gmshQualityMeasure4Tet qm = QMTET_2; + const qualityMeasure4Tet qm = QMTET_2; typedef std::list<MTet4 *> CONTAINER ; CONTAINER allTets; @@ -405,7 +405,7 @@ void adaptMeshGRegion::operator () (GRegion *gr) if (!(*it)->isDeleted()){ for (int i = 0; i < 4; i++){ for (int j = 0; j < 4; j++){ - if (gmshCollapseVertex(newTets, *it, i, j, QMTET_2)){ + if (collapseVertex(newTets, *it, i, j, QMTET_2)){ nbCollapse++; i = j = 10; } } @@ -420,7 +420,7 @@ void adaptMeshGRegion::operator () (GRegion *gr) double qq = (*it)->getQuality(); if (qq < qMin){ for (int i = 0; i < 4; i++){ - if (gmshFaceSwap(newTets, *it, i, qm)){ + if (faceSwap(newTets, *it, i, qm)){ nbFSwap++; break; } @@ -437,7 +437,7 @@ void adaptMeshGRegion::operator () (GRegion *gr) double qq = (*it)->getQuality(); if (qq < qMin) for (int i = 0; i < 6; i++){ - if (gmshEdgeSwap(newTets, *it, i, qm)) { + if (edgeSwap(newTets, *it, i, qm)) { nbESwap++; break; } @@ -472,7 +472,7 @@ void adaptMeshGRegion::operator () (GRegion *gr) double qq = (*it)->getQuality(); if (qq < qMin) for (int i = 0; i < 4; i++){ - if (gmshSmoothVertex(*it, i, qm)) nbReloc++; + if (smoothVertex(*it, i, qm)) nbReloc++; } } } @@ -529,7 +529,7 @@ void adaptMeshGRegion::operator () (GRegion *gr) } //template <class CONTAINER, class DATA> -void gmshOptimizeMesh(GRegion *gr, const gmshQualityMeasure4Tet &qm) +void optimizeMesh(GRegion *gr, const qualityMeasure4Tet &qm) { typedef std::list<MTet4 *> CONTAINER ; CONTAINER allTets; @@ -589,7 +589,7 @@ void gmshOptimizeMesh(GRegion *gr, const gmshQualityMeasure4Tet &qm) double qq = (*it)->getQuality(); if (qq < qMin){ for (int i = 0; i < 4; i++){ - if (gmshFaceSwap(newTets, *it, i, qm)){ + if (faceSwap(newTets, *it, i, qm)){ nbFSwap++; break; } @@ -606,7 +606,7 @@ void gmshOptimizeMesh(GRegion *gr, const gmshQualityMeasure4Tet &qm) double qq = (*it)->getQuality(); if (qq < qMin) for (int i = 0; i < 6; i++){ - if (gmshEdgeSwap(newTets, *it, i, qm)) { + if (edgeSwap(newTets, *it, i, qm)) { nbESwap++; break; } @@ -627,7 +627,7 @@ void gmshOptimizeMesh(GRegion *gr, const gmshQualityMeasure4Tet &qm) int nbSliversWeCanDoSomething = 0; for(unsigned int i = 0; i < illegals.size(); i++) if(!(illegals[i]->isDeleted())){ - if(gmshSliverRemoval(newTets, illegals[i], qm)) + if(sliverRemoval(newTets, illegals[i], qm)) nbSliversWeCanDoSomething++; nbSlivers++; } @@ -655,7 +655,7 @@ void gmshOptimizeMesh(GRegion *gr, const gmshQualityMeasure4Tet &qm) double qq = (*it)->getQuality(); if (qq < qMin) for (int i = 0; i < 4; i++){ - if (gmshSmoothVertex(*it, i, qm)) nbReloc++; + if (smoothVertex(*it, i, qm)) nbReloc++; } } } diff --git a/Mesh/meshGRegionDelaunayInsertion.h b/Mesh/meshGRegionDelaunayInsertion.h index 9d3e4c10ac..3fa4b4476e 100644 --- a/Mesh/meshGRegionDelaunayInsertion.h +++ b/Mesh/meshGRegionDelaunayInsertion.h @@ -66,7 +66,7 @@ class MTet4 { neigh[0] = neigh[1] = neigh[2] = neigh[3] = 0; } - MTet4(MTetrahedron *t, const gmshQualityMeasure4Tet &qm) + MTet4(MTetrahedron *t, const qualityMeasure4Tet &qm) : deleted(false), base(t), gr(0) { neigh[0] = neigh[1] = neigh[2] = neigh[3] = 0; @@ -256,6 +256,6 @@ class MTet4Factory container &getAllTets(){ return allTets; } }; -void gmshOptimizeMesh(GRegion *gr, const gmshQualityMeasure4Tet &qm); +void optimizeMesh(GRegion *gr, const qualityMeasure4Tet &qm); #endif diff --git a/Mesh/meshGRegionLocalMeshMod.cpp b/Mesh/meshGRegionLocalMeshMod.cpp index 7f9abd4d5a..48ac88822f 100644 --- a/Mesh/meshGRegionLocalMeshMod.cpp +++ b/Mesh/meshGRegionLocalMeshMod.cpp @@ -201,10 +201,10 @@ void BuildSwapPattern7(SwapPattern *sc) sc->trianguls = trgul ; } -bool gmshEdgeSwap(std::vector<MTet4 *> &newTets, - MTet4 *tet, - int iLocalEdge, - const gmshQualityMeasure4Tet &cr) +bool edgeSwap(std::vector<MTet4 *> &newTets, + MTet4 *tet, + int iLocalEdge, + const qualityMeasure4Tet &cr) { std::vector<MTet4*> cavity; std::vector<MTet4*> outside; @@ -309,11 +309,8 @@ bool gmshEdgeSwap(std::vector<MTet4 *> &newTets, return true; } -bool gmshEdgeSplit(std::vector<MTet4 *> &newTets, - MTet4 *tet, - MVertex *newVertex, - int iLocalEdge, - const gmshQualityMeasure4Tet &cr) +bool edgeSplit(std::vector<MTet4 *> &newTets, MTet4 *tet, MVertex *newVertex, + int iLocalEdge, const qualityMeasure4Tet &cr) { std::vector<MTet4*> cavity; std::vector<MTet4*> outside; @@ -346,10 +343,8 @@ bool gmshEdgeSplit(std::vector<MTet4 *> &newTets, } // swap a face i.e. remove a face shared by 2 tets -bool gmshFaceSwap(std::vector<MTet4 *> &newTets, - MTet4 *t1, - int iLocalFace, - const gmshQualityMeasure4Tet &cr) +bool faceSwap(std::vector<MTet4 *> &newTets, MTet4 *t1, int iLocalFace, + const qualityMeasure4Tet &cr) { MTet4 *t2 = t1->getNeigh(iLocalFace); if (!t2) return false; @@ -478,9 +473,8 @@ void gmshBuildVertexCavity_recur(MTet4 *t, // another one (of course, not the other one on the unswappable edge) // after that crap, the sliver is trashed -bool gmshSliverRemoval(std::vector<MTet4*> &newTets, - MTet4 *t, - const gmshQualityMeasure4Tet &cr) +bool sliverRemoval(std::vector<MTet4*> &newTets, MTet4 *t, + const qualityMeasure4Tet &cr) { std::vector<MTet4*> cavity; std::vector<MTet4*> outside; @@ -506,7 +500,7 @@ bool gmshSliverRemoval(std::vector<MTet4*> &newTets, else if (nbSwappable == 1){ // classical case, the sliver has 5 edges on the boundary // try to swap first - if (gmshEdgeSwap(newTets,t,iSwappable,QMTET_3))return true; + if (edgeSwap(newTets,t,iSwappable,QMTET_3))return true; // if it does not work, split, smooth and collapse MVertex *v1 = t->tet()->getVertex(edges[iSwappable][0]); MVertex *v2 = t->tet()->getVertex(edges[iSwappable][1]); @@ -515,11 +509,11 @@ bool gmshSliverRemoval(std::vector<MTet4*> &newTets, 0.5 * (v1->z() + v2->z()), t->onWhat()); t->onWhat()->mesh_vertices.push_back(newv); - if (!gmshEdgeSplit(newTets, t, newv, iSwappable, QMTET_ONE)) return false; + if (!edgeSplit(newTets, t, newv, iSwappable, QMTET_ONE)) return false; for (int i = 0; i < 4; i++){ if (newTets[newTets.size() - 1]->tet()->getVertex(i) == newv){ - gmshSmoothVertex(newTets[newTets.size() - 1], i, cr); - gmshSmoothVertexOptimize (newTets[newTets.size() - 1], i, cr); + smoothVertex(newTets[newTets.size() - 1], i, cr); + smoothVertexOptimize(newTets[newTets.size() - 1], i, cr); } } @@ -531,11 +525,11 @@ bool gmshSliverRemoval(std::vector<MTet4*> &newTets, MVertex *vb = new_t->tet()->getVertex(edges[j][1]); if (va == newv && (va != v1 && vb != v1 && va != v2 && vb != v2)){ - gmshCollapseVertex(newTets,new_t,edges[j][0],edges[j][1],cr); + collapseVertex(newTets,new_t,edges[j][0],edges[j][1],cr); } else if (vb == newv && (va != v1 && vb != v1 && va != v2 && vb != v2)){ - gmshCollapseVertex(newTets,new_t,edges[j][1],edges[j][0],cr); + collapseVertex(newTets,new_t,edges[j][1],edges[j][0],cr); } } } @@ -544,19 +538,19 @@ bool gmshSliverRemoval(std::vector<MTet4*> &newTets, } else{ for (int i = 0; i < 4; i++){ - gmshSmoothVertex(t, i, cr); - gmshSmoothVertexOptimize(t, i, cr); + smoothVertex(t, i, cr); + smoothVertexOptimize(t, i, cr); } } return false; } -bool gmshCollapseVertex(std::vector<MTet4 *> &newTets, +bool collapseVertex(std::vector<MTet4 *> &newTets, MTet4 *t, int iVertex, int iTarget, - const gmshQualityMeasure4Tet &cr, - const gmshLocalMeshModAction action, + const qualityMeasure4Tet &cr, + const localMeshModAction action, double *minQual) { if(t->isDeleted()){ @@ -647,9 +641,7 @@ bool gmshCollapseVertex(std::vector<MTet4 *> &newTets, return true; } -bool gmshSmoothVertex(MTet4 *t, - int iVertex, - const gmshQualityMeasure4Tet &cr) +bool smoothVertex(MTet4 *t, int iVertex, const qualityMeasure4Tet &cr) { if(t->isDeleted()){ Msg::Error("Impossible to collapse vertex"); @@ -712,7 +704,7 @@ bool gmshSmoothVertex(MTet4 *t, t->tet()->getVertex(iVertex)->x() = x; t->tet()->getVertex(iVertex)->y() = y; t->tet()->getVertex(iVertex)->z() = z; - return false;//gmshSmoothVertexOptimize (t, iVertex, cr); + return false; // smoothVertexOptimize(t, iVertex, cr); } else{ // restore new quality @@ -777,9 +769,7 @@ double smooth_obj_3D(double *XYZ, void *data) return smoothing_objective_function_3D(XYZ[0], XYZ[1], XYZ[2], svd->v, svd->ts); } -bool gmshSmoothVertexOptimize(MTet4 *t, - int iVertex, - const gmshQualityMeasure4Tet &cr) +bool smoothVertexOptimize(MTet4 *t, int iVertex, const qualityMeasure4Tet &cr) { if(t->tet()->getVertex(iVertex)->onWhat()->dim() < 3) return false; @@ -853,7 +843,7 @@ bool gmshSmoothVertexOptimize(MTet4 *t, // MVertex* v4, // MVertex* v5, // MVertex* v6, -// const gmshQualityMeasure4Tet &cr, +// const qualityMeasure4Tet &cr, // MVertex *res[4], // fs_cont &search, // GFace *fakeFace){ @@ -863,7 +853,7 @@ bool gmshSmoothVertexOptimize(MTet4 *t, // MVertex* newv2, // MVertex* v21, // MVertex* v11, -// const gmshQualityMeasure4Tet &cr, +// const qualityMeasure4Tet &cr, // MVertex *res[4], // fs_cont &search, // GFace *fakeFace){ @@ -916,7 +906,7 @@ bool gmshSmoothVertexOptimize(MTet4 *t, // MVertex* v21, // MVertex* v11, // MVertex* other, -// const gmshQualityMeasure4Tet &cr, +// const qualityMeasure4Tet &cr, // fs_cont &search, // GFace *fakeFace){ // MTetrahedron *tr3,*tr4; @@ -963,7 +953,7 @@ bool gmshSmoothVertexOptimize(MTet4 *t, // int nbEdges, // int e[6], // MVertex* pts[6], -// const gmshQualityMeasure4Tet &cr, +// const qualityMeasure4Tet &cr, // fs_cont &search, // GFace *fakeFace){ // switch(nbEdges){ diff --git a/Mesh/meshGRegionLocalMeshMod.h b/Mesh/meshGRegionLocalMeshMod.h index bebec4ea24..55744e64e1 100644 --- a/Mesh/meshGRegionLocalMeshMod.h +++ b/Mesh/meshGRegionLocalMeshMod.h @@ -13,31 +13,31 @@ // the "bulk" of the mesh and cannot be applied to boudnaries. I'm // working on it -enum gmshLocalMeshModAction {GMSH_DOIT, GMSH_EVALONLY}; +enum localMeshModAction {GMSH_DOIT, GMSH_EVALONLY}; -bool gmshEdgeSwap(std::vector<MTet4*> &newTets, MTet4 *tet, - int iLocalEdge, const gmshQualityMeasure4Tet &cr); +bool edgeSwap(std::vector<MTet4*> &newTets, MTet4 *tet, + int iLocalEdge, const qualityMeasure4Tet &cr); -bool gmshFaceSwap(std::vector<MTet4*> &newTets, MTet4 *tet, - int iLocalFace, const gmshQualityMeasure4Tet &cr); +bool faceSwap(std::vector<MTet4*> &newTets, MTet4 *tet, + int iLocalFace, const qualityMeasure4Tet &cr); -bool gmshSmoothVertex(MTet4 *t, int iLocalVertex, - const gmshQualityMeasure4Tet &cr); +bool smoothVertex(MTet4 *t, int iLocalVertex, + const qualityMeasure4Tet &cr); -bool gmshSmoothVertexOptimize(MTet4 *t, int iVertex, - const gmshQualityMeasure4Tet &cr); +bool smoothVertexOptimize(MTet4 *t, int iVertex, + const qualityMeasure4Tet &cr); -bool gmshCollapseVertex(std::vector<MTet4*> &newTets, MTet4 *t, - int iVertex, int iTarget, - const gmshQualityMeasure4Tet &cr, - const gmshLocalMeshModAction = GMSH_DOIT, - double *result = 0); +bool collapseVertex(std::vector<MTet4*> &newTets, MTet4 *t, + int iVertex, int iTarget, + const qualityMeasure4Tet &cr, + const localMeshModAction = GMSH_DOIT, + double *result = 0); -bool gmshEdgeSplit(std::vector<MTet4*> &newTets, MTet4 *tet, - MVertex *newVertex, int iLocalEdge, - const gmshQualityMeasure4Tet &cr); +bool egeSplit(std::vector<MTet4*> &newTets, MTet4 *tet, + MVertex *newVertex, int iLocalEdge, + const qualityMeasure4Tet &cr); -bool gmshSliverRemoval(std::vector<MTet4*> &newTets, MTet4 *t, - const gmshQualityMeasure4Tet &cr); +bool sliverRemoval(std::vector<MTet4*> &newTets, MTet4 *t, + const qualityMeasure4Tet &cr); #endif diff --git a/Mesh/qualityMeasures.cpp b/Mesh/qualityMeasures.cpp index 12d2582611..c35eb72848 100644 --- a/Mesh/qualityMeasures.cpp +++ b/Mesh/qualityMeasures.cpp @@ -13,25 +13,25 @@ #include "GmshMessage.h" double qmTriangle(const BDS_Point *p1, const BDS_Point *p2, const BDS_Point *p3, - const gmshQualityMeasure4Triangle &cr) + const qualityMeasure4Triangle &cr) { return qmTriangle(p1->X, p1->Y, p1->Z, p2->X, p2->Y, p2->Z, p3->X, p3->Y, p3->Z, cr); } -double qmTriangle(BDS_Face *t, const gmshQualityMeasure4Triangle &cr) +double qmTriangle(BDS_Face *t, const qualityMeasure4Triangle &cr) { BDS_Point *n[4]; t->getNodes(n); return qmTriangle(n[0], n[1], n[2], cr); } -double qmTriangle(MTriangle*t, const gmshQualityMeasure4Triangle &cr) +double qmTriangle(MTriangle*t, const qualityMeasure4Triangle &cr) { return qmTriangle(t->getVertex(0), t->getVertex(1), t->getVertex(2), cr); } double qmTriangle(const MVertex *v1, const MVertex *v2, const MVertex *v3, - const gmshQualityMeasure4Triangle &cr) + const qualityMeasure4Triangle &cr) { return qmTriangle(v1->x(), v1->y(), v1->z(), v2->x(), v2->y(), v2->z(), v3->x(), v3->y(), v3->z(), cr); @@ -43,7 +43,7 @@ double qmTriangle(const MVertex *v1, const MVertex *v2, const MVertex *v3, double qmTriangle(const double &xa, const double &ya, const double &za, const double &xb, const double &yb, const double &zb, const double &xc, const double &yc, const double &zc, - const gmshQualityMeasure4Triangle &cr) + const qualityMeasure4Triangle &cr) { double quality; switch(cr){ @@ -86,14 +86,14 @@ double qmTriangle(const double &xa, const double &ya, const double &za, return quality; } -double qmTet(MTetrahedron *t, const gmshQualityMeasure4Tet &cr, double *volume) +double qmTet(MTetrahedron *t, const qualityMeasure4Tet &cr, double *volume) { return qmTet(t->getVertex(0), t->getVertex(1), t->getVertex(2), t->getVertex(3), cr, volume); } double qmTet(const MVertex *v1, const MVertex *v2, const MVertex *v3, - const MVertex *v4, const gmshQualityMeasure4Tet &cr, double *volume) + const MVertex *v4, const qualityMeasure4Tet &cr, double *volume) { return qmTet(v1->x(), v1->y(), v1->z(), v2->x(), v2->y(), v2->z(), v3->x(), v3->y(), v3->z(), v4->x(), v4->y(), v4->z(), cr, volume); @@ -103,7 +103,7 @@ double qmTet(const double &x1, const double &y1, const double &z1, const double &x2, const double &y2, const double &z2, const double &x3, const double &y3, const double &z3, const double &x4, const double &y4, const double &z4, - const gmshQualityMeasure4Tet &cr, double *volume) + const qualityMeasure4Tet &cr, double *volume) { switch(cr){ case QMTET_ONE: diff --git a/Mesh/qualityMeasures.h b/Mesh/qualityMeasures.h index 5b8232879c..0daf095b50 100644 --- a/Mesh/qualityMeasures.h +++ b/Mesh/qualityMeasures.h @@ -13,31 +13,31 @@ class MTriangle; class MTetrahedron; class MElement; -enum gmshQualityMeasure4Triangle {QMTRI_RHO, QMTRI_COND}; -enum gmshQualityMeasure4Tet{QMTET_1, QMTET_2, QMTET_3, QMTET_ONE, QMTET_COND}; +enum qualityMeasure4Triangle {QMTRI_RHO, QMTRI_COND}; +enum qualityMeasure4Tet{QMTET_1, QMTET_2, QMTET_3, QMTET_ONE, QMTET_COND}; double qmDistorsionOfMapping (MTriangle *e); double qmDistorsionOfMapping (MTetrahedron *e); -double qmTriangle(MTriangle *f, const gmshQualityMeasure4Triangle &cr); -double qmTriangle(BDS_Face *f, const gmshQualityMeasure4Triangle &cr); +double qmTriangle(MTriangle *f, const qualityMeasure4Triangle &cr); +double qmTriangle(BDS_Face *f, const qualityMeasure4Triangle &cr); double qmTriangle(const BDS_Point *p1, const BDS_Point *p2, const BDS_Point *p3, - const gmshQualityMeasure4Triangle &cr); + const qualityMeasure4Triangle &cr); double qmTriangle(const MVertex *v1, const MVertex *v2, const MVertex *v3, - const gmshQualityMeasure4Triangle &cr); + const qualityMeasure4Triangle &cr); double qmTriangle(const double *d1, const double *d2, const double *d3, - const gmshQualityMeasure4Triangle &cr); + const qualityMeasure4Triangle &cr); double qmTriangle(const double &x1, const double &y1, const double &z1, const double &x2, const double &y2, const double &z2, const double &x3, const double &y3, const double &z3, - const gmshQualityMeasure4Triangle &cr); -double qmTet(MTetrahedron *t, const gmshQualityMeasure4Tet &cr, double *volume = 0); + const qualityMeasure4Triangle &cr); +double qmTet(MTetrahedron *t, const qualityMeasure4Tet &cr, double *volume = 0); double qmTet(const MVertex *v1, const MVertex *v2, const MVertex *v3, - const MVertex *v4, const gmshQualityMeasure4Tet &cr, double *volume = 0); + const MVertex *v4, const qualityMeasure4Tet &cr, double *volume = 0); double qmTet(const double &x1, const double &y1, const double &z1, const double &x2, const double &y2, const double &z2, const double &x3, const double &y3, const double &z3, const double &x4, const double &y4, const double &z4, - const gmshQualityMeasure4Tet &cr, double *volume = 0); + const qualityMeasure4Tet &cr, double *volume = 0); #endif -- GitLab