diff --git a/src/mesh/meshGFace.cpp b/src/mesh/meshGFace.cpp index c7e9b47c44f3e4b94c0a907bd650017eb7bf5caa..12319f286d1deff1155defb697e02ba43894094b 100644 --- a/src/mesh/meshGFace.cpp +++ b/src/mesh/meshGFace.cpp @@ -490,23 +490,6 @@ static void copyMesh(GFace *source, GFace *target) } } -void fourthPoint(double *p1, double *p2, double *p3, double *p4) -{ - double c[3]; - circumCenterXYZ(p1, p2, p3, c); - double vx[3] = {p2[0] - p1[0], p2[1] - p1[1], p2[2] - p1[2]}; - double vy[3] = {p3[0] - p1[0], p3[1] - p1[1], p3[2] - p1[2]}; - double vz[3]; - prodve(vx, vy, vz); - norme(vz); - double R = - sqrt((p1[0] - c[0]) * (p1[0] - c[0]) + (p1[1] - c[1]) * (p1[1] - c[1]) + - (p1[2] - c[2]) * (p1[2] - c[2])); - p4[0] = c[0] + R * vz[0]; - p4[1] = c[1] + R * vz[1]; - p4[2] = c[2] + R * vz[2]; -} - static void remeshUnrecoveredEdges( std::multimap<MVertex *, BDS_Point *> &recoverMultiMapInv, std::set<EdgeToRecover> &edgesNotRecovered, bool all) @@ -825,7 +808,7 @@ static void addOrRemove(MVertex *v1, MVertex *v2, } } -bool meshGenerator(GFace *, int, bool, int, bool, std::vector<GEdge *> *); +static bool meshGenerator(GFace *, int, bool, int, bool, std::vector<GEdge *> *); static void modifyInitialMeshForBoundaryLayers( GFace *gf, std::vector<MQuadrangle *> &blQuads, @@ -1129,7 +1112,7 @@ BDS2GMSH(BDS_Mesh *m, GFace *gf, } } -static void _deleteUnusedVertices(GFace *gf) +static void deleteUnusedVertices(GFace *gf) { std::set<MVertex *, MVertexPtrLessThan> allverts; for(std::size_t i = 0; i < gf->triangles.size(); i++) { @@ -1155,9 +1138,10 @@ static void _deleteUnusedVertices(GFace *gf) // Builds An initial triangular mesh that respects the boundaries of // the domain, including embedded points and surfaces -bool meshGenerator(GFace *gf, int RECUR_ITER, bool repairSelfIntersecting1dMesh, - int onlyInitialMesh, bool debug, - std::vector<GEdge *> *replacement_edges) +static bool meshGenerator(GFace *gf, int RECUR_ITER, + bool repairSelfIntersecting1dMesh, + int onlyInitialMesh, bool debug, + std::vector<GEdge *> *replacementEdges) { if(CTX::instance()->debugSurface > 0 && gf->tag() != CTX::instance()->debugSurface) { @@ -1171,7 +1155,7 @@ bool meshGenerator(GFace *gf, int RECUR_ITER, bool repairSelfIntersecting1dMesh, std::map<BDS_Point *, MVertex *, PointLessThan> recoverMap; std::map<MVertex *, BDS_Point *> recoverMapInv; std::vector<GEdge *> edges = - replacement_edges ? *replacement_edges : gf->edges(); + replacementEdges ? *replacementEdges : gf->edges(); FILE *fdeb = nullptr; if(debug && RECUR_ITER == 0) { @@ -1375,15 +1359,15 @@ bool meshGenerator(GFace *gf, int RECUR_ITER, bool repairSelfIntersecting1dMesh, // -- color triangles std::vector<GEdge *> temp; - if(replacement_edges) { + if(replacementEdges) { temp = gf->edges(); - gf->set(*replacement_edges); + gf->set(*replacementEdges); } // recover and color so most of the code below can go away. Works also for // periodic faces PolyMesh *pm = GFaceInitialMesh(gf->tag(), 1); - if(replacement_edges) { gf->set(temp); } + if(replacementEdges) { gf->set(temp); } std::map<int, BDS_Point *> aaa; for(auto it = all_vertices.begin(); it != all_vertices.end(); it++) { @@ -1503,7 +1487,7 @@ bool meshGenerator(GFace *gf, int RECUR_ITER, bool repairSelfIntersecting1dMesh, delete m; if(RECUR_ITER < 10) { return meshGenerator(gf, RECUR_ITER + 1, repairSelfIntersecting1dMesh, - onlyInitialMesh, debug, replacement_edges); + onlyInitialMesh, debug, replacementEdges); } return false; } @@ -1794,7 +1778,7 @@ bool meshGenerator(GFace *gf, int RECUR_ITER, bool repairSelfIntersecting1dMesh, if(CTX::instance()->mesh.algo3d == ALGO_3D_RTREE) { directions_storage(gf); } // remove unused vertices, generated e.g. during background mesh - _deleteUnusedVertices(gf); + deleteUnusedVertices(gf); return true; } @@ -2859,7 +2843,7 @@ static bool meshGeneratorPeriodic(GFace *gf, int RECUR_ITER, gf->meshStatistics.status = GFace::DONE; // Remove unused vertices, generated e.g. during background mesh - _deleteUnusedVertices(gf); + deleteUnusedVertices(gf); return true; } diff --git a/src/mesh/meshGFace.h b/src/mesh/meshGFace.h index a1f002d14685db673bf275c2cab175d33ccbc862..e08198b5d45cf6d30778328606040c1fe152c149 100644 --- a/src/mesh/meshGFace.h +++ b/src/mesh/meshGFace.h @@ -44,7 +44,6 @@ public: void operator()(GFace *); }; -void fourthPoint(double *p1, double *p2, double *p3, double *p4); void findTransfiniteCorners(GFace *gf, std::vector<MVertex *> &corners); int MeshTransfiniteSurface(GFace *gf); int MeshExtrudedSurface( diff --git a/src/mesh/meshGFaceDelaunayInsertion.cpp b/src/mesh/meshGFaceDelaunayInsertion.cpp index 81ee34328bbca7a2ff30bbb64941b88067b1492e..331c2ce902912d6879bff7badf10e622a70ae367 100644 --- a/src/mesh/meshGFaceDelaunayInsertion.cpp +++ b/src/mesh/meshGFaceDelaunayInsertion.cpp @@ -391,6 +391,23 @@ int inCircumCircleAniso(GFace *gf, MTriangle *base, const double *uv, return d3 < Radius2; } +static void fourthPoint(double *p1, double *p2, double *p3, double *p4) +{ + double c[3]; + circumCenterXYZ(p1, p2, p3, c); + double vx[3] = {p2[0] - p1[0], p2[1] - p1[1], p2[2] - p1[2]}; + double vy[3] = {p3[0] - p1[0], p3[1] - p1[1], p3[2] - p1[2]}; + double vz[3]; + prodve(vx, vy, vz); + norme(vz); + double R = + sqrt((p1[0] - c[0]) * (p1[0] - c[0]) + (p1[1] - c[1]) * (p1[1] - c[1]) + + (p1[2] - c[2]) * (p1[2] - c[2])); + p4[0] = c[0] + R * vz[0]; + p4[1] = c[1] + R * vz[1]; + p4[2] = c[2] + R * vz[2]; +} + MTri3::MTri3(MTriangle *t, double lc, SMetric3 *metric, bidimMeshData *data, GFace *gf) : deleted(false), base(t)