gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
meshGFaceOptimize.h File Reference
#include <map>
#include <vector>
#include "MElement.h"
#include "MEdge.h"
#include "meshGFaceDelaunayInsertion.h"
#include "STensor3.h"
Include dependency graph for meshGFaceOptimize.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  edge_angle
 
struct  swapquad
 
struct  RecombineTriangle
 

Typedefs

typedef std::map< MVertex *, std::vector< MElement * >, MVertexPtrLessThanv2t_cont
 
typedef std::map< MEdge, std::pair< MElement *, MElement * >, MEdgeLessThane2t_cont
 

Functions

template<class T >
void buildVertexToElement (std::vector< T * > const &elements, v2t_cont &adj)
 
template<class T >
void buildEdgeToElement (std::vector< T * > &eles, e2t_cont &adj)
 
void buildEdgeToTriangle (std::vector< MTriangle * > &, e2t_cont &adj)
 
void buildListOfEdgeAngle (e2t_cont adj, std::vector< edge_angle > &edges_detected, std::vector< edge_angle > &edges_lonly)
 
void buildEdgeToElements (std::vector< MElement * > &tris, e2t_cont &adj)
 
void laplaceSmoothing (GFace *gf, int niter=1, bool infinity_norm=false)
 
bool buildMeshGenerationDataStructures (GFace *gf, std::set< MTri3 *, compareTri3Ptr > &AllTris, bidimMeshData &data)
 
void transferDataStructure (GFace *gf, std::set< MTri3 *, compareTri3Ptr > &AllTris, bidimMeshData &DATA)
 
void computeEquivalences (GFace *gf, bidimMeshData &DATA)
 
void recombineIntoQuads (GFace *gf, bool blossom, int topologicalOptiPasses, bool nodeRepositioning, double minqual)
 
void quadsToTriangles (GFace *gf, double minqual)
 
void splitElementsInBoundaryLayerIfNeeded (GFace *gf)
 

Typedef Documentation

◆ e2t_cont

typedef std::map<MEdge, std::pair<MElement *, MElement *>, MEdgeLessThan> e2t_cont

Definition at line 35 of file meshGFaceOptimize.h.

◆ v2t_cont

typedef std::map<MVertex *, std::vector<MElement *>, MVertexPtrLessThan> v2t_cont

Definition at line 31 of file meshGFaceOptimize.h.

Function Documentation

◆ buildEdgeToElement()

template<class T >
void buildEdgeToElement ( std::vector< T * > &  eles,
e2t_cont adj 
)

Definition at line 417 of file meshGFaceOptimize.cpp.

Referenced by _recombineIntoQuads(), buildEdgeToElement(), buildEdgeToElements(), and buildEdgeToTriangle().

Here is the caller graph for this function:

◆ buildEdgeToElements()

void buildEdgeToElements ( std::vector< MElement * > &  tris,
e2t_cont adj 
)

Definition at line 449 of file meshGFaceOptimize.cpp.

Referenced by classifyFaces().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ buildEdgeToTriangle()

void buildEdgeToTriangle ( std::vector< MTriangle * > &  ,
e2t_cont adj 
)

Definition at line 443 of file meshGFaceOptimize.cpp.

Here is the call graph for this function:

◆ buildListOfEdgeAngle()

void buildListOfEdgeAngle ( e2t_cont  adj,
std::vector< edge_angle > &  edges_detected,
std::vector< edge_angle > &  edges_lonly 
)

Definition at line 455 of file meshGFaceOptimize.cpp.

Referenced by classifyFaces().

Here is the caller graph for this function:

◆ buildMeshGenerationDataStructures()

bool buildMeshGenerationDataStructures ( GFace gf,
std::set< MTri3 *, compareTri3Ptr > &  AllTris,
bidimMeshData data 
)

Definition at line 174 of file meshGFaceOptimize.cpp.

Referenced by bowyerWatson(), bowyerWatsonFrontal(), bowyerWatsonFrontalLayers(), bowyerWatsonParallelograms(), and bowyerWatsonParallelogramsConstrained().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ buildVertexToElement()

template<class T >
void buildVertexToElement ( std::vector< T * > const &  elements,
v2t_cont adj 
)

Definition at line 38 of file meshGFaceOptimize.h.

Referenced by _removeDiamonds(), _removeTwoQuadsNodes(), laplaceSmoothing(), meshMetric::meshMetric(), RelocateVertices(), and RelocateVerticesOfPyramids().

Here is the caller graph for this function:

◆ computeEquivalences()

void computeEquivalences ( GFace gf,
bidimMeshData DATA 
)

Definition at line 271 of file meshGFaceOptimize.cpp.

Referenced by transferDataStructure().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ laplaceSmoothing()

void laplaceSmoothing ( GFace gf,
int  niter = 1,
bool  infinity_norm = false 
)

Definition at line 978 of file meshGFaceOptimize.cpp.

Referenced by GModel::adaptMesh(), meshGenerator(), meshGeneratorPeriodic(), and OptimizeMesh().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ quadsToTriangles()

void quadsToTriangles ( GFace gf,
double  minqual 
)

Definition at line 1374 of file meshGFaceOptimize.cpp.

Referenced by buildBackgroundMesh(), Mesh3D(), recombineIntoQuads(), and splitElementsInBoundaryLayerIfNeeded().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ recombineIntoQuads()

void recombineIntoQuads ( GFace gf,
bool  blossom,
int  topologicalOptiPasses,
bool  nodeRepositioning,
double  minqual 
)

Definition at line 1311 of file meshGFaceOptimize.cpp.

Referenced by quadMeshRemoveHalfOfOneDMesh::finish(), meshGenerator(), meshGeneratorPeriodic(), and RecombineMesh().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ splitElementsInBoundaryLayerIfNeeded()

void splitElementsInBoundaryLayerIfNeeded ( GFace gf)

Definition at line 1457 of file meshGFaceOptimize.cpp.

Referenced by bowyerWatson(), bowyerWatsonFrontal(), bowyerWatsonFrontalLayers(), bowyerWatsonParallelograms(), bowyerWatsonParallelogramsConstrained(), and meshGenerator().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ transferDataStructure()

void transferDataStructure ( GFace gf,
std::set< MTri3 *, compareTri3Ptr > &  AllTris,
bidimMeshData DATA 
)

Definition at line 348 of file meshGFaceOptimize.cpp.

Referenced by bowyerWatson(), bowyerWatsonFrontal(), bowyerWatsonFrontalLayers(), bowyerWatsonParallelograms(), and bowyerWatsonParallelogramsConstrained().

Here is the call graph for this function:
Here is the caller graph for this function: