gmsh-TingyuanDoc
0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
|
Go to the documentation of this file.
71 if (r ==
r1 || r ==
r2)
83 return num == 0 ?
r1 :
r2;
89 return (
r1 !=
nullptr) + (
r2 !=
nullptr);
94 std::list<GRegion *> r;
121 virtual std::vector<GEdge *>
const &
edges()
const
125 void set(
const std::vector<GEdge *> &
f)
136 l_dirs.push_back(orientation);
147 if ((*it)->tag() == iEdge)
153 void setBoundEdges(
const std::vector<int> &tagEdges,
const std::vector<int> &signEdges);
172 virtual std::vector<GVertex *>
vertices()
const;
187 virtual void setVisibility(
char val,
bool recursive =
false);
190 virtual void setColor(
unsigned int val,
bool recursive =
false);
193 void XYZtoUV(
double X,
double Y,
double Z,
double &U,
double &V,
double relax,
bool onSurface =
true,
194 bool convTestXYZ =
false)
const;
259 double &curvMin)
const;
268 virtual void writePY(FILE *fp);
291 void getMeanPlaneData(
double VX[3],
double VY[3],
double &x,
double &y,
double &
z)
const;
329 bool fillPointCloud(
double maxDist, std::vector<SPoint3> *points, std::vector<SPoint2> *uvpoints =
nullptr,
330 std::vector<SVector3> *normals =
nullptr);
339 virtual void mesh(
bool verbose);
405 std::vector<std::vector<SPoint3>>
cross[2];
463 virtual bool reorder(
const int elementType,
const std::vector<std::size_t> &ordering);
MElement * getMeshElementByType(const int familyType, const std::size_t index) const
double worst_element_shape
virtual bool containsParam(const SPoint2 &pt)
virtual SOrientedBoundingBox getOBB()
virtual std::vector< GEdge * > const & edges() const
int getMeshSizeFromBoundary() const
GEntity::MeshGenerationStatus status
virtual Pair< SVector3, SVector3 > firstDer(const SPoint2 ¶m) const =0
std::vector< GEdge * > embedded_edges
int getMeshingAlgo() const
void addQuadrangle(MQuadrangle *q)
virtual int genusGeom() const
std::size_t getNumMeshParentElements()
void setBoundEdges(const std::vector< int > &tagEdges)
virtual std::vector< int > const & edgeOrientations() const
MElement *const * getStartElementType(int type) const
std::vector< GVertex * > getEmbeddedVertices(bool force=false) const
std::vector< MTriangle * > triangles
GRegion * getRegion(int const num) const
virtual void getMetricEigenVectors(const SPoint2 ¶m, double eigVal[2], double eigVec[4]) const
static double c(int i, int j, fullMatrix< double > &CA, const std::vector< SPoint3 > &P, const std::vector< SPoint3 > &Q)
void relocateMeshVertices()
int transfiniteArrangement
std::vector< std::vector< SPoint3 > > cross[2]
virtual void setVisibility(char val, bool recursive=false)
void addPolygon(MPolygon *p)
void f(int n, double u, double *val)
virtual bool isSphere(double &radius, SPoint3 ¢er) const
struct GFace::@18 meshAttributes
virtual std::vector< int > const & orientations() const
virtual GPoint point(double par1, double par2) const =0
void addEmbeddedEdge(GEdge *e)
double curvature(const SPoint2 ¶m) const
virtual void getElementTypes(std::vector< int > &types) const
std::size_t getNumMeshElementsByType(const int familyType) const
void delRegion(GRegion *r)
void addRegion(GRegion *r)
void setEdge(GEdge *const f, int const orientation)
void setMeshSizeFromBoundary(int val)
virtual GPoint closestPoint(const SPoint3 &queryPoint, const double initialGuess[2]) const
std::list< GRegion * > regions() const
std::vector< int > l_dirs
std::vector< MQuadrangle * > quadrangles
std::vector< SPoint3 > storage1
std::vector< SVector3 > stl_curvatures
virtual std::vector< GVertex * > vertices() const
virtual double getMetricEigenvalue(const SPoint2 &)
std::vector< SPoint3 > stl_vertices_xyz
double best_element_shape
std::set< GVertex *, GEntityPtrLessThan > embedded_vertices
std::set< MVertex * > constr_vertices
double longest_edge_length
void removeElements(int type)
std::vector< GEdgeLoop > edgeLoops
struct GFace::@19 meshStatistics
virtual void secondDer(const SPoint2 ¶m, SVector3 &dudu, SVector3 &dvdv, SVector3 &dudv) const =0
std::set< GVertex *, GEntityPtrLessThan > & embeddedVertices()
double smallest_edge_length
bool containsEdge(int const iEdge) const
std::vector< MPolygon * > polygons
virtual double curvatureDiv(const SPoint2 ¶m) const
void addElement(int type, MElement *e)
bool fillVertexArray(bool force=false)
virtual bool isFullyDiscrete()
void getMeanPlaneData(double VX[3], double VY[3], double &x, double &y, double &z) const
virtual SPoint2 parFromPoint(const SPoint3 &, bool onSurface=true, bool convTestXYZ=false) const
std::vector< SVector3 > stl_normals
virtual GPoint point(const SPoint2 &pt) const
VertexArray * va_geom_triangles
void removeElement(int type, MElement *e)
std::vector< SVector3 > storage2
virtual void resetMeshAttributes()
virtual void mesh(bool verbose)
std::vector< int > stl_triangles
virtual SBoundingBox3d bounds(bool fast=false)
bool fillPointCloud(double maxDist, std::vector< SPoint3 > *points, std::vector< SPoint2 > *uvpoints=nullptr, std::vector< SVector3 > *normals=nullptr)
virtual bool checkTopology() const
virtual void deleteMesh()
std::size_t numRegions() const
double average_element_shape
MElement * getMeshElement(std::size_t index) const
BoundaryLayerColumns * getColumns()
std::vector< GEdge * > getEmbeddedEdges(bool force=false) const
void setMeshingAlgo(int val)
virtual double getMeshSize() const
virtual std::string getAdditionalInfoString(bool multline=false)
std::vector< SVector3 > storage3
virtual void setColor(unsigned int val, bool recursive=false)
std::map< GEdge *, std::pair< GEdge *, int > > edgeCounterparts
std::vector< GEdge * > & embeddedEdges()
virtual double curvatureMax(const SPoint2 ¶m) const
void computeMeshSizeFieldAccuracy(double &avg, double &max_e, double &min_e, int &nE, int &GS)
std::vector< SPoint2 > stl_vertices_uv
virtual void writePY(FILE *fp)
virtual bool reorder(const int elementType, const std::vector< std::size_t > &ordering)
virtual bool buildSTLTriangulation(bool force=false)
std::vector< std::vector< MVertex * > > transfinite_vertices
void alignElementsWithMaster()
void setMeshMaster(GFace *master, const std::vector< double > &)
GFace(GModel *model, int tag)
virtual SVector3 normal(const SPoint2 ¶m) const
void addEmbeddedVertex(GVertex *v)
std::vector< MVertex * > getEmbeddedMeshVertices(bool force=false) const
std::size_t getNumMeshElements() const
std::vector< GEdge * > l_edges
void moveToValidRange(SPoint2 &pt) const
BoundaryLayerColumns _columns
void XYZtoUV(double X, double Y, double Z, double &U, double &V, double relax, bool onSurface=true, bool convTestXYZ=false) const
void setOrientations(const std::vector< int > &f)
virtual double curvatures(const SPoint2 ¶m, SVector3 &dirMax, SVector3 &dirMin, double &curvMax, double &curvMin) const
virtual double getMeshSizeFactor() const
std::vector< double > storage4
virtual void writeGEO(FILE *fp)
virtual bool buildRepresentationCross(bool force=false)
void set(const std::vector< GEdge * > &f)
virtual GEntity * getParentEntity()
void addTriangle(MTriangle *t)
std::vector< GVertex * > corners