| gmsh-TingyuanDoc
    0.1
    An Open-Source Timing-driven Analytical Mixed-size FPGA Placer | 
#include <set>#include <map>#include <algorithm>#include <queue>#include "GmshMessage.h"#include "robustPredicates.h"#include "OS.h"#include "meshGRegion.h"#include "meshGRegionLocalMeshMod.h"#include "meshGRegionDelaunayInsertion.h"#include "GModel.h"#include "GRegion.h"#include "MTriangle.h"#include "Numeric.h"#include "Context.h"#include "delaunay3d.h"#include "MEdge.h"#include "MLine.h"#include "ExtrudeParams.h"
Go to the source code of this file.
| Classes | |
| struct | edgeContainerB | 
| struct | vertex_comparator | 
| struct | faceXtet | 
| Functions | |
| static void | createAllEmbeddedEdges (GRegion *gr, std::set< MEdge, MEdgeLessThan > &allEmbeddedEdges) | 
| static void | createAllEmbeddedEdges (GRegion *gr, edgeContainerB &embedded) | 
| static void | createAllEmbeddedFaces (GRegion *gr, std::set< MFace, MFaceLessThan > &allEmbeddedFaces) | 
| template<class ITER > | |
| void | connectTets_vector2_templ (std::size_t _size, ITER beg, ITER end, std::vector< faceXtet > &conn) | 
| template<class ITER > | |
| void | connectTets (ITER beg, ITER end, const std::set< MFace, MFaceLessThan > *allEmbeddedFaces=nullptr) | 
| void | connectTets (std::list< MTet4 * > &l, const std::set< MFace, MFaceLessThan > *embeddedFaces) | 
| void | connectTets (std::vector< MTet4 * > &l, const std::set< MFace, MFaceLessThan > *embeddedFaces) | 
| void | connectTets_vector2 (std::list< MTet4 * > &l, std::vector< faceXtet > &conn) | 
| void | connectTets_vector2 (std::vector< MTet4 * > &l, std::vector< faceXtet > &conn) | 
| static void | removeFromCavity (std::vector< faceXtet > &shell, std::vector< MTet4 * > &cavity, faceXtet &toRemove) | 
| static void | extendCavity (std::vector< faceXtet > &shell, std::vector< MTet4 * > &cavity, faceXtet &toExtend) | 
| static bool | verifyShell (MVertex *v, MTet4 *t, std::vector< faceXtet > &shell) | 
| int | makeCavityStarShaped (std::vector< faceXtet > &shell, std::vector< MTet4 * > &cavity, MVertex *v) | 
| void | findCavity (std::vector< faceXtet > &shell, std::vector< MTet4 * > &cavity, MVertex *v, MTet4 *t) | 
| bool | insertVertexB (std::vector< faceXtet > &shell, std::vector< MTet4 * > &cavity, MVertex *v, double lc1, double lc2, std::vector< double > &vSizes, std::vector< double > &vSizesBGM, MTet4 *t, MTet4Factory &myFactory, std::set< MTet4 *, compareTet4Ptr > &allTets, const std::set< MFace, MFaceLessThan > &allEmbeddedFaces) | 
| static void | setLcs (MTriangle *t, std::map< MVertex *, double, MVertexPtrLessThan > &vSizes, std::set< MVertex *, MVertexPtrLessThan > &bndVertices) | 
| static void | setLcs (MTetrahedron *t, std::map< MVertex *, double, MVertexPtrLessThan > &vSizes, std::set< MVertex *, MVertexPtrLessThan > &bndVertices) | 
| static void | completeTheSetOfFaces (GModel *model, std::set< GFace * > &faces_bound) | 
| GRegion * | getRegionFromBoundingFaces (GModel *model, std::set< GFace * > &faces_bound) | 
| void | non_recursive_classify (MTet4 *t, std::list< MTet4 * > &theRegion, std::set< GFace * > &faces_bound, GRegion *bidon, GModel *model, const fs_cont &search) | 
| void | optimizeMesh (GRegion *gr, const qmTetrahedron::Measures &qm) | 
| double | tetcircumcenter (double a[3], double b[3], double c[3], double d[3], double circumcenter[3], double *xi, double *eta, double *zeta) | 
| static void | memoryCleanup (MTet4Factory &myFactory, std::set< MTet4 *, compareTet4Ptr > &allTets) | 
| static int | isCavityCompatibleWithEmbeddedEdges (std::vector< MTet4 * > &cavity, std::vector< faceXtet > &shell, edgeContainerB &allEmbeddedEdges) | 
| static int | isCavityCompatibleWithEmbeddedFace (const std::vector< MTet4 * > &cavity, const std::vector< faceXtet > &shell, const std::set< MFace, MFaceLessThan > &allEmbeddedFaces) | 
| static void | _deleteUnusedVertices (GRegion *gr) | 
| void | insertVerticesInRegion (GRegion *gr, int maxIter, double worstTetRadiusTarget, bool _classify, splitQuadRecovery *sqr) | 
| void | delaunayMeshIn3D (std::vector< MVertex * > &v, std::vector< MTetrahedron * > &result, bool removeBox) | 
| Variables | |
| static int | faces [4][3] = {{0, 1, 2}, {0, 2, 3}, {0, 3, 1}, {1, 3, 2}} | 
| 
 | static | 
Definition at line 1198 of file meshGRegionDelaunayInsertion.cpp.
Referenced by insertVerticesInRegion().

Definition at line 604 of file meshGRegionDelaunayInsertion.cpp.
Referenced by getRegionFromBoundingFaces().


| void connectTets | ( | ITER | beg, | 
| ITER | end, | ||
| const std::set< MFace, MFaceLessThan > * | allEmbeddedFaces = nullptr | ||
| ) | 
Definition at line 250 of file meshGRegionDelaunayInsertion.cpp.
Referenced by collapseVertex(), connectTets(), edgeSplit(), edgeSwap(), faceSwap(), insertVertexB(), insertVerticesInRegion(), adaptMeshGRegion::operator()(), and optimizeMesh().

| void connectTets | ( | std::list< MTet4 * > & | l, | 
| const std::set< MFace, MFaceLessThan > * | embeddedFaces | ||
| ) | 
Definition at line 277 of file meshGRegionDelaunayInsertion.cpp.

| void connectTets | ( | std::vector< MTet4 * > & | l, | 
| const std::set< MFace, MFaceLessThan > * | embeddedFaces | ||
| ) | 
Definition at line 283 of file meshGRegionDelaunayInsertion.cpp.

Definition at line 289 of file meshGRegionDelaunayInsertion.cpp.
Referenced by insertVertexB(), and optimizeMesh().


Definition at line 294 of file meshGRegionDelaunayInsertion.cpp.

| void connectTets_vector2_templ | ( | std::size_t | _size, | 
| ITER | beg, | ||
| ITER | end, | ||
| std::vector< faceXtet > & | conn | ||
| ) | 
Definition at line 223 of file meshGRegionDelaunayInsertion.cpp.
Referenced by connectTets_vector2().


| 
 | static | 
Definition at line 127 of file meshGRegionDelaunayInsertion.cpp.

| 
 | static | 
Definition at line 115 of file meshGRegionDelaunayInsertion.cpp.
Referenced by insertVerticesInRegion(), adaptMeshGRegion::operator()(), and optimizeMesh().


| 
 | static | 
Definition at line 139 of file meshGRegionDelaunayInsertion.cpp.
Referenced by insertVerticesInRegion(), adaptMeshGRegion::operator()(), and optimizeMesh().


| void delaunayMeshIn3D | ( | std::vector< MVertex * > & | v, | 
| std::vector< MTetrahedron * > & | result, | ||
| bool | removeBox | ||
| ) | 
Definition at line 1559 of file meshGRegionDelaunayInsertion.cpp.

| 
 | static | 
Definition at line 328 of file meshGRegionDelaunayInsertion.cpp.
Referenced by makeCavityStarShaped().


| void findCavity | ( | std::vector< faceXtet > & | shell, | 
| std::vector< MTet4 * > & | cavity, | ||
| MVertex * | v, | ||
| MTet4 * | t | ||
| ) | 
Definition at line 403 of file meshGRegionDelaunayInsertion.cpp.
Referenced by insertVerticesInRegion().


Definition at line 620 of file meshGRegionDelaunayInsertion.cpp.
Referenced by insertVerticesInRegion().


| bool insertVertexB | ( | std::vector< faceXtet > & | shell, | 
| std::vector< MTet4 * > & | cavity, | ||
| MVertex * | v, | ||
| double | lc1, | ||
| double | lc2, | ||
| std::vector< double > & | vSizes, | ||
| std::vector< double > & | vSizesBGM, | ||
| MTet4 * | t, | ||
| MTet4Factory & | myFactory, | ||
| std::set< MTet4 *, compareTet4Ptr > & | allTets, | ||
| const std::set< MFace, MFaceLessThan > & | allEmbeddedFaces | ||
| ) | 
Definition at line 459 of file meshGRegionDelaunayInsertion.cpp.
Referenced by insertVerticesInRegion().


| void insertVerticesInRegion | ( | GRegion * | gr, | 
| int | maxIter, | ||
| double | worstTetRadiusTarget, | ||
| bool | _classify, | ||
| splitQuadRecovery * | sqr | ||
| ) | 
Definition at line 1217 of file meshGRegionDelaunayInsertion.cpp.
Referenced by MeshDelaunayVolume().


| 
 | static | 
Definition at line 1145 of file meshGRegionDelaunayInsertion.cpp.
Referenced by insertVerticesInRegion().


| 
 | static | 
Definition at line 1171 of file meshGRegionDelaunayInsertion.cpp.
Referenced by insertVerticesInRegion().


| int makeCavityStarShaped | ( | std::vector< faceXtet > & | shell, | 
| std::vector< MTet4 * > & | cavity, | ||
| MVertex * | v | ||
| ) | 
Definition at line 367 of file meshGRegionDelaunayInsertion.cpp.
Referenced by insertVerticesInRegion().


| 
 | static | 
Definition at line 1129 of file meshGRegionDelaunayInsertion.cpp.
Referenced by insertVerticesInRegion().


| void non_recursive_classify | ( | MTet4 * | t, | 
| std::list< MTet4 * > & | theRegion, | ||
| std::set< GFace * > & | faces_bound, | ||
| GRegion * | bidon, | ||
| GModel * | model, | ||
| const fs_cont & | search | ||
| ) | 
Definition at line 648 of file meshGRegionDelaunayInsertion.cpp.
Referenced by insertVerticesInRegion().


| void optimizeMesh | ( | GRegion * | gr, | 
| const qmTetrahedron::Measures & | qm | ||
| ) | 
Definition at line 876 of file meshGRegionDelaunayInsertion.cpp.
Referenced by optimizeMeshGRegion::operator()().


| 
 | static | 
Definition at line 303 of file meshGRegionDelaunayInsertion.cpp.
Referenced by makeCavityStarShaped().


| 
 | static | 
Definition at line 573 of file meshGRegionDelaunayInsertion.cpp.

| 
 | static | 
Definition at line 519 of file meshGRegionDelaunayInsertion.cpp.
Referenced by insertVerticesInRegion().


| double tetcircumcenter | ( | double | a[3], | 
| double | b[3], | ||
| double | c[3], | ||
| double | d[3], | ||
| double | circumcenter[3], | ||
| double * | xi, | ||
| double * | eta, | ||
| double * | zeta | ||
| ) | 
Definition at line 1058 of file meshGRegionDelaunayInsertion.cpp.
Referenced by MTet4::circumcenter(), and insertVerticesInRegion().


Definition at line 347 of file meshGRegionDelaunayInsertion.cpp.
Referenced by makeCavityStarShaped().


| 
 | static | 
Definition at line 165 of file meshGRegionDelaunayInsertion.cpp.
Referenced by addElementsInArrays(), allFacesLinked(), blyr_manager::blyr_manager(), build_chords(), splitQuadRecovery::buildPyramids(), classifyFaces(), connectedSurfaces(), createTopologyFromMesh3D(), faceXtet::faceXtet(), FindConnectedRegions(), findTransfiniteCorners(), ClosureGen::generateFaceClosurePrismFull(), ClosureGen::generateFaceClosureTetFull(), GenerateMesh(), getAdditionalEntities(), getEntitiesToSave(), GOrientedTransfiniteFace::GOrientedTransfiniteFace(), haveTowGEdges(), insertAllVertices(), MakeMeshConformal(), makeSimplyConnected(), GeomMeshMatcher::matchRegions(), max_surf_curvature(), MeshDelaunayVolume(), meshGEdgeProcessing(), meshGRegionNetgen(), MeshSetTransfiniteFacesAutomatic(), MeshTransfiniteVolume(), metric_based_on_surface_curvature(), non_recursive_classify(), EmbeddedCompatibilityTest::operator()(), readMSHEntities(), recurFindLinkedFaces(), drawContext::select(), skipEdge(), SubdivideExtrudedMesh(), faceXtet::visible(), writeMSH4Elements(), writeMSH4Entities(), writeMSH4Nodes(), writeMSHEntities(), writeSTLfaces(), and writeX3dFaces().