gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
meshTriangulation.cpp File Reference
#include <utility>
#include <list>
#include <map>
#include <unordered_map>
#include "Context.h"
#include "gmsh.h"
#include "GModel.h"
#include "GFace.h"
#include "GEdge.h"
#include "MLine.h"
#include "MVertex.h"
#include "MTriangle.h"
#include "MQuadrangle.h"
#include "meshTriangulation.h"
#include "SBoundingBox3d.h"
#include "robustPredicates.h"
#include "meshGFaceDelaunayInsertion.h"
#include "qualityMeasures.h"
#include "Numeric.h"
#include "SPoint3.h"
Include dependency graph for meshTriangulation.cpp:

Go to the source code of this file.

Classes

struct  pair_hash
 
struct  nodeCopies
 

Functions

void swap (double &a, double &b)
 
size_t HilbertCoordinates (double x, double y, double x0, double y0, double xRed, double yRed, double xBlue, double yBlue)
 
int PolyMesh2GFace (PolyMesh *pm, int faceTag)
 
int GFace2PolyMesh (int faceTag, PolyMesh **pm)
 
static int delaunayEdgeCriterionPlaneIsotropic (PolyMesh::HalfEdge *he, void *)
 
static void faceCircumCenter (PolyMesh::HalfEdge *he, GFace *gf, double *res, double *uv)
 
static double faceQuality (PolyMesh::HalfEdge *he, GFace *gf)
 
static PolyMesh::FaceWalk (PolyMesh::Face *f, double x, double y)
 
static int intersect (PolyMesh::Vertex *v0, PolyMesh::Vertex *v1, PolyMesh::Vertex *b0, PolyMesh::Vertex *b1)
 
static int recover_edge (PolyMesh *pm, PolyMesh::Vertex *v_start, PolyMesh::Vertex *v_end)
 
static PolyMesh::HalfEdgeColor (PolyMesh::HalfEdge *he, int color)
 
void GFaceDelaunayRefinement (size_t faceTag)
 
void GFaceDelaunayRefinementOldMesher (int faceTag)
 
static void getNodeCopies (GFace *gf, std::unordered_map< size_t, nodeCopies > &copies)
 
void addPoints (PolyMesh *pm, std::vector< double > &pts, SBoundingBox3d &bb)
 
PolyMeshGFaceInitialMesh (int faceTag, int recover, std::vector< double > *additional)
 

Function Documentation

◆ addPoints()

void addPoints ( PolyMesh pm,
std::vector< double > &  pts,
SBoundingBox3d bb 
)

Definition at line 728 of file meshTriangulation.cpp.

Referenced by GFaceInitialMesh().

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

◆ Color()

static PolyMesh::HalfEdge* Color ( PolyMesh::HalfEdge he,
int  color 
)
static

Definition at line 515 of file meshTriangulation.cpp.

Referenced by GFaceInitialMesh().

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

◆ delaunayEdgeCriterionPlaneIsotropic()

static int delaunayEdgeCriterionPlaneIsotropic ( PolyMesh::HalfEdge he,
void *   
)
static

Definition at line 288 of file meshTriangulation.cpp.

Referenced by addPoints(), GFaceDelaunayRefinement(), and GFaceInitialMesh().

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

◆ faceCircumCenter()

static void faceCircumCenter ( PolyMesh::HalfEdge he,
GFace gf,
double *  res,
double *  uv 
)
static

Definition at line 303 of file meshTriangulation.cpp.

Referenced by GFaceDelaunayRefinement().

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

◆ faceQuality()

static double faceQuality ( PolyMesh::HalfEdge he,
GFace gf 
)
static

Definition at line 318 of file meshTriangulation.cpp.

Referenced by GFaceDelaunayRefinement().

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

◆ getNodeCopies()

static void getNodeCopies ( GFace gf,
std::unordered_map< size_t, nodeCopies > &  copies 
)
static

Definition at line 655 of file meshTriangulation.cpp.

Referenced by GFaceInitialMesh().

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

◆ GFace2PolyMesh()

int GFace2PolyMesh ( int  faceTag,
PolyMesh **  pm 
)

Definition at line 195 of file meshTriangulation.cpp.

Referenced by computePointsUsingScaledCrossFieldPlanarP2().

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

◆ GFaceDelaunayRefinement()

void GFaceDelaunayRefinement ( size_t  faceTag)

Definition at line 541 of file meshTriangulation.cpp.

Here is the call graph for this function:

◆ GFaceDelaunayRefinementOldMesher()

void GFaceDelaunayRefinementOldMesher ( int  faceTag)

Definition at line 596 of file meshTriangulation.cpp.

Here is the call graph for this function:

◆ GFaceInitialMesh()

PolyMesh* GFaceInitialMesh ( int  faceTag,
int  recover,
std::vector< double > *  additional 
)

Definition at line 753 of file meshTriangulation.cpp.

Referenced by computePointsUsingScaledCrossFieldPlanarP2(), GFaceDelaunayRefinement(), GFaceDelaunayRefinementOldMesher(), and meshGenerator().

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

◆ HilbertCoordinates()

size_t HilbertCoordinates ( double  x,
double  y,
double  x0,
double  y0,
double  xRed,
double  yRed,
double  xBlue,
double  yBlue 
)

Definition at line 34 of file meshTriangulation.cpp.

Referenced by addPoints().

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

◆ intersect()

static int intersect ( PolyMesh::Vertex v0,
PolyMesh::Vertex v1,
PolyMesh::Vertex b0,
PolyMesh::Vertex b1 
)
static

Definition at line 416 of file meshTriangulation.cpp.

Referenced by GFaceInitialMesh(), and recover_edge().

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

◆ PolyMesh2GFace()

int PolyMesh2GFace ( PolyMesh pm,
int  faceTag 
)

Definition at line 88 of file meshTriangulation.cpp.

Referenced by computePointsUsingScaledCrossFieldPlanarP2().

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

◆ recover_edge()

static int recover_edge ( PolyMesh pm,
PolyMesh::Vertex v_start,
PolyMesh::Vertex v_end 
)
static

Definition at line 432 of file meshTriangulation.cpp.

Referenced by GFaceInitialMesh().

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

◆ swap()

◆ Walk()

static PolyMesh::Face* Walk ( PolyMesh::Face f,
double  x,
double  y 
)
static

Definition at line 362 of file meshTriangulation.cpp.

Referenced by addPoints(), GFaceDelaunayRefinement(), and GFaceInitialMesh().

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