gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
meshGFaceDelaunayInsertion.cpp File Reference
#include <limits>
#include <set>
#include <map>
#include <algorithm>
#include <numeric>
#include "GmshConfig.h"
#include "GmshMessage.h"
#include "OS.h"
#include "robustPredicates.h"
#include "BackgroundMesh.h"
#include "meshGFaceDelaunayInsertion.h"
#include "meshGFaceOptimize.h"
#include "meshGFace.h"
#include "GModel.h"
#include "GFace.h"
#include "Numeric.h"
#include "STensor3.h"
#include "Context.h"
#include "discreteFace.h"
#include "intersectCurveSurface.h"
#include "HilbertCurve.h"
#include "fullMatrix.h"
Include dependency graph for meshGFaceDelaunayInsertion.cpp:

Go to the source code of this file.

Functions

static void getDegeneratedVertices (GFace *gf, std::set< GEntity * > &degenerated)
 
static bool intersection_segments_2 (double *p1, double *p2, double *q1, double *q2)
 
template<class ITERATOR >
void _printTris (char *name, ITERATOR it, ITERATOR end, bidimMeshData *data, GFace *gf=nullptr, std::set< GEntity * > *degenerated=nullptr)
 
static bool isActive (MTri3 *t, double limit_, int &active)
 
static bool isActive (MTri3 *t, double limit_, int &i, std::set< MEdge, MEdgeLessThan > *front)
 
static void updateActiveEdges (MTri3 *t, double limit_, std::set< MEdge, MEdgeLessThan > &front)
 
static void circumCenterMetric (double *pa, double *pb, double *pc, const double *metric, double *x, double &Radius2)
 
static void circumCenterMetricXYZ (double *p1, double *p2, double *p3, SMetric3 &metric, double *res, double *uv, double &radius)
 
static void circumCenterMetric (MTriangle *base, const double *metric, bidimMeshData &data, double *x, double &Radius2)
 
void buildMetric (GFace *gf, double *uv, double *metric)
 
static double computeTolerance (const double radius)
 
int inCircumCircleAniso (GFace *gf, double *p1, double *p2, double *p3, double *uv, double *metric)
 
int inCircumCircleAniso (GFace *gf, MTriangle *base, const double *uv, const double *metricb, bidimMeshData &data)
 
static void fourthPoint (double *p1, double *p2, double *p3, double *p4)
 
int inCircumCircle (MTriangle *base, const double *p, const double *param, bidimMeshData &data)
 
template<class Iterator >
static void connectTris (Iterator beg, Iterator end, std::vector< edgeXface > &conn)
 
void connectTriangles (std::list< MTri3 * > &l)
 
void connectTriangles (std::vector< MTri3 * > &l)
 
void connectTriangles (std::set< MTri3 *, compareTri3Ptr > &l)
 
static int inCircumCircleXY (MTriangle *t, MVertex *v)
 
static void recurFindCavity (std::vector< edgeXface > &shell, std::vector< MTri3 * > &cavity, MVertex *v, MTri3 *t)
 
static void recurFindCavityAniso (GFace *gf, std::list< edgeXface > &shell, std::list< MTri3 * > &cavity, double *metric, double *param, MTri3 *t, bidimMeshData &data)
 
static bool circUV (MTriangle *t, bidimMeshData &data, double *res, GFace *gf)
 
static bool invMapUV (MTriangle *t, double *p, bidimMeshData &data, double *uv, double tol)
 
double getSurfUV (MTriangle *t, bidimMeshData &data)
 
static int insertVertexB (std::list< edgeXface > &shell, std::list< MTri3 * > &cavity, bool force, GFace *gf, MVertex *v, double *param, MTri3 *t, std::set< MTri3 *, compareTri3Ptr > &allTets, std::set< MTri3 *, compareTri3Ptr > *activeTets, bidimMeshData &data, double *metric, MTri3 **oneNewTriangle, bool verifyStarShapeness=true)
 
static bool invMapXY (MTriangle *t, MVertex *v)
 
static MTri3search4Triangle (MTri3 *t, MVertex *v, int maxx, int &ITER)
 
static MTri3search4Triangle (MTri3 *t, double pt[2], bidimMeshData &data, std::set< MTri3 *, compareTri3Ptr > &AllTris, double uv[2], bool force=false)
 
static bool insertAPoint (GFace *gf, std::set< MTri3 *, compareTri3Ptr >::iterator it, double center[2], double metric[3], bidimMeshData &data, std::set< MTri3 *, compareTri3Ptr > &AllTris, std::set< MTri3 *, compareTri3Ptr > *ActiveTris=nullptr, MTri3 *worst=nullptr, MTri3 **oneNewTriangle=nullptr, bool testStarShapeness=false)
 
void bowyerWatson (GFace *gf, int MAXPNT, std::map< MVertex *, MVertex * > *equivalence, std::map< MVertex *, SPoint2 > *parametricCoordinates)
 
static double lengthInfniteNorm (const double p[2], const double q[2], const double quadAngle)
 
static void circumCenterInfinite (MTriangle *base, double quadAngle, bidimMeshData &data, double *x)
 
static double lengthMetric (const double p[2], const double q[2], const double metric[3])
 
static double optimalPointFrontal (GFace *gf, MTri3 *worst, int active_edge, bidimMeshData &data, double newPoint[2], double metric[3])
 
static bool optimalPointFrontalB (GFace *gf, MTri3 *worst, int active_edge, bidimMeshData &data, double newPoint[2], double metric[3])
 
void bowyerWatsonFrontal (GFace *gf, std::map< MVertex *, MVertex * > *equivalence, std::map< MVertex *, SPoint2 > *parametricCoordinates, std::vector< SPoint2 > *true_boundary)
 
static void optimalPointFrontalQuad (GFace *gf, MTri3 *worst, int active_edge, bidimMeshData &data, double newPoint[2], double metric[3])
 
void buildBackgroundMesh (GFace *gf, bool crossFieldClosestPoint, std::map< MVertex *, MVertex * > *equivalence, std::map< MVertex *, SPoint2 > *parametricCoordinates)
 
void bowyerWatsonFrontalLayers (GFace *gf, bool quad, std::map< MVertex *, MVertex * > *equivalence, std::map< MVertex *, SPoint2 > *parametricCoordinates)
 
void bowyerWatsonParallelograms (GFace *gf, std::map< MVertex *, MVertex * > *equivalence, std::map< MVertex *, SPoint2 > *parametricCoordinates)
 
void bowyerWatsonParallelogramsConstrained (GFace *gf, const std::set< MVertex * > &constr_vertices, std::map< MVertex *, MVertex * > *equivalence, std::map< MVertex *, SPoint2 > *parametricCoordinates)
 
static void initialSquare (std::vector< MVertex * > &v, MVertex *box[4], std::vector< MTri3 * > &t)
 
static MTri3getTriToBreak (MVertex *v, std::vector< MTri3 * > &t, int &ITER)
 
static bool triOnBox (MTriangle *t, MVertex *box[4])
 
void recoverEdges (std::vector< MTri3 * > &t, std::vector< MEdge > &edges)
 
void delaunayMeshIn2D (std::vector< MVertex * > &v, std::vector< MTriangle * > &result, bool removeBox, std::vector< MEdge > *edgesToRecover, bool hilbertSort)
 
bool swapedge (MVertex *v1, MVertex *v2, MVertex *v3, MVertex *v4, MTri3 *t1, int iLocalEdge)
 
bool diffend (MVertex *v1, MVertex *v2, MVertex *p1, MVertex *p2)
 
static bool recoverEdgeBySwaps (std::vector< MTri3 * > &t, MVertex *mv1, MVertex *mv2, std::vector< MEdge > &edges)
 

Variables

static double LIMIT_ = 0.5 * std::sqrt(2.0) * 1
 

Function Documentation

◆ _printTris()

template<class ITERATOR >
void _printTris ( char *  name,
ITERATOR  it,
ITERATOR  end,
bidimMeshData data,
GFace gf = nullptr,
std::set< GEntity * > *  degenerated = nullptr 
)

Definition at line 64 of file meshGFaceDelaunayInsertion.cpp.

Here is the call graph for this function:

◆ bowyerWatson()

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

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,
std::map< MVertex *, SPoint2 > *  parametricCoordinates,
std::vector< SPoint2 > *  true_boundary 
)

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,
std::map< MVertex *, SPoint2 > *  parametricCoordinates 
)

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,
std::map< MVertex *, SPoint2 > *  parametricCoordinates 
)

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,
std::map< MVertex *, SPoint2 > *  parametricCoordinates 
)

Definition at line 1711 of file meshGFaceDelaunayInsertion.cpp.

Here is the call graph for this function:

◆ buildBackgroundMesh()

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

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 
)

◆ circumCenterInfinite()

static void circumCenterInfinite ( MTriangle base,
double  quadAngle,
bidimMeshData data,
double *  x 
)
static

Definition at line 1108 of file meshGFaceDelaunayInsertion.cpp.

Referenced by optimalPointFrontalQuad().

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

◆ circumCenterMetric() [1/2]

static void circumCenterMetric ( double *  pa,
double *  pb,
double *  pc,
const double *  metric,
double *  x,
double &  Radius2 
)
static

Definition at line 246 of file meshGFaceDelaunayInsertion.cpp.

Referenced by bowyerWatson(), circumCenterMetric(), circumCenterMetricXYZ(), inCircumCircleAniso(), and optimalPointFrontal().

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

◆ circumCenterMetric() [2/2]

static void circumCenterMetric ( MTriangle base,
const double *  metric,
bidimMeshData data,
double *  x,
double &  Radius2 
)
static

Definition at line 319 of file meshGFaceDelaunayInsertion.cpp.

Here is the call graph for this function:

◆ circumCenterMetricXYZ()

static void circumCenterMetricXYZ ( double *  p1,
double *  p2,
double *  p3,
SMetric3 metric,
double *  res,
double *  uv,
double &  radius 
)
static

Definition at line 278 of file meshGFaceDelaunayInsertion.cpp.

Referenced by MTri3::MTri3().

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

◆ circUV()

static bool circUV ( MTriangle t,
bidimMeshData data,
double *  res,
GFace gf 
)
static

Definition at line 623 of file meshGFaceDelaunayInsertion.cpp.

Referenced by bowyerWatson(), and optimalPointFrontal().

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

◆ computeTolerance()

static double computeTolerance ( const double  radius)
static

Definition at line 341 of file meshGFaceDelaunayInsertion.cpp.

Referenced by inCircumCircleAniso().

Here is the caller graph for this function:

◆ connectTriangles() [1/3]

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

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 > &  l)

Definition at line 555 of file meshGFaceDelaunayInsertion.cpp.

Here is the call graph for this function:

◆ connectTriangles() [3/3]

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

Definition at line 549 of file meshGFaceDelaunayInsertion.cpp.

Here is the call graph for this function:

◆ connectTris()

template<class Iterator >
static void connectTris ( Iterator  beg,
Iterator  end,
std::vector< edgeXface > &  conn 
)
static

Definition at line 515 of file meshGFaceDelaunayInsertion.cpp.

Referenced by connectTriangles(), delaunayMeshIn2D(), insertVertexB(), and swapedge().

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

◆ delaunayMeshIn2D()

void delaunayMeshIn2D ( std::vector< MVertex * > &  v,
std::vector< MTriangle * > &  result,
bool  removeBox,
std::vector< MEdge > *  edgesToRecover,
bool  hilbertSort 
)

Definition at line 1834 of file meshGFaceDelaunayInsertion.cpp.

Here is the call graph for this function:

◆ diffend()

bool diffend ( MVertex v1,
MVertex v2,
MVertex p1,
MVertex p2 
)

Definition at line 1947 of file meshGFaceDelaunayInsertion.cpp.

Referenced by recoverEdgeBySwaps().

Here is the caller graph for this function:

◆ fourthPoint()

static void fourthPoint ( double *  p1,
double *  p2,
double *  p3,
double *  p4 
)
static

Definition at line 394 of file meshGFaceDelaunayInsertion.cpp.

Referenced by MTri3::inCircumCircle().

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

◆ getDegeneratedVertices()

static void getDegeneratedVertices ( GFace gf,
std::set< GEntity * > &  degenerated 
)
static

Definition at line 37 of file meshGFaceDelaunayInsertion.cpp.

Referenced by bowyerWatsonFrontal().

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

◆ getSurfUV()

double getSurfUV ( MTriangle t,
bidimMeshData data 
)
inline

Definition at line 665 of file meshGFaceDelaunayInsertion.cpp.

