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

Go to the source code of this file.

Classes

struct  bidimMeshData
 
class  MTri3
 
class  compareTri3Ptr
 
struct  edgeXface
 

Functions

void buildMetric (GFace *gf, double *uv, double *metric)
 
int inCircumCircleAniso (GFace *gf, double *p1, double *p2, double *p3, double *p4, double *metric)
 
int inCircumCircleAniso (GFace *gf, MTriangle *base, const double *uv, const double *metric, bidimMeshData &data)
 
void connectTriangles (std::list< MTri3 * > &)
 
void connectTriangles (std::vector< MTri3 * > &)
 
void connectTriangles (std::set< MTri3 *, compareTri3Ptr > &AllTris)
 
void bowyerWatson (GFace *gf, int MAXPNT=1000000000, std::map< MVertex *, MVertex * > *equivalence=nullptr, std::map< MVertex *, SPoint2 > *parametricCoordinates=nullptr)
 
void bowyerWatsonFrontal (GFace *gf, std::map< MVertex *, MVertex * > *equivalence=nullptr, std::map< MVertex *, SPoint2 > *parametricCoordinates=nullptr, std::vector< SPoint2 > *true_boundary=nullptr)
 
void bowyerWatsonFrontalLayers (GFace *gf, bool quad, std::map< MVertex *, MVertex * > *equivalence=nullptr, std::map< MVertex *, SPoint2 > *parametricCoordinates=nullptr)
 
void bowyerWatsonParallelograms (GFace *gf, std::map< MVertex *, MVertex * > *equivalence=nullptr, std::map< MVertex *, SPoint2 > *parametricCoordinates=nullptr)
 
void bowyerWatsonParallelogramsConstrained (GFace *gf, const std::set< MVertex * > &constr_vertices, std::map< MVertex *, MVertex * > *equivalence=nullptr, std::map< MVertex *, SPoint2 > *parametricCoordinates=nullptr)
 
void buildBackgroundMesh (GFace *gf, bool crossFieldClosestPoint=false, std::map< MVertex *, MVertex * > *equivalence=nullptr, std::map< MVertex *, SPoint2 > *parametricCoordinates=nullptr)
 
void delaunayMeshIn2D (std::vector< MVertex * > &, std::vector< MTriangle * > &, bool removeBox=true, std::vector< MEdge > *edgesToRecover=nullptr, bool hilbertSort=true)
 

Function Documentation

◆ bowyerWatson()

void bowyerWatson ( GFace gf,
int  MAXPNT = 1000000000,
std::map< MVertex *, MVertex * > *  equivalence = nullptr,
std::map< MVertex *, SPoint2 > *  parametricCoordinates = nullptr 
)

Definition at line 1033 of file meshGFaceDelaunayInsertion.cpp.

Referenced by buildBackgroundMesh(), meshGenerator(), and meshGeneratorPeriodic().

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

◆ bowyerWatsonFrontal()

void bowyerWatsonFrontal ( GFace gf,
std::map< MVertex *, MVertex * > *  equivalence = nullptr,
std::map< MVertex *, SPoint2 > *  parametricCoordinates = nullptr,
std::vector< SPoint2 > *  true_boundary = nullptr 
)

Definition at line 1289 of file meshGFaceDelaunayInsertion.cpp.

Referenced by meshGenerator(), and meshGeneratorPeriodic().

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

◆ bowyerWatsonFrontalLayers()

void bowyerWatsonFrontalLayers ( GFace gf,
bool  quad,
std::map< MVertex *, MVertex * > *  equivalence = nullptr,
std::map< MVertex *, SPoint2 > *  parametricCoordinates = nullptr 
)

Definition at line 1497 of file meshGFaceDelaunayInsertion.cpp.

Referenced by meshGenerator(), and meshGeneratorPeriodic().

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

◆ bowyerWatsonParallelograms()

void bowyerWatsonParallelograms ( GFace gf,
std::map< MVertex *, MVertex * > *  equivalence = nullptr,
std::map< MVertex *, SPoint2 > *  parametricCoordinates = nullptr 
)

Definition at line 1621 of file meshGFaceDelaunayInsertion.cpp.

Referenced by meshGenerator(), and meshGeneratorPeriodic().

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

◆ bowyerWatsonParallelogramsConstrained()

void bowyerWatsonParallelogramsConstrained ( GFace gf,
const std::set< MVertex * > &  constr_vertices,
std::map< MVertex *, MVertex * > *  equivalence = nullptr,
std::map< MVertex *, SPoint2 > *  parametricCoordinates = nullptr 
)

Definition at line 1711 of file meshGFaceDelaunayInsertion.cpp.

Here is the call graph for this function:

◆ buildBackgroundMesh()

void buildBackgroundMesh ( GFace gf,
bool  crossFieldClosestPoint = false,
std::map< MVertex *, MVertex * > *  equivalence = nullptr,
std::map< MVertex *, SPoint2 > *  parametricCoordinates = nullptr 
)

Definition at line 1453 of file meshGFaceDelaunayInsertion.cpp.

Referenced by meshGenerator(), and meshGeneratorPeriodic().

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

◆ buildMetric()

void buildMetric ( GFace gf,
double *  uv,
double *  metric 
)

◆ connectTriangles() [1/3]

void connectTriangles ( std::list< MTri3 * > &  )

Definition at line 543 of file meshGFaceDelaunayInsertion.cpp.

Referenced by buildMeshGenerationDataStructures(), and initialSquare().

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

◆ connectTriangles() [2/3]

void connectTriangles ( std::set< MTri3 *, compareTri3Ptr > &  AllTris)

Definition at line 555 of file meshGFaceDelaunayInsertion.cpp.

Here is the call graph for this function:

◆ connectTriangles() [3/3]

void connectTriangles ( std::vector< MTri3 * > &  )

Definition at line 549 of file meshGFaceDelaunayInsertion.cpp.

Here is the call graph for this function:

◆ delaunayMeshIn2D()

void delaunayMeshIn2D ( std::vector< MVertex * > &  ,
std::vector< MTriangle * > &  ,
bool  removeBox = true,
std::vector< MEdge > *  edgesToRecover = nullptr,
bool  hilbertSort = true 
)

Definition at line 1834 of file meshGFaceDelaunayInsertion.cpp.

Here is the call graph for this function:

◆ inCircumCircleAniso() [1/2]

int inCircumCircleAniso ( GFace gf,
double *  p1,
double *  p2,
double *  p3,
double *  p4,
double *  metric 
)

Definition at line 348 of file meshGFaceDelaunayInsertion.cpp.

Referenced by edgeSwapTestDelaunayAniso(), insertAPoint(), and recurFindCavityAniso().

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

◆ inCircumCircleAniso() [2/2]

int inCircumCircleAniso ( GFace gf,
MTriangle base,
const double *  uv,
const double *  metric,
bidimMeshData data 
)

Definition at line 363 of file meshGFaceDelaunayInsertion.cpp.

Here is the call graph for this function: