gmsh-TingyuanDoc
0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
|
#include <stdio.h>
#include <stdlib.h>
#include <queue>
#include <map>
#include <vector>
#include "gmsh.h"
#include "SPoint2.h"
#include "SVector3.h"
#include "meshTriangulation.h"
#include "robustPredicates.h"
Go to the source code of this file.
Functions | |
static void | analyze2dMetric (std::vector< double > &val, double &C, double &S, double &h1, double &h2) |
double | bestParabola (double x0, double y0, double x1, double y1, double &xmid, double &ymid, int VIEW_TAG) |
double | objectiveFunction_L (double x0, double y0, double xt, double yt, double x1, double y1, int VIEW_TAG) |
static double | maxDir (double &c, double &s, double &h, const double &C, const double &S, const double &H1, const double &H2) |
static int | check_triangle_validity_2d (double *xa, double *xb, double *xc) |
static double | interpolateTriangleP2 (double xi, double eta, double v0, double v1, double v2, double v3, double v4, double v5) |
static void | derivativeP2 (double u, double v, double dfdu[6], double dfdv[6]) |
static void | jac_corners_p2 (double *xa, double *xb, double *xc, double *xab, double *xbc, double *xca, double J[6]) |
static void | jac_points_p2 (double *xa, double *xb, double *xc, double *xab, double *xbc, double *xca, double *xis, double *etas, double detJ[6], double J[6][4]) |
static double | validity_p2triangle_formula (double *xa, double *xb, double *xc, double *xab, double *xbc, double *xca) |
static double | closest (double t, double u) |
static double | p2triangle_alignment_quality_measure (double *xa, double *xb, double *xc, double *xab, double *xbc, double *xca, int VIEW_TAG) |
static double | p1triangle_quality_metric (int VIEW_TAG, PolyMesh::Vertex *v0, PolyMesh::Vertex *v1, PolyMesh::Vertex *v2) |
int | lengthPathInMetricField (double lagrangianPoints[3][2], double *lengthInMetricField, int VIEW_TAG) |
double | objectiveFunction (double x0, double y0, double x1, double y1, double x2, double y2, int VIEW_TAG) |
double | goldenSection (double x0, double y0, double &xt, double &yt, double x1, double y1, double astart, double bstart, double &gamma1, double direction[2], int VIEW_TAG) |
int | shortestParabola (double *xstart, double *xend, int VIEW_TAG, double *xmid, double *lengthGeodesicsTwoPoints) |
static double | smallestLengthParabola (int VIEW_TAG, SPoint2 &p1, SPoint2 &p2, SPoint2 &p3) |
static double | closestPoint (int VIEW_TAG, std::vector< SPoint2 > &_points, SPoint2 &p, SPoint2 &c) |
static bool | computeNeighbor (int VIEW_TAG, const SPoint2 &p, int DIR, double adimensionalLength, SPoint2 &n) |
static int | delaunayEdgeCriterionAnIsotropic (PolyMesh::HalfEdge *he, int VIEW_TAG) |
double | triangleValidityP2 (PolyMesh::HalfEdge *hea, std::map< PolyMesh::HalfEdge *, SPoint2 > *midPoints=nullptr) |
double | triangleQualityP2 (int VIEW_TAG, PolyMesh::HalfEdge *hea, std::map< PolyMesh::HalfEdge *, SPoint2 > *midPoints=nullptr) |
double | triangleValidityP1 (PolyMesh::HalfEdge *hea) |
double | LENGTH (PolyMesh::HalfEdge *he, std::map< PolyMesh::HalfEdge *, SPoint2 > &midPoints, int VIEW_TAG, bool straight=false) |
static double | bestParabola (PolyMesh::HalfEdge *he, int VIEW_TAG, std::map< PolyMesh::HalfEdge *, SPoint2 > &midPoints, double ximax=.2) |
static double | bestParabola (PolyMesh::HalfEdge *he, std::map< PolyMesh::HalfEdge *, SPoint2 > &midPoints, double er(double *, double *, double *, double *, double *, double *), double ximax=0.2) |
int | computePointsUsingScaledCrossFieldPlanarP2 (const char *modelForMetric, const char *modelForMesh, int VIEW_TAG, int faceTag, std::vector< double > &pts, double er(double *, double *, double *, double *, double *, double *)) |
Variables | |
FILE * | FF = NULL |
static double | _LIMIT = 0.7 |
|
static |
Definition at line 17 of file meshGFacePack.cpp.
Referenced by computeNeighbor(), and p2triangle_alignment_quality_measure().
double bestParabola | ( | double | x0, |
double | y0, | ||
double | x1, | ||
double | y1, | ||
double & | xmid, | ||
double & | ymid, | ||
int | VIEW_TAG | ||
) |
Definition at line 764 of file meshGFacePack.cpp.
Referenced by computePointsUsingScaledCrossFieldPlanarP2().
|
static |
|
static |
|
static |
Definition at line 71 of file meshGFacePack.cpp.
Referenced by delaunayEdgeCriterionAnIsotropic().
|
static |
Definition at line 177 of file meshGFacePack.cpp.
Referenced by closestPoint(), GMSH_DiscretizationErrorPlugin::execute(), and p2triangle_alignment_quality_measure().
|
static |
Definition at line 478 of file meshGFacePack.cpp.
Referenced by computePointsUsingScaledCrossFieldPlanarP2().
|
static |
Definition at line 494 of file meshGFacePack.cpp.
Referenced by computePointsUsingScaledCrossFieldPlanarP2().
int computePointsUsingScaledCrossFieldPlanarP2 | ( | const char * | modelForMetric, |
const char * | modelForMesh, | ||
int | VIEW_TAG, | ||
int | faceTag, | ||
std::vector< double > & | pts, | ||
double | erdouble *, double *, double *, double *, double *, double * | ||
) |
|
static |
Definition at line 534 of file meshGFacePack.cpp.
Referenced by computePointsUsingScaledCrossFieldPlanarP2().
|
static |
Definition at line 89 of file meshGFacePack.cpp.
Referenced by jac_corners_p2(), and jac_points_p2().
double goldenSection | ( | double | x0, |
double | y0, | ||
double & | xt, | ||
double & | yt, | ||
double | x1, | ||
double | y1, | ||
double | astart, | ||
double | bstart, | ||
double & | gamma1, | ||
double | direction[2], | ||
int | VIEW_TAG | ||
) |
|
static |
Definition at line 76 of file meshGFacePack.cpp.
Referenced by p2triangle_alignment_quality_measure().
|
static |
Definition at line 113 of file meshGFacePack.cpp.
Referenced by validity_p2triangle_formula().
|
static |
Definition at line 134 of file meshGFacePack.cpp.
Referenced by p2triangle_alignment_quality_measure().
double LENGTH | ( | PolyMesh::HalfEdge * | he, |
std::map< PolyMesh::HalfEdge *, SPoint2 > & | midPoints, | ||
int | VIEW_TAG, | ||
bool | straight = false |
||
) |
Definition at line 638 of file meshGFacePack.cpp.
Referenced by computePointsUsingScaledCrossFieldPlanarP2().
int lengthPathInMetricField | ( | double | lagrangianPoints[3][2], |
double * | lengthInMetricField, | ||
int | VIEW_TAG | ||
) |
Definition at line 282 of file meshGFacePack.cpp.
Referenced by objectiveFunction_L().
|
static |
Definition at line 38 of file meshGFacePack.cpp.
Referenced by computeNeighbor().
double objectiveFunction | ( | double | x0, |
double | y0, | ||
double | x1, | ||
double | y1, | ||
double | x2, | ||
double | y2, | ||
int | VIEW_TAG | ||
) |
Definition at line 349 of file meshGFacePack.cpp.
Referenced by goldenSection().
double objectiveFunction_L | ( | double | x0, |
double | y0, | ||
double | xt, | ||
double | yt, | ||
double | x1, | ||
double | y1, | ||
int | VIEW_TAG | ||
) |
Definition at line 333 of file meshGFacePack.cpp.
Referenced by bestParabola(), goldenSection(), LENGTH(), objectiveFunction(), and shortestParabola().
|
static |
Definition at line 246 of file meshGFacePack.cpp.
Referenced by delaunayEdgeCriterionAnIsotropic().
|
static |
Definition at line 192 of file meshGFacePack.cpp.
Referenced by bestParabola(), and triangleQualityP2().
int shortestParabola | ( | double * | xstart, |
double * | xend, | ||
int | VIEW_TAG, | ||
double * | xmid, | ||
double * | lengthGeodesicsTwoPoints | ||
) |
Definition at line 421 of file meshGFacePack.cpp.
Referenced by smallestLengthParabola().
|
static |
Definition at line 468 of file meshGFacePack.cpp.
Referenced by closestPoint().
double triangleQualityP2 | ( | int | VIEW_TAG, |
PolyMesh::HalfEdge * | hea, | ||
std::map< PolyMesh::HalfEdge *, SPoint2 > * | midPoints = nullptr |
||
) |
Definition at line 583 of file meshGFacePack.cpp.
Referenced by bestParabola(), and computePointsUsingScaledCrossFieldPlanarP2().
double triangleValidityP1 | ( | PolyMesh::HalfEdge * | hea | ) |
double triangleValidityP2 | ( | PolyMesh::HalfEdge * | hea, |
std::map< PolyMesh::HalfEdge *, SPoint2 > * | midPoints = nullptr |
||
) |
Definition at line 562 of file meshGFacePack.cpp.
Referenced by bestParabola(), and triangleQualityP2().
|
static |
Definition at line 159 of file meshGFacePack.cpp.
Referenced by triangleValidityP2().
|
static |
Definition at line 477 of file meshGFacePack.cpp.
Referenced by closestPoint(), and computePointsUsingScaledCrossFieldPlanarP2().
FILE* FF = NULL |
Definition at line 175 of file meshGFacePack.cpp.
Referenced by computePointsUsingScaledCrossFieldPlanarP2(), non_recursive_classify(), and triangleQualityP2().