Referenced by insertVertexB().

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

◆ getTriToBreak()

static MTri3* getTriToBreak ( MVertex v,
std::vector< MTri3 * > &  t,
int &  ITER 
)
static

Definition at line 1806 of file meshGFaceDelaunayInsertion.cpp.

Referenced by delaunayMeshIn2D().

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

◆ inCircumCircle()

int inCircumCircle ( MTriangle base,
const double *  p,
const double *  param,
bidimMeshData data 
)

Definition at line 499 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 *  uv,
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 *  metricb,
bidimMeshData data 
)

Definition at line 363 of file meshGFaceDelaunayInsertion.cpp.

Here is the call graph for this function:

◆ inCircumCircleXY()

static int inCircumCircleXY ( MTriangle t,
MVertex v 
)
static

Definition at line 561 of file meshGFaceDelaunayInsertion.cpp.

Referenced by getTriToBreak(), and recurFindCavity().

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

◆ initialSquare()

static void initialSquare ( std::vector< MVertex * > &  v,
MVertex box[4],
std::vector< MTri3 * > &  t 
)
static

Definition at line 1786 of file meshGFaceDelaunayInsertion.cpp.

Referenced by delaunayMeshIn2D().

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

◆ insertAPoint()

static bool insertAPoint ( GFace gf,
std::set< MTri3 *, compareTri3Ptr >::iterator  it,
double  center[2],
double  metric[3],
bidimMeshData data,
std::set< MTri3 *, compareTri3Ptr > &  AllTris,
std::set< MTri3 *, compareTri3Ptr > *  ActiveTris = nullptr,
MTri3 worst = nullptr,
MTri3 **  oneNewTriangle = nullptr,
bool  testStarShapeness = false 
)
static

Definition at line 923 of file meshGFaceDelaunayInsertion.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:

◆ insertVertexB()

static int insertVertexB ( std::list< edgeXface > &  shell,
std::list< MTri3 * > &  cavity,
bool  force,
GFace gf,
MVertex v,
double *  param,
MTri3 t,
std::set< MTri3 *, compareTri3Ptr > &  allTets,
std::set< MTri3 *, compareTri3Ptr > *  activeTets,
bidimMeshData data,
double *  metric,
MTri3 **  oneNewTriangle,
bool  verifyStarShapeness = true 
)
static

Definition at line 684 of file meshGFaceDelaunayInsertion.cpp.

Referenced by insertAPoint().

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

◆ intersection_segments_2()

static bool intersection_segments_2 ( double *  p1,
double *  p2,
double *  q1,
double *  q2 
)
inlinestatic

Definition at line 51 of file meshGFaceDelaunayInsertion.cpp.

Referenced by search4Triangle().

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

◆ invMapUV()

static bool invMapUV ( MTriangle t,
double *  p,
bidimMeshData data,
double *  uv,
double  tol 
)
static

Definition at line 635 of file meshGFaceDelaunayInsertion.cpp.

Referenced by insertAPoint(), and search4Triangle().

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

◆ invMapXY()

static bool invMapXY ( MTriangle t,
MVertex v 
)
static

Definition at line 825 of file meshGFaceDelaunayInsertion.cpp.

Referenced by search4Triangle().

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

◆ isActive() [1/2]

static bool isActive ( MTri3 t,
double  limit_,
int &  active 
)
static

Definition at line 199 of file meshGFaceDelaunayInsertion.cpp.

Referenced by bowyerWatsonFrontal(), bowyerWatsonFrontalLayers(), and insertVertexB().

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

◆ isActive() [2/2]

static bool isActive ( MTri3 t,
double  limit_,
int &  i,
std::set< MEdge, MEdgeLessThan > *  front 
)
static

Definition at line 215 of file meshGFaceDelaunayInsertion.cpp.

Here is the call graph for this function:

◆ lengthInfniteNorm()

static double lengthInfniteNorm ( const double  p[2],
const double  q[2],
const double  quadAngle 
)
static

Definition at line 1094 of file meshGFaceDelaunayInsertion.cpp.

Referenced by optimalPointFrontalQuad().

Here is the caller graph for this function:

◆ lengthMetric()

static double lengthMetric ( const double  p[2],
const double  q[2],
const double  metric[3] 
)
static

Definition at line 1131 of file meshGFaceDelaunayInsertion.cpp.

Referenced by optimalPointFrontal().

Here is the caller graph for this function:

◆ optimalPointFrontal()

static double optimalPointFrontal ( GFace gf,
MTri3 worst,
int  active_edge,
bidimMeshData data,
double  newPoint[2],
double  metric[3] 
)
static

Definition at line 1163 of file meshGFaceDelaunayInsertion.cpp.

Referenced by optimalPointFrontalB().

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

◆ optimalPointFrontalB()

static bool optimalPointFrontalB ( GFace gf,
MTri3 worst,
int  active_edge,
bidimMeshData data,
double  newPoint[2],
double  metric[3] 
)
static

Definition at line 1235 of file meshGFaceDelaunayInsertion.cpp.

Referenced by bowyerWatsonFrontal(), and bowyerWatsonFrontalLayers().

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

◆ optimalPointFrontalQuad()

static void optimalPointFrontalQuad ( GFace gf,
MTri3 worst,
int  active_edge,
bidimMeshData data,
double  newPoint[2],
double  metric[3] 
)
static

Definition at line 1366 of file meshGFaceDelaunayInsertion.cpp.

Referenced by bowyerWatsonFrontalLayers().

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

◆ recoverEdgeBySwaps()

static bool recoverEdgeBySwaps ( std::vector< MTri3 * > &  t,
MVertex mv1,
MVertex mv2,
std::vector< MEdge > &  edges 
)
static

Definition at line 1953 of file meshGFaceDelaunayInsertion.cpp.

Referenced by recoverEdges().

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

◆ recoverEdges()

void recoverEdges ( std::vector< MTri3 * > &  t,
std::vector< MEdge > &  edges 
)

Definition at line 1991 of file meshGFaceDelaunayInsertion.cpp.

Referenced by delaunayMeshIn2D().

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

◆ recurFindCavity()

static void recurFindCavity ( std::vector< edgeXface > &  shell,
std::vector< MTri3 * > &  cavity,
MVertex v,
MTri3 t 
)
static

Definition at line 575 of file meshGFaceDelaunayInsertion.cpp.

Referenced by delaunayMeshIn2D().

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

◆ recurFindCavityAniso()

static void recurFindCavityAniso ( GFace gf,
std::list< edgeXface > &  shell,
std::list< MTri3 * > &  cavity,
double *  metric,
double *  param,
MTri3 t,
bidimMeshData data 
)
static

Definition at line 597 of file meshGFaceDelaunayInsertion.cpp.

Referenced by insertAPoint().

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

◆ search4Triangle() [1/2]

static MTri3* search4Triangle ( MTri3 t,
double  pt[2],
bidimMeshData data,
std::set< MTri3 *, compareTri3Ptr > &  AllTris,
double  uv[2],
bool  force = false 
)
static

Definition at line 874 of file meshGFaceDelaunayInsertion.cpp.

Here is the call graph for this function:

◆ search4Triangle() [2/2]

static MTri3* search4Triangle ( MTri3 t,
MVertex v,
int  maxx,
int &  ITER 
)
static

Definition at line 847 of file meshGFaceDelaunayInsertion.cpp.

Referenced by getTriToBreak(), and insertAPoint().

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

◆ swapedge()

bool swapedge ( MVertex v1,
MVertex v2,
MVertex v3,
MVertex v4,
MTri3 t1,
int  iLocalEdge 
)

Definition at line 1912 of file meshGFaceDelaunayInsertion.cpp.

Referenced by recoverEdgeBySwaps().

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

◆ triOnBox()

static bool triOnBox ( MTriangle t,
MVertex box[4] 
)
static

Definition at line 1820 of file meshGFaceDelaunayInsertion.cpp.

Referenced by delaunayMeshIn2D().

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

◆ updateActiveEdges()

static void updateActiveEdges ( MTri3 t,
double  limit_,
std::set< MEdge, MEdgeLessThan > &  front 
)
static

Definition at line 231 of file meshGFaceDelaunayInsertion.cpp.

Referenced by bowyerWatsonFrontalLayers().

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

Variable Documentation

◆ LIMIT_

double LIMIT_ = 0.5 * std::sqrt(2.0) * 1
static