gmsh-TingyuanDoc
0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
|
#include <map>
#include <queue>
#include <array>
#include "meshGFace.h"
#include "meshGEdge.h"
#include "GVertex.h"
#include "GEdge.h"
#include "GFace.h"
#include "MVertex.h"
#include "MTriangle.h"
#include "MQuadrangle.h"
#include "Context.h"
#include "GmshMessage.h"
#include "Numeric.h"
Go to the source code of this file.
Macros | |
#define | TRAN_QUA(c1, c2, c3, c4, s1, s2, s3, s4, u, v) |
#define | TRAN_TRI(c1, c2, c3, s1, s2, s3, u, v) u * c2 + (1. - v) * c1 + v * c3 - (u * (1. - v) * s2 + u * v * s3) |
Functions | |
void | findTransfiniteCorners (GFace *gf, std::vector< MVertex * > &corners) |
static void | computeEdgeLoops (const GFace *gf, std::vector< MVertex * > &all_mvertices, std::vector< int > &indices) |
double | maxDistParam (const std::vector< double > &U, const std::vector< double > &V) |
int | MeshTransfiniteSurface (GFace *gf) |
bool | id_loop_from_closed_pairs (const std::vector< std::array< int, 2 > > &pairs, std::vector< int > &loop) |
bool | faceIsValidQuad (GFace *gf, double angle_threshold_rad) |
GEdge * | quad_face_opposite_edge (GFace *face, GEdge *edge) |
void | build_chords (const std::set< GFace * > &faces, std::vector< std::set< GEdge * > > &chords, double maxDiffRel, bool ignoreEmbedded=false) |
bool | MeshSetTransfiniteFacesAutomatic (std::set< GFace * > &candidate_faces, double cornerAngle, bool setRecombine, double maxDiffRel, bool ignoreEmbedded) |
Automatically set transfinite constraints on curves and faces in the candidate_faces if possible. Curves on opposide sides of rectangular faces are constrained to reiceive the same number of points. More... | |
#define TRAN_QUA | ( | c1, | |
c2, | |||
c3, | |||
c4, | |||
s1, | |||
s2, | |||
s3, | |||
s4, | |||
u, | |||
v | |||
) |
Definition at line 37 of file meshGFaceTransfinite.cpp.
#define TRAN_TRI | ( | c1, | |
c2, | |||
c3, | |||
s1, | |||
s2, | |||
s3, | |||
u, | |||
v | |||
) | u * c2 + (1. - v) * c1 + v * c3 - (u * (1. - v) * s2 + u * v * s3) |
Definition at line 44 of file meshGFaceTransfinite.cpp.
void build_chords | ( | const std::set< GFace * > & | faces, |
std::vector< std::set< GEdge * > > & | chords, | ||
double | maxDiffRel, | ||
bool | ignoreEmbedded = false |
||
) |
Definition at line 768 of file meshGFaceTransfinite.cpp.
Referenced by MeshSetTransfiniteFacesAutomatic().
|
static |
Definition at line 90 of file meshGFaceTransfinite.cpp.
Referenced by MeshTransfiniteSurface().
bool faceIsValidQuad | ( | GFace * | gf, |
double | angle_threshold_rad | ||
) |
Definition at line 681 of file meshGFaceTransfinite.cpp.
Referenced by MeshSetTransfiniteFacesAutomatic().
Definition at line 46 of file meshGFaceTransfinite.cpp.
Referenced by MeshTransfiniteSurface().
bool id_loop_from_closed_pairs | ( | const std::vector< std::array< int, 2 > > & | pairs, |
std::vector< int > & | loop | ||
) |
Definition at line 642 of file meshGFaceTransfinite.cpp.
Referenced by faceIsValidQuad().
double maxDistParam | ( | const std::vector< double > & | U, |
const std::vector< double > & | V | ||
) |
Definition at line 155 of file meshGFaceTransfinite.cpp.
Referenced by MeshTransfiniteSurface().
bool MeshSetTransfiniteFacesAutomatic | ( | std::set< GFace * > & | candidate_faces, |
double | cornerAngle = 2.35 , |
||
bool | setRecombine = true , |
||
double | maxDiffRel = 1. , |
||
bool | ignoreEmbedded = false |
||
) |
Automatically set transfinite constraints on curves and faces in the candidate_faces if possible. Curves on opposide sides of rectangular faces are constrained to reiceive the same number of points.
candidate_faces | The faces which are candidate for transfinite |
cornerAngle | Threshold on the angle (viewed from face) at corners |
setRecombine | If true, quads will be built instead of triangles when meshing |
maxDiffRel | Reject transfinite constraints if the relative difference on the initial number of lines (from sizing constraints) on opposite sides is larger than the maxDiffRel |
ignoreEmbedded | If true, ignore embedded edges and vertices in faces |
Definition at line 817 of file meshGFaceTransfinite.cpp.
Referenced by GenerateMesh().
int MeshTransfiniteSurface | ( | GFace * | gf | ) |
Definition at line 166 of file meshGFaceTransfinite.cpp.
Referenced by meshGFace::operator()().
Definition at line 743 of file meshGFaceTransfinite.cpp.
Referenced by build_chords().