gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
BDS_Mesh Class Reference

#include <BDS.h>

Public Member Functions

 BDS_Mesh (int MAXX=0)
 
virtual ~BDS_Mesh ()
 
 BDS_Mesh (const BDS_Mesh &other)
 
BDS_Pointadd_point (int num, double x, double y, double z)
 
BDS_Pointadd_point (int num, double u, double v, GFace *gf)
 
void del_point (BDS_Point *p)
 
BDS_Pointfind_point (int num)
 
BDS_Edgeadd_edge (int p1, int p2)
 
void del_edge (BDS_Edge *e)
 
BDS_Edgefind_edge (int p1, int p2)
 
BDS_Edgefind_edge (BDS_Point *p1, BDS_Point *p2)
 
BDS_Edgefind_edge (BDS_Point *p1, int p2)
 
BDS_Edgefind_edge (BDS_Point *p1, BDS_Point *p2, BDS_Face *t) const
 
BDS_Faceadd_triangle (int p1, int p2, int p3)
 
BDS_Faceadd_triangle (BDS_Edge *e1, BDS_Edge *e2, BDS_Edge *e3)
 
void del_face (BDS_Face *t)
 
BDS_Facefind_triangle (BDS_Edge *e1, BDS_Edge *e2, BDS_Edge *e3)
 
void add_geom (int degree, int tag)
 
BDS_GeomEntityget_geom (int p1, int p2)
 
BDS_Edgerecover_edge (int p1, int p2, bool &_fatal, std::set< EdgeToRecover > *e2r=nullptr, std::set< EdgeToRecover > *not_recovered=nullptr)
 
BDS_Edgerecover_edge_fast (BDS_Point *p1, BDS_Point *p2)
 
bool swap_edge (BDS_Edge *, const BDS_SwapEdgeTest &theTest, bool force=false)
 Can invalidate the iterators for edge. More...
 
bool collapse_edge_parametric (BDS_Edge *, BDS_Point *, bool=false)
 
bool smooth_point_centroid (BDS_Point *p, GFace *gf, double thresh)
 
bool split_edge (BDS_Edge *, BDS_Point *, bool check_area_param=false)
 
bool edge_constraint (BDS_Point *p1, BDS_Point *p2)
 
void cleanup ()
 

Public Attributes

int MAXPOINTNUMBER
 
double Min [3]
 
double Max [3]
 
double LC
 
std::set< BDS_GeomEntity *, GeomLessThangeom
 
std::set< BDS_Point *, PointLessThanpoints
 
std::vector< BDS_Edge * > edges
 
std::vector< BDS_Face * > triangles
 

Detailed Description

Definition at line 339 of file BDS.h.

Constructor & Destructor Documentation

◆ BDS_Mesh() [1/2]

BDS_Mesh::BDS_Mesh ( int  MAXX = 0)
inline

Definition at line 343 of file BDS.h.

◆ ~BDS_Mesh()

BDS_Mesh::~BDS_Mesh ( )
virtual

Definition at line 665 of file BDS.cpp.

Here is the call graph for this function:

◆ BDS_Mesh() [2/2]

BDS_Mesh::BDS_Mesh ( const BDS_Mesh other)

Member Function Documentation

◆ add_edge()

BDS_Edge * BDS_Mesh::add_edge ( int  p1,
int  p2 
)

Definition at line 479 of file BDS.cpp.

Referenced by add_triangle().

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

◆ add_geom()

void BDS_Mesh::add_geom ( int  degree,
int  tag 
)

Definition at line 539 of file BDS.cpp.

Referenced by buildConsecutiveListOfVertices(), meshGenerator(), meshGeneratorPeriodic(), recoverEdge(), and refineMeshBDS().

Here is the caller graph for this function:

◆ add_point() [1/2]

BDS_Point * BDS_Mesh::add_point ( int  num,
double  u,
double  v,
GFace gf 
)

Definition at line 266 of file BDS.cpp.

Here is the call graph for this function:

◆ add_point() [2/2]

BDS_Point * BDS_Mesh::add_point ( int  num,
double  x,
double  y,
double  z 
)

Definition at line 257 of file BDS.cpp.

Referenced by buildConsecutiveListOfVertices(), meshGenerator(), meshGeneratorPeriodic(), splitAllEdgesConnectedToSingularity(), and splitEdgePass().

Here is the caller graph for this function:

◆ add_triangle() [1/2]

BDS_Face * BDS_Mesh::add_triangle ( BDS_Edge e1,
BDS_Edge e2,
BDS_Edge e3 
)

Definition at line 505 of file BDS.cpp.

◆ add_triangle() [2/2]

BDS_Face * BDS_Mesh::add_triangle ( int  p1,
int  p2,
int  p3 
)

Definition at line 496 of file BDS.cpp.

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

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

◆ cleanup()

void BDS_Mesh::cleanup ( )

Definition at line 642 of file BDS.cpp.

Referenced by meshGenerator(), meshGeneratorPeriodic(), refineMeshBDS(), swapEdgePass(), and ~BDS_Mesh().

Here is the caller graph for this function:

◆ collapse_edge_parametric()

bool BDS_Mesh::collapse_edge_parametric ( BDS_Edge e,
BDS_Point p,
bool  force = false 
)

Definition at line 1074 of file BDS.cpp.

Referenced by collapseEdgePass(), and modifyInitialMeshToRemoveDegeneracies().

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

◆ del_edge()

void BDS_Mesh::del_edge ( BDS_Edge e)

Definition at line 525 of file BDS.cpp.

Referenced by collapse_edge_parametric(), meshGenerator(), meshGeneratorPeriodic(), split_edge(), and swap_edge().

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

◆ del_face()

void BDS_Mesh::del_face ( BDS_Face t)

Definition at line 515 of file BDS.cpp.

Referenced by collapse_edge_parametric(), meshGenerator(), meshGeneratorPeriodic(), split_edge(), and swap_edge().

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

◆ del_point()

void BDS_Mesh::del_point ( BDS_Point p)

Definition at line 533 of file BDS.cpp.

Referenced by meshGenerator(), meshGeneratorPeriodic(), splitAllEdgesConnectedToSingularity(), and splitEdgePass().

Here is the caller graph for this function:

◆ edge_constraint()

bool BDS_Mesh::edge_constraint ( BDS_Point p1,
BDS_Point p2 
)

◆ find_edge() [1/4]

BDS_Edge * BDS_Mesh::find_edge ( BDS_Point p1,
BDS_Point p2 
)

Definition at line 296 of file BDS.cpp.

Here is the call graph for this function:

◆ find_edge() [2/4]

BDS_Edge * BDS_Mesh::find_edge ( BDS_Point p1,
BDS_Point p2,
BDS_Face t 
) const

Definition at line 440 of file BDS.cpp.

◆ find_edge() [3/4]

BDS_Edge * BDS_Mesh::find_edge ( BDS_Point p1,
int  p2 
)

Definition at line 285 of file BDS.cpp.

◆ find_edge() [4/4]

BDS_Edge * BDS_Mesh::find_edge ( int  p1,
int  p2 
)

Definition at line 301 of file BDS.cpp.

Referenced by add_edge(), collapse_edge_parametric(), find_edge(), meshGeneratorPeriodic(), recover_edge(), recover_edge_fast(), split_edge(), and swap_edge().

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

◆ find_point()

BDS_Point * BDS_Mesh::find_point ( int  num)

Definition at line 277 of file BDS.cpp.

Referenced by add_edge(), find_edge(), meshGenerator(), meshGeneratorPeriodic(), and recover_edge().

Here is the caller graph for this function:

◆ find_triangle()

BDS_Face * BDS_Mesh::find_triangle ( BDS_Edge e1,
BDS_Edge e2,
BDS_Edge e3 
)

Definition at line 462 of file BDS.cpp.

Here is the call graph for this function:

◆ get_geom()

BDS_GeomEntity * BDS_Mesh::get_geom ( int  p1,
int  p2 
)

Definition at line 597 of file BDS.cpp.

Referenced by buildConsecutiveListOfVertices(), meshGenerator(), meshGeneratorPeriodic(), recoverEdge(), and refineMeshBDS().

Here is the caller graph for this function:

◆ recover_edge()

BDS_Edge * BDS_Mesh::recover_edge ( int  p1,
int  p2,
bool &  _fatal,
std::set< EdgeToRecover > *  e2r = nullptr,
std::set< EdgeToRecover > *  not_recovered = nullptr 
)

Definition at line 347 of file BDS.cpp.

Referenced by meshGeneratorPeriodic(), and recoverEdge().

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

◆ recover_edge_fast()

BDS_Edge * BDS_Mesh::recover_edge_fast ( BDS_Point p1,
BDS_Point p2 
)

Definition at line 323 of file BDS.cpp.

Here is the call graph for this function:

◆ smooth_point_centroid()

bool BDS_Mesh::smooth_point_centroid ( BDS_Point p,
GFace gf,
double  thresh 
)

Definition at line 1613 of file BDS.cpp.

Referenced by smoothVertexPass().

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

◆ split_edge()

bool BDS_Mesh::split_edge ( BDS_Edge e,
BDS_Point mid,
bool  check_area_param = false 
)

Definition at line 674 of file BDS.cpp.

Referenced by splitAllEdgesConnectedToSingularity(), and splitEdgePass().

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

◆ swap_edge()

bool BDS_Mesh::swap_edge ( BDS_Edge e,
const BDS_SwapEdgeTest theTest,
bool  force = false 
)

Can invalidate the iterators for edge.

Definition at line 926 of file BDS.cpp.

Referenced by delaunayizeBDS(), recover_edge(), recover_edge_fast(), and swapEdgePass().

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

Member Data Documentation

◆ edges

◆ geom

std::set<BDS_GeomEntity *, GeomLessThan> BDS_Mesh::geom

Definition at line 346 of file BDS.h.

Referenced by add_geom(), get_geom(), and ~BDS_Mesh().

◆ LC

double BDS_Mesh::LC

Definition at line 342 of file BDS.h.

◆ Max

double BDS_Mesh::Max[3]

Definition at line 342 of file BDS.h.

◆ MAXPOINTNUMBER

int BDS_Mesh::MAXPOINTNUMBER

◆ Min

double BDS_Mesh::Min[3]

Definition at line 342 of file BDS.h.

◆ points

◆ triangles


The documentation for this class was generated from the following files: