gmsh-TingyuanDoc
0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
|
Go to the documentation of this file.
42 Vertex(
double X = 0.,
double Y = 0.,
double Z = 0.,
double l = 1.,
179 double X = v->
Pos.
X * mat[0][0] + v->
Pos.
Y * mat[0][1] + v->
Pos.
Z * mat[0][2];
180 double Y = v->
Pos.
X * mat[1][0] + v->
Pos.
Y * mat[1][1] + v->
Pos.
Z * mat[1][2];
181 double Z = v->
Pos.
X * mat[2][0] + v->
Pos.
Y * mat[2][1] + v->
Pos.
Z * mat[2][2];
191 int p1,
int p2,
double u1,
double u2,
bool &ok);
211 bool DilatShapes(
double X,
double Y,
double Z,
double A,
double B,
double C,
213 bool RotateShapes(
double Ax,
double Ay,
double Az,
double Px,
double Py,
214 double Pz,
double alpha,
List_T *shapes);
232 double T2,
double A0,
double A1,
double A2,
double X0,
int CompareSurface(const void *a, const void *b)
void DeletePhysicalSurface(int Num)
void DeletePhysicalVolume(int Num)
void DeletePhysicalLine(int Num)
int CompareSurfaceLoop(const void *a, const void *b)
static double c(int i, int j, fullMatrix< double > &CA, const std::vector< SPoint3 > &P, const std::vector< SPoint3 > &Q)
void FreeCurve(void *a, void *b)
Surface * FindSurface(int inum)
void ReplaceAllDuplicates()
int List_Nbr(List_T *liste)
void EndSurface(Surface *s)
void FreeSurface(void *a, void *b)
void DeletePoint(int Num, bool recursive=false)
int RecognizeLineLoop(List_T *liste, int *loop)
Curve * DuplicateCurve(Curve *c)
void SetSymmetryMatrix(double matrix[4][4], double A, double B, double C, double D)
Curve * CreateReversedCurve(Curve *c)
void DeletePhysicalPoint(int Num)
Curve * FindCurve(int inum)
void FreePhysicalGroup(void *a, void *b)
bool SetVolumeSurfaces(Volume *v, List_T *loops)
Vertex(double X=0., double Y=0., double Z=0., double l=1., double W=1.)
Vertex * FindPoint(int inum)
Vertex * DuplicateVertex(Vertex *v)
void FreeSurfaceLoop(void *a, void *b)
bool TranslateShapes(double X, double Y, double Z, List_T *shapes)
std::list< double > affineTransformation
void ProtudeXYZ(double &x, double &y, double &z, ExtrudeParams *e)
Surface * CreateSurface(int Num, int Typ)
int RecognizeSurfaceLoop(List_T *liste, int *loop)
int CompareVertex(const void *a, const void *b)
void SetRotationMatrix(double matrix[4][4], double Axe[3], double alpha)
void Projette(Vertex *v, double mat[3][3])
int CompareEdgeLoop(const void *a, const void *b)
int ComparePhysicalGroup(const void *a, const void *b)
SurfaceLoop * CreateSurfaceLoop(int Num, List_T *intlist)
Volume * DuplicateVolume(Volume *s)
EdgeLoop * CreateEdgeLoop(int Num, List_T *intlist)
bool SortEdgesInLoop(int num, List_T *edges, bool reorient=false)
PhysicalGroup * FindPhysicalGroup(int inum, int type)
Surface * DuplicateSurface(Surface *s)
bool SymmetryShapes(double A, double B, double C, double D, List_T *shapes)
List_T * SurfacesOrientations
bool ProjectPointOnSurface(Surface *s, Vertex &p, double uv[2])
bool DilatShapes(double X, double Y, double Z, double A, double B, double C, List_T *shapes)
void DeleteSurface(int Num, bool recursive=false)
int CompareCurve(const void *a, const void *b)
bool IntersectCurvesWithSurface(List_T *curve_ids, int surface_id, List_T *shapes)
void FreeVolume(void *a, void *b)
void DeleteVolume(int Num, bool recursive=false)
List_T * GeneratricesByTag
void SetTranslationMatrix(double matrix[4][4], double T[3])
EdgeLoop * FindEdgeLoop(int inum)
Volume * CreateVolume(int Num, int Typ)
bool RotateShapes(double Ax, double Ay, double Az, double Px, double Py, double Pz, double alpha, List_T *shapes)
void ExtrudeShapes(int extrude_type, List_T *in, double T0, double T1, double T2, double A0, double A1, double A2, double X0, double X1, double X2, double alpha, ExtrudeParams *e, List_T *out)
void FreeVertex(void *a, void *b)
int CompareVolume(const void *a, const void *b)
Vertex operator%(Vertex &autre)
void DeleteCurve(int Num, bool recursive=false)
Volume * FindVolume(int inum)
Vertex * CreateVertex(int Num, double X, double Y, double Z, double lc, double u)
void ReplaceAllDuplicatesNew(double tol=-1.)
void SetDilatationMatrix(double matrix[4][4], double T[3], double A, double B, double C)
Curve * CreateCurve(int Num, int Typ, int Order, List_T *Liste, List_T *Knots, int p1, int p2, double u1, double u2, bool &ok)
SurfaceLoop * FindSurfaceLoop(int inum)
PhysicalGroup * CreatePhysicalGroup(int Num, int typ, List_T *intlist)
bool SetSurfaceGeneratrices(Surface *s, List_T *loops)
void FreeEdgeLoop(void *a, void *b)
bool SplitCurve(int line_id, List_T *vertices_id, List_T *curves)