gmsh-TingyuanDoc
0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
|
Go to the documentation of this file.
6 #ifndef DIVIDE_AND_CONQUER_H
7 #define DIVIDE_AND_CONQUER_H
120 void *a = (p1 < p2) ? p1 : p2;
121 void *b = (p1 > p2) ? p1 : p2;
126 void *a = (p1 < p2) ? p1 : p2;
127 void *b = (p1 > p2) ? p1 : p2;
133 int, std::set<int> &,
134 std::map<std::pair<void *, void *>, std::pair<int, int> > &);
149 void *a = (p1 < p2) ? p1 : p2;
150 void *b = (p1 > p2) ? p1 : p2;
155 void *a = (p1 < p2) ? p1 : p2;
156 void *b = (p1 > p2) ? p1 : p2;
157 auto it =
mesh_edges.find(std::make_pair(a, b));
169 double &xc,
double &yc,
double &inertia,
172 double &yc,
double &inertia,
double &areaCell,
int FixFirst(PointNumero x, PointNumero f)
void recur_tag_triangles(int, std::set< int > &, std::map< std::pair< void *, void * >, std::pair< int, int > > &)
int Qtest(PointNumero h, PointNumero i, PointNumero j, PointNumero k)
int IsRightOf(PointNumero x, PointNumero y, PointNumero check)
std::set< int > tagInterior(double, double)
Segment UpperCommonTangent(DT vl, DT vr)
int Delete(PointNumero a, PointNumero b)
double angle(const SVector3 &a, const SVector3 &b)
bool delaunay_conformity(GFace *)
void ConvertDListToVoronoiData()
PointNumero * ConvertDlistToArray(DListPeek *dlist, int *n)
std::set< std::pair< void *, void * > > mesh_edges
void f(int n, double u, double *val)
PointNumero First(PointNumero x)
bool AdjacentNullptrExists()
bool lookForBoundaryEdge(void *p1, void *p2)
int ConvertDListToTriangles()
std::set< std::pair< void *, void * > > boundaryEdges
void concave(double, double, GFace *)
int IsLeftOf(PointNumero x, PointNumero y, PointNumero check)
std::vector< void * > vicinity
PointNumero Successor(PointNumero a, PointNumero b)
int Insert(PointNumero a, PointNumero b)
void printMedialAxis(Octree *_octree, const std::string &, GFace *gf=nullptr, GEdge *ge=nullptr)
int DListInsert(PointNumero centerPoint, PointNumero newPoint)
void setPoints(fullMatrix< double > *p)
void add_point(double, double, GFace *)
struct CDList * DListPeek
int onHull(PointNumero i)
bool contain(int, int, int)
bool find_edge(void *p1, void *p2)
int DListDelete(DListPeek *dlist, PointNumero oldPoint)
void makePosView(const std::string &, GFace *gf=nullptr)
Segment LowerCommonTangent(DT vl, DT vr)
void add_edge(void *p1, void *p2)
PointNumero Predecessor(PointNumero a, PointNumero b)
void centroidOfPolygon(SPoint2 &pc, std::vector< SPoint2 > &pts, double &xc, double &yc, double &inertia, double &areaCell, simpleFunction< double > *bgm=nullptr)
void centroidOfOrientedBox(std::vector< SPoint2 > &pts, const double &angle, double &xc, double &yc, double &inertia, double &area)
void MakeMeshWithPoints()
DT RecurTrig(PointNumero left, PointNumero right)
void addBoundaryEdge(void *p1, void *p2)
void voronoiCell(PointNumero pt, std::vector< SPoint2 > &pts) const