gmsh-TingyuanDoc
0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
|
Go to the source code of this file.
Classes | |
class | fullVector< scalar > |
struct | mean_plane |
Functions | |
template<class T > | |
double | myhypot (const T &a, const T &b) |
template<class T > | |
double | hypotenuse (T const &a, T const &b, T const &c) |
template<typename T > | |
int | gmsh_sign (T const &value) |
double | pow_int (const double &a, const int &n) |
double | pow_int (const double &a, const double &d) |
double | myatan2 (double a, double b) |
double | myasin (double a) |
double | myacos (double a) |
double | crossProd (double a[3], double b[3], int i) |
double | scalProd (double a[3], double b[3]) |
void | prodve (double a[3], double b[3], double c[3]) |
double | prosca (double const a[3], double const b[3]) |
void | matvec (double mat[3][3], double vec[3], double res[3]) |
void | matmat (double mat1[3][3], double mat2[3][3], double res[3][3]) |
double | norm3 (double a[3]) |
double | norme (double a[3]) |
double | norm2 (double a[3][3]) |
void | normal3points (double x0, double y0, double z0, double x1, double y1, double z1, double x2, double y2, double z2, double n[3]) |
void | normal2points (double x0, double y0, double z0, double x1, double y1, double z1, double n[3]) |
int | sys2x2 (double mat[2][2], double b[2], double res[2]) |
int | sys3x3 (double mat[3][3], double b[3], double res[3], double *det) |
int | sys3x3_with_tol (double mat[3][3], double b[3], double res[3], double *det) |
double | det2x2 (double mat[2][2]) |
double | det2x3 (double mat[2][3]) |
double | det3x3 (double mat[3][3]) |
double | trace3x3 (double mat[3][3]) |
double | trace2 (double mat[3][3]) |
double | inv3x3 (double mat[3][3], double inv[3][3]) |
double | inv2x2 (double mat[2][2], double inv[2][2]) |
double | angle_02pi (double A3) |
double | angle_plan (double v[3], double p1[3], double p2[3], double n[3]) |
double | triangle_area (double p0[3], double p1[3], double p2[3]) |
double | triangle_area2d (double p0[2], double p1[2], double p2[2]) |
void | circumCenterXY (double *p1, double *p2, double *p3, double *res) |
void | circumCenterXYZ (double *p1, double *p2, double *p3, double *res, double *uv=nullptr) |
void | planarQuad_xyz2xy (double *x, double *y, double *z, double *xn, double *yn) |
double | computeInnerRadiusForQuad (double *x, double *y, int i) |
char | float2char (float f) |
float | char2float (char c) |
void | eigenvalue2x2 (double mat[2][2], double v[2]) |
void | eigenvalue (double mat[3][3], double re[3]) |
void | FindCubicRoots (const double coeff[4], double re[3], double im[3]) |
void | eigsort (double d[3]) |
void | gradSimplex (double *x, double *y, double *z, double *v, double *grad) |
double | ComputeVonMises (double *val) |
double | ComputeScalarRep (int numComp, double *val, int tensorRep=0) |
void | invert_singular_matrix3x3 (double MM[3][3], double II[3][3]) |
bool | newton_fd (bool(*func)(fullVector< double > &, fullVector< double > &, void *), fullVector< double > &x, void *data, double relax=1., double tolx=1.e-6) |
void | signedDistancePointTriangle (const SPoint3 &p1, const SPoint3 &p2, const SPoint3 &p3, const SPoint3 &p, double &d, SPoint3 &closePt) |
void | signedDistancesPointsTriangle (std::vector< double > &distances, std::vector< SPoint3 > &closePts, const std::vector< SPoint3 > &pts, const SPoint3 &p1, const SPoint3 &p2, const SPoint3 &p3) |
void | signedDistancePointLine (const SPoint3 &p1, const SPoint3 &p2, const SPoint3 &p, double &distance, SPoint3 &closePt) |
void | signedDistancesPointsLine (std::vector< double > &distances, std::vector< SPoint3 > &closePts, const std::vector< SPoint3 > &pts, const SPoint3 &p1, const SPoint3 &p2) |
void | changeReferential (const int direction, const SPoint3 &p, const SPoint3 &closePt, const SPoint3 &p1, const SPoint3 &p2, double *xp, double *yp, double *otherp, double *x, double *y, double *other) |
int | computeDistanceRatio (const double &y, const double &yp, const double &x, const double &xp, double *distance, const double &r1, const double &r2) |
void | signedDistancesPointsEllipsePoint (std::vector< double > &distances, std::vector< double > &distancesE, std::vector< int > &isInYarn, std::vector< SPoint3 > &closePts, const std::vector< SPoint3 > &pts, const SPoint3 &p1, const SPoint3 &p2, const double radius) |
void | signedDistancesPointsEllipseLine (std::vector< double > &distances, std::vector< double > &distancesE, std::vector< int > &isInYarn, std::vector< SPoint3 > &closePts, const std::vector< SPoint3 > &pts, const SPoint3 &p1, const SPoint3 &p2, const double maxA, const double minA, const double maxB, const double minB, const int typeLevelSet) |
int | intersection_segments (const SPoint3 &p1, const SPoint3 &p2, const SPoint3 &q1, const SPoint3 &q2, double x[2]) |
3D VERSION More... | |
int | intersection_segments (const SPoint2 &p1, const SPoint2 &p2, const SPoint2 &q1, const SPoint2 &q2, double x[2]) |
void | fillMeanPlane (double res[4], double t1[3], double t2[3], mean_plane &meanPlane) |
void | computeMeanPlaneSimple (const std::vector< SPoint3 > &points, mean_plane &meanPlane) |
void | projectPointToPlane (const SPoint3 &pt, SPoint3 &ptProj, const mean_plane &meanPlane) |
void | projectPointsToPlane (const std::vector< SPoint3 > &pts, std::vector< SPoint3 > &ptsProj, const mean_plane &meanPlane) |
void | transformPointsIntoOrthoBasis (const std::vector< SPoint3 > &ptsProj, std::vector< SPoint3 > &pointsUV, const SPoint3 &ptCG, const mean_plane &meanPlane) |
bool | catenary (double x0, double x1, double y0, double y1, double ys, int N, double *yp) |
double angle_02pi | ( | double | A3 | ) |
Definition at line 255 of file Numeric.cpp.
Referenced by GFace::computeMeanPlane(), and EndCurve().
double angle_plan | ( | double | v[3], |
double | p1[3], | ||
double | p2[3], | ||
double | n[3] | ||
) |
Definition at line 267 of file Numeric.cpp.
Referenced by gmshFace::containsPoint(), myangle(), and gmshFace::normal().
bool catenary | ( | double | x0, |
double | x1, | ||
double | y0, | ||
double | y1, | ||
double | ys, | ||
int | N, | ||
double * | yp | ||
) |
void changeReferential | ( | const int | direction, |
const SPoint3 & | p, | ||
const SPoint3 & | closePt, | ||
const SPoint3 & | p1, | ||
const SPoint3 & | p2, | ||
double * | xp, | ||
double * | yp, | ||
double * | otherp, | ||
double * | x, | ||
double * | y, | ||
double * | other | ||
) |
Definition at line 942 of file Numeric.cpp.
Referenced by signedDistancesPointsEllipseLine().
float char2float | ( | char | c | ) |
Definition at line 464 of file Numeric.cpp.
Referenced by xyzn::angle(), drawArrays(), and smooth_normals::get().
void circumCenterXY | ( | double * | p1, |
double * | p2, | ||
double * | p3, | ||
double * | res | ||
) |
Definition at line 317 of file Numeric.cpp.
Referenced by circumCenterXYZ(), circUV(), and DocRecord::voronoiCell().
void circumCenterXYZ | ( | double * | p1, |
double * | p2, | ||
double * | p3, | ||
double * | res, | ||
double * | uv = nullptr |
||
) |
Definition at line 342 of file Numeric.cpp.
Referenced by MTriangle::circumcenter(), faceCircumCenter(), fourthPoint(), and MTri3::MTri3().
int computeDistanceRatio | ( | const double & | y, |
const double & | yp, | ||
const double & | x, | ||
const double & | xp, | ||
double * | distance, | ||
const double & | r1, | ||
const double & | r2 | ||
) |
Definition at line 997 of file Numeric.cpp.
Referenced by signedDistancesPointsEllipseLine().
double computeInnerRadiusForQuad | ( | double * | x, |
double * | y, | ||
int | i | ||
) |
Definition at line 407 of file Numeric.cpp.
Referenced by MQuadrangle::getInnerRadius().
void computeMeanPlaneSimple | ( | const std::vector< SPoint3 > & | points, |
mean_plane & | meanPlane | ||
) |
Definition at line 1438 of file Numeric.cpp.
Referenced by blyr_manager::add_external_corner(), discreteFace::param::checkPlanar(), and GFace::setMeshMaster().
double ComputeScalarRep | ( | int | numComp, |
double * | val, | ||
int | tensorRep = 0 |
||
) |
Definition at line 506 of file Numeric.cpp.
Referenced by PViewDataList::_stat(), addVectorElement(), changeCoordinates(), drawNumberGlyphs(), PViewDataGModel::finalize(), getGraphData(), PViewData::getScalarValue(), PViewDataGModel::readMSH(), and saturateVector().
double ComputeVonMises | ( | double * | val | ) |
Definition at line 496 of file Numeric.cpp.
Referenced by addTensorElement(), and ComputeScalarRep().
|
inline |
double det2x2 | ( | double | mat[2][2] | ) |
Definition at line 199 of file Numeric.cpp.
Referenced by intersection_segments(), discreteFace::intersectionWithCircle(), and inv2x2().
double det2x3 | ( | double | mat[2][3] | ) |
double det3x3 | ( | double | mat[3][3] | ) |
Definition at line 126 of file Numeric.cpp.
Referenced by eigenvalue(), MTetrahedron::getVolume(), MPyramid::getVolumeSign(), MHexahedron::getVolumeSign(), MPrism::getVolumeSign(), inv3x3(), inv3x3tran(), and sys3x3().
void eigenvalue | ( | double | mat[3][3], |
double | re[3] | ||
) |
Definition at line 550 of file Numeric.cpp.
Referenced by eigen(), GMSH_EigenvaluesPlugin::execute(), and MaxEigenHessianField::operator()().
void eigenvalue2x2 | ( | double | mat[2][2], |
double | v[2] | ||
) |
void eigsort | ( | double | d[3] | ) |
Definition at line 634 of file Numeric.cpp.
Referenced by eigenvalue().
void fillMeanPlane | ( | double | res[4], |
double | t1[3], | ||
double | t2[3], | ||
mean_plane & | meanPlane | ||
) |
Definition at line 1412 of file Numeric.cpp.
Referenced by GFace::computeMeanPlane(), and computeMeanPlaneSimple().
void FindCubicRoots | ( | const double | coeff[4], |
double | re[3], | ||
double | im[3] | ||
) |
Definition at line 574 of file Numeric.cpp.
Referenced by eigenvalue().
char float2char | ( | float | f | ) |
Definition at line 452 of file Numeric.cpp.
Referenced by VertexArray::_addNormal(), smooth_normals::add(), and smooth_normals::get().
|
inline |
Definition at line 28 of file Numeric.h.
Referenced by GEdge::getAdditionalInfoString(), F_Transfinite::operator()(), gmshRegion::resetNativePtr(), SetSurfaceGeneratrices(), SetVolumeSurfaces(), and GEO_Internals::synchronize().
void gradSimplex | ( | double * | x, |
double * | y, | ||
double * | z, | ||
double * | v, | ||
double * | grad | ||
) |
Definition at line 475 of file Numeric.cpp.
Referenced by GMSH_LevelsetPlugin::_cutAndAddElements(), and IsoSimplex().
|
inline |
int intersection_segments | ( | const SPoint2 & | p1, |
const SPoint2 & | p2, | ||
const SPoint2 & | q1, | ||
const SPoint2 & | q2, | ||
double | x[2] | ||
) |
Definition at line 1331 of file Numeric.cpp.
Referenced by recoverEdgeBySwaps().
double inv2x2 | ( | double | mat[2][2], |
double | inv[2][2] | ||
) |
Definition at line 214 of file Numeric.cpp.
Referenced by JacobianBasis::getMetricMinAndGradients().
double inv3x3 | ( | double | mat[3][3], |
double | inv[3][3] | ||
) |
Definition at line 232 of file Numeric.cpp.
Referenced by qmTetrahedron::cond(), helmholtzTerm< double >::elementMatrix(), elasticityTerm::elementMatrix(), elasticityMixedTerm::elementMatrix(), MSubTriangle::getGradShapeFunctions(), MSubLine::getGradShapeFunctions(), ScalarLagrangeFunctionSpaceOfElement::gradf(), ScalarLagrangeFunctionSpace::gradf(), FuncGradDisc::gradient(), element::interpolateCurl(), MElement::interpolateCurl(), element::interpolateDiv(), MElement::interpolateDiv(), element::interpolateGrad(), MElement::interpolateGrad(), signedDistancePointTriangle(), signedDistancesPointsTriangle(), element::xyz2uvw(), and MElement::xyz2uvw().
void invert_singular_matrix3x3 | ( | double | MM[3][3], |
double | II[3][3] | ||
) |
Definition at line 650 of file Numeric.cpp.
Referenced by GFace::XYZtoUV().
void matmat | ( | double | mat1[3][3], |
double | mat2[3][3], | ||
double | res[3][3] | ||
) |
Definition at line 54 of file Numeric.cpp.
Referenced by qmTriangle::angles(), and qmTetrahedron::cond().
void matvec | ( | double | mat[3][3], |
double | vec[3], | ||
double | res[3] | ||
) |
Definition at line 47 of file Numeric.cpp.
Referenced by element::interpolateGrad(), and MElement::interpolateGrad().
double myacos | ( | double | a | ) |
Definition at line 28 of file Numeric.cpp.
Referenced by drawContext::drawArrow3d(), drawContext::drawCylinder(), and drawContext::drawTaperedCylinder().
double myasin | ( | double | a | ) |
Definition at line 18 of file Numeric.cpp.
Referenced by EndCurve().
double myatan2 | ( | double | a, |
double | b | ||
) |
Definition at line 12 of file Numeric.cpp.
Referenced by xyzn::angle(), angle_plan(), GFace::computeMeanPlane(), and EndCurve().
|
inline |
bool newton_fd | ( | bool(*)(fullVector< double > &, fullVector< double > &, void *) | func, |
fullVector< double > & | x, | ||
void * | data, | ||
double | relax = 1. , |
||
double | tolx = 1.e-6 |
||
) |
Definition at line 685 of file Numeric.cpp.
Referenced by intersectCurveSurfaceData::apply(), catenary(), IntersectCurvesWithSurface(), and ProjectPointOnSurface().
double norm2 | ( | double | a[3][3] | ) |
Definition at line 38 of file Numeric.cpp.
Referenced by qmTetrahedron::cond(), and edgeSwapTestAngle().
|
inline |
Definition at line 119 of file Numeric.h.
Referenced by assemble2d(), assemble3d(), det2x3(), EndCurve(), qmTriangle::gamma(), and norme().
void normal2points | ( | double | x0, |
double | y0, | ||
double | z0, | ||
double | x1, | ||
double | y1, | ||
double | z1, | ||
double | n[3] | ||
) |
Definition at line 85 of file Numeric.cpp.
Referenced by GMSH_NearToFarFieldPlugin::execute(), and MPrism::getEdgeRep().
void normal3points | ( | double | x0, |
double | y0, | ||
double | z0, | ||
double | x1, | ||
double | y1, | ||
double | z1, | ||
double | x2, | ||
double | y2, | ||
double | z2, | ||
double | n[3] | ||
) |
Definition at line 76 of file Numeric.cpp.
Referenced by drawSimpleVector(), GMSH_WarpPlugin::execute(), GMSH_NearToFarFieldPlugin::execute(), GFace::fillVertexArray(), MElement::integrateFlux(), MFace::normal(), transferDataStructure(), PViewData::writeSTL(), and writeSTLfaces().
|
inline |
Definition at line 123 of file Numeric.h.
Referenced by _computeDeterminantAndRegularize(), addVectorElement(), xyzn::angle(), angle_plan(), qmTriangle::angles(), qmQuadrangle::angles(), circumCenterMetricXYZ(), circumCenterXYZ(), GFace::computeMeanPlane(), computeMeanPlaneSimple(), gmshFace::containsPoint(), drawContext::drawArrow3d(), drawContext::drawCylinder(), drawGridStipple(), drawContext::drawPlaneInBoundingBox(), drawContext::drawTaperedCylinder(), drawTics(), edge_angle::edge_angle(), EndCurve(), GMSH_SphericalRaisePlugin::execute(), ExtrudePoint(), fourthPoint(), qmTriangle::gamma(), GramSchmidt(), MElement::integrateCirc(), line::integrateCirculation(), triangle::integrateFlux(), quadrangle::integrateFlux(), IsoSimplex(), gmshFace::normal(), normal2points(), normal3points(), normal_triangle(), smooth_data::normalize(), planarQuad_xyz2xy(), and GRegion::setOutwardOrientationMeshConstraint().
void planarQuad_xyz2xy | ( | double * | x, |
double * | y, | ||
double * | z, | ||
double * | xn, | ||
double * | yn | ||
) |
Definition at line 376 of file Numeric.cpp.
Referenced by MQuadrangle::getInnerRadius().
|
inline |
|
inline |
Definition at line 39 of file Numeric.h.
Referenced by _computeCoeffLengthVectors(), _computeICN(), bezierBasisRaiser::_fillRaiserData(), bezierBasisRaiser::_fillRaiserDataPyr(), createMatLob2LagP6(), polynomialBasis::dddf(), polynomialBasis::ddf(), polynomialBasis::df(), polynomialBasis::evaluateMonomials(), orthogonalBasis::f(), and pow_int().
|
inline |
Definition at line 105 of file Numeric.h.
Referenced by _computeDeterminantAndRegularize(), GMSH_LevelsetPlugin::_cutAndAddElements(), xyzn::angle(), angle_plan(), qmTriangle::angles(), qmQuadrangle::angles(), circumCenterMetricXYZ(), circumCenterXYZ(), GFace::computeMeanPlane(), computeMeanPlaneSimple(), CutTriangle(), det2x3(), drawContext::drawArrow3d(), drawContext::drawCylinder(), drawContext::drawTaperedCylinder(), edge_angle::edge_angle(), eigen(), EndCurve(), GMSH_NearToFarFieldPlugin::execute(), fourthPoint(), qmTriangle::gamma(), GMSH_NearToFarFieldPlugin::getFarFieldMonk(), element::getJacobian(), GramSchmidt(), triangle::integrateFlux(), quadrangle::integrateFlux(), IsoSimplex(), normal2points(), normal3points(), planarQuad_xyz2xy(), GRegion::setOutwardOrientationMeshConstraint(), and triangle_area().
void projectPointsToPlane | ( | const std::vector< SPoint3 > & | pts, |
std::vector< SPoint3 > & | ptsProj, | ||
const mean_plane & | meanPlane | ||
) |
Definition at line 1514 of file Numeric.cpp.
Referenced by discreteFace::param::checkPlanar().
void projectPointToPlane | ( | const SPoint3 & | pt, |
SPoint3 & | ptProj, | ||
const mean_plane & | meanPlane | ||
) |
Definition at line 1497 of file Numeric.cpp.
Referenced by blyr_manager::add_external_corner(), and projectPointsToPlane().
|
inline |
Definition at line 112 of file Numeric.h.
Referenced by GMSH_LevelsetPlugin::_cutAndAddElements(), xyzn::angle(), angle_plan(), qmTriangle::angles(), qmQuadrangle::angles(), circumCenterMetricXYZ(), circumCenterXYZ(), GFace::computeMeanPlane(), CutTriangle(), drawContext::drawArrow3d(), drawContext::drawCylinder(), drawContext::drawTaperedCylinder(), edge_angle::edge_angle(), edgeSwapTestAngle(), ExtrudePoint(), GMSH_NearToFarFieldPlugin::getFarFieldJin(), GMSH_NearToFarFieldPlugin::getFarFieldMonk(), MElement::integrateCirc(), line::integrateCirculation(), MElement::integrateFlux(), triangle::integrateFlux(), quadrangle::integrateFlux(), IsoSimplex(), AlphaElementLessThan::operator()(), gmshFace::parFromPoint(), planarQuad_xyz2xy(), and transferDataStructure().
|
inline |
Definition at line 100 of file Numeric.h.
Referenced by BoxField::computeDistance().
void signedDistancePointLine | ( | const SPoint3 & | p1, |
const SPoint3 & | p2, | ||
const SPoint3 & | p, | ||
double & | distance, | ||
SPoint3 & | closePt | ||
) |
Definition at line 908 of file Numeric.cpp.
Referenced by backgroundMesh::getAngle(), backgroundMesh::operator()(), signedDistancesPointsEllipseLine(), signedDistancesPointsEllipsePoint(), and signedDistancesPointsLine().
void signedDistancePointTriangle | ( | const SPoint3 & | p1, |
const SPoint3 & | p2, | ||
const SPoint3 & | p3, | ||
const SPoint3 & | p, | ||
double & | d, | ||
SPoint3 & | closePt | ||
) |
Definition at line 758 of file Numeric.cpp.
Referenced by discreteFace_rtree_callback().
void signedDistancesPointsEllipseLine | ( | std::vector< double > & | distances, |
std::vector< double > & | distancesE, | ||
std::vector< int > & | isInYarn, | ||
std::vector< SPoint3 > & | closePts, | ||
const std::vector< SPoint3 > & | pts, | ||
const SPoint3 & | p1, | ||
const SPoint3 & | p2, | ||
const double | maxA, | ||
const double | minA, | ||
const double | maxB, | ||
const double | minB, | ||
const int | typeLevelSet | ||
) |
void signedDistancesPointsLine | ( | std::vector< double > & | distances, |
std::vector< SPoint3 > & | closePts, | ||
const std::vector< SPoint3 > & | pts, | ||
const SPoint3 & | p1, | ||
const SPoint3 & | p2 | ||
) |
Definition at line 923 of file Numeric.cpp.
Referenced by GMSH_DistancePlugin::execute().
void signedDistancesPointsTriangle | ( | std::vector< double > & | distances, |
std::vector< SPoint3 > & | closePts, | ||
const std::vector< SPoint3 > & | pts, | ||
const SPoint3 & | p1, | ||
const SPoint3 & | p2, | ||
const SPoint3 & | p3 | ||
) |
Definition at line 822 of file Numeric.cpp.
Referenced by computeLevelset(), and GMSH_DistancePlugin::execute().
int sys2x2 | ( | double | mat[2][2], |
double | b[2], | ||
double | res[2] | ||
) |
Definition at line 101 of file Numeric.cpp.
Referenced by circumCenterMetric(), circumCenterMetricXYZ(), circumCenterXYZ(), gmshFace::closestPoint(), EndCurve(), getIntersection(), Intersect_Edges_2d(), intersection_segments(), discreteFace::intersectionWithCircle(), invMapUV(), invMapXY(), and myLine::myLine().
int sys3x3 | ( | double | mat[3][3], |
double | b[3], | ||
double | res[3], | ||
double * | det | ||
) |
Definition at line 147 of file Numeric.cpp.
Referenced by gradSimplex(), sys3x3_with_tol(), MTetrahedron::xyz2uvw(), and tetrahedron::xyz2uvw().
int sys3x3_with_tol | ( | double | mat[3][3], |
double | b[3], | ||
double | res[3], | ||
double * | det | ||
) |
Definition at line 177 of file Numeric.cpp.
Referenced by intersectLineTriangle().
double trace2 | ( | double | mat[3][3] | ) |
Definition at line 135 of file Numeric.cpp.
Referenced by eigenvalue().
double trace3x3 | ( | double | mat[3][3] | ) |
Definition at line 133 of file Numeric.cpp.
Referenced by eigenvalue().
void transformPointsIntoOrthoBasis | ( | const std::vector< SPoint3 > & | ptsProj, |
std::vector< SPoint3 > & | pointsUV, | ||
const SPoint3 & | ptCG, | ||
const mean_plane & | meanPlane | ||
) |
double triangle_area | ( | double | p0[3], |
double | p1[3], | ||
double | p2[3] | ||
) |
Definition at line 293 of file Numeric.cpp.
Referenced by MFace::approximateArea(), and qmTetrahedron::gamma().
double triangle_area2d | ( | double | p0[2], |
double | p1[2], | ||
double | p2[2] | ||
) |
Definition at line 309 of file Numeric.cpp.
Referenced by centroidOfPolygon().