gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
ghostFace Class Reference

#include <ghostFace.h>

Inheritance diagram for ghostFace:
Collaboration diagram for ghostFace:

Public Member Functions

 ghostFace (GModel *model, const int num, const int partition)
 
virtual ~ghostFace ()
 
virtual GeomType geomType () const
 
virtual void setPartition (const int partition)
 
virtual int getPartition () const
 
bool saveMesh () const
 
void saveMesh (bool saveMesh)
 
bool haveMesh () const
 
void haveMesh (bool haveMesh)
 
virtual std::map< MElement *, int > & getGhostCells ()
 
virtual void addTriangle (MTriangle *t, int onWhichPartition)
 
virtual void addQuadrangle (MQuadrangle *q, int onWhichPartition)
 
virtual void addPolygon (MPolygon *p, int onWhichPartition)
 
virtual void addElement (int type, MElement *e, int onWhichPartition)
 
- Public Member Functions inherited from discreteFace
 discreteFace (GModel *model, int num)
 
 discreteFace (GModel *model)
 
virtual ~discreteFace ()
 
GPoint point (double par1, double par2) const
 
SPoint2 parFromPoint (const SPoint3 &p, bool onSurface=true, bool convTestXYZ=false) const
 
Range< double > parBounds (int i) const
 
bool containsParam (const SPoint2 &pt)
 
SBoundingBox3d bounds (bool fast=false)
 
GPoint closestPoint (const SPoint3 &queryPoint, double maxDistance, SVector3 *normal=nullptr) const
 
GPoint closestPoint (const SPoint3 &queryPoint, const double initialGuess[2]) const
 
SVector3 normal (const SPoint2 &param) const
 
double curvatureMax (const SPoint2 &param) const
 
double curvatures (const SPoint2 &param, SVector3 &dirMax, SVector3 &dirMin, double &curvMax, double &curvMin) const
 
virtual Pair< SVector3, SVector3firstDer (const SPoint2 &param) const
 
virtual void secondDer (const SPoint2 &param, SVector3 &dudu, SVector3 &dvdv, SVector3 &dudv) const
 
int createGeometry ()
 
virtual bool haveParametrization ()
 
virtual void mesh (bool verbose)
 
int trianglePosition (double par1, double par2, double &u, double &v) const
 
GPoint intersectionWithCircle (const SVector3 &n1, const SVector3 &n2, const SVector3 &p, const double &R, double uv[2])
 
bool writeParametrization (FILE *fp, bool binary)
 
bool readParametrization (FILE *fp, bool binary)
 
virtual void resetMeshAttributes ()
 
virtual GPoint point (double par1, double par2) const=0
 
virtual GPoint point (const SPoint2 &pt) const
 
- Public Member Functions inherited from GFace
void setMeshMaster (GFace *master, const std::vector< double > &)
 
void setMeshMaster (GFace *master, const std::map< int, int > &)
 
void alignElementsWithMaster ()
 
 GFace (GModel *model, int tag)
 
virtual ~GFace ()
 
virtual void deleteMesh ()
 
void addRegion (GRegion *r)
 
void delRegion (GRegion *r)
 
GRegiongetRegion (int const num) const
 
std::size_t numRegions () const
 
std::list< GRegion * > regions () const
 
virtual bool isOrphan ()
 
void addEmbeddedVertex (GVertex *v)
 
void addEmbeddedEdge (GEdge *e)
 
virtual std::vector< int > const & orientations () const
 
int delEdge (GEdge *edge)
 
virtual std::vector< GEdge * > const & edges () const
 
void set (const std::vector< GEdge * > &f)
 
void setOrientations (const std::vector< int > &f)
 
void setEdge (GEdge *const f, int const orientation)
 
virtual std::vector< int > const & edgeOrientations () const
 
bool containsEdge (int const iEdge) const
 
void setBoundEdges (const std::vector< int > &tagEdges)
 
void setBoundEdges (const std::vector< int > &tagEdges, const std::vector< int > &signEdges)
 
std::vector< GEdge * > & embeddedEdges ()
 
std::set< GVertex *, GEntityPtrLessThan > & embeddedVertices ()
 
std::vector< GVertex * > getEmbeddedVertices (bool force=false) const
 
std::vector< GEdge * > getEmbeddedEdges (bool force=false) const
 
std::vector< MVertex * > getEmbeddedMeshVertices (bool force=false) const
 
virtual std::vector< GVertex * > vertices () const
 
virtual int dim () const
 
virtual GEntitygetParentEntity ()
 
virtual void setVisibility (char val, bool recursive=false)
 
virtual void setColor (unsigned int val, bool recursive=false)
 
void XYZtoUV (double X, double Y, double Z, double &U, double &V, double relax, bool onSurface=true, bool convTestXYZ=false) const
 
virtual SOrientedBoundingBox getOBB ()
 
virtual int genusGeom () const
 
virtual bool checkTopology () const
 
virtual GPoint point (const SPoint2 &pt) const
 
virtual double getMetricEigenvalue (const SPoint2 &)
 
virtual void getMetricEigenVectors (const SPoint2 &param, double eigVal[2], double eigVec[4]) const
 
double curvature (const SPoint2 &param) const
 
virtual double curvatureDiv (const SPoint2 &param) const
 
virtual std::string getAdditionalInfoString (bool multline=false)
 
virtual void writeGEO (FILE *fp)
 
virtual void writePY (FILE *fp)
 
virtual bool buildRepresentationCross (bool force=false)
 
virtual bool buildSTLTriangulation (bool force=false)
 
bool fillVertexArray (bool force=false)
 
bool storeSTLAsMesh ()
 
void computeMeanPlane (const std::vector< MVertex * > &points)
 
void computeMeanPlane (const std::vector< SPoint3 > &points)
 
void computeMeanPlane ()
 
void getMeanPlaneData (double VX[3], double VY[3], double &x, double &y, double &z) const
 
void getMeanPlaneData (double plan[3][3]) const
 
virtual void getElementTypes (std::vector< int > &types) const
 
std::size_t getNumMeshElements () const
 
std::size_t getNumMeshElementsByType (const int familyType) const
 
std::size_t getNumMeshParentElements ()
 
void getNumMeshElements (unsigned *const c) const
 
MElement *const * getStartElementType (int type) const
 
MElementgetMeshElement (std::size_t index) const
 
MElementgetMeshElementByType (const int familyType, const std::size_t index) const
 
void moveToValidRange (SPoint2 &pt) const
 
void computeMeshSizeFieldAccuracy (double &avg, double &max_e, double &min_e, int &nE, int &GS)
 
bool fillPointCloud (double maxDist, std::vector< SPoint3 > *points, std::vector< SPoint2 > *uvpoints=nullptr, std::vector< SVector3 > *normals=nullptr)
 
virtual bool isSphere (double &radius, SPoint3 &center) const
 
int getMeshingAlgo () const
 
void setMeshingAlgo (int val)
 
void unsetMeshingAlgo ()
 
int getMeshSizeFromBoundary () const
 
void setMeshSizeFromBoundary (int val)
 
virtual double getMeshSize () const
 
virtual double getMeshSizeFactor () const
 
void relocateMeshVertices ()
 
void addTriangle (MTriangle *t)
 
void addQuadrangle (MQuadrangle *q)
 
void addPolygon (MPolygon *p)
 
void addElement (int type, MElement *e)
 
void removeElement (int type, MElement *e)
 
void removeElements (int type)
 
BoundaryLayerColumnsgetColumns ()
 
virtual bool reorder (const int elementType, const std::vector< std::size_t > &ordering)
 
virtual bool isFullyDiscrete ()
 
- Public Member Functions inherited from GEntity
void addVerticesInSet (std::set< MVertex * > &, bool closure) const
 
virtual std::string getTypeString ()
 
 GEntity (GModel *m, int t)
 
virtual ~GEntity ()
 
void deleteVertexArrays ()
 
virtual std::vector< GFace * > faces () const
 
std::vector< GRegion * > bindingsGetRegions ()
 
std::vector< GFace * > bindingsGetFaces ()
 
std::vector< GEdge * > bindingsGetEdges () const
 
std::vector< GVertex * > bindingsGetVertices ()
 
virtual bool continuous (int dim) const
 
virtual bool periodic (int dim) const
 
virtual double period (int dim) const
 
virtual bool degenerate (int dim) const
 
virtual double tolerance () const
 
virtual bool containsPoint (const SPoint3 &pt) const
 
virtual ModelType getNativeType () const
 
virtual void * getNativePtr () const
 
virtual int getNativeInt () const
 
GModelmodel () const
 
int tag () const
 
void setTag (int tag)
 
virtual void addPhysicalEntity (int physicalTag)
 
virtual std::vector< int > getPhysicalEntities ()
 
GEntitygetMeshMaster () const
 
void setMeshMaster (GEntity *)
 
void setMeshMaster (GEntity *, const std::vector< double > &, bool updateCorrespondingVertices=true)
 
void updateCorrespondingVertices ()
 
void copyMasterCoordinates ()
 
virtual char getVisibility ()
 
virtual char getSelection ()
 
virtual void setSelection (char val)
 
virtual unsigned int getColor ()
 
virtual void setColor (unsigned color, bool recursive=false)
 
virtual bool useColor ()
 
virtual std::string getInfoString (bool additional=true, bool multiline=false)
 
bool getAllElementsVisible ()
 
void setAllElementsVisible (bool val)
 
std::size_t getNumMeshVertices ()
 
MVertexgetMeshVertex (std::size_t index)
 
void addMeshVertex (MVertex *v)
 
void removeMeshVertex (MVertex *v)
 
GVertexcast2Vertex ()
 
GEdgecast2Edge ()
 
GFacecast2Face ()
 
GRegioncast2Region ()
 

Private Attributes

int _partition
 
std::map< MElement *, int > _ghostCells
 
bool _saveMesh
 
bool _haveMesh
 

Additional Inherited Members

- Public Types inherited from GEntity
enum  ModelType {
  UnknownModel, GmshModel, OpenCascadeModel, AcisModel,
  ParasolidModel
}
 
enum  GeomType {
  Unknown, Point, BoundaryLayerPoint, Line,
  Circle, Ellipse, Conic, Parabola,
  Hyperbola, TrimmedCurve, OffsetCurve, BSpline,
  Bezier, ParametricCurve, BoundaryLayerCurve, DiscreteCurve,
  Plane, Nurb, Cylinder, Sphere,
  Cone, Torus, RuledSurface, ParametricSurface,
  BSplineSurface, BezierSurface, SurfaceOfRevolution, BoundaryLayerSurface,
  DiscreteSurface, DiscreteDiskSurface, Volume, DiscreteVolume,
  PartitionPoint, PartitionCurve, PartitionSurface, PartitionVolume,
  GhostCurve, GhostSurface, GhostVolume
}
 
enum  MeshGenerationStatus { PENDING, DONE, FAILED }
 
- Public Attributes inherited from GFace
std::vector< GEdgeLoopedgeLoops
 
std::map< GEdge *, std::pair< GEdge *, int > > edgeCounterparts
 
struct {
   int   recombine
 
   double   recombineAngle
 
   char   method
 
   std::vector< GVertex * >   corners
 
   int   transfiniteArrangement
 
   int   transfiniteSmoothing
 
   ExtrudeParams *   extrude
 
   bool   reverseMesh
 
   double   meshSize
 
   double   meshSizeFactor
 
   int   algorithm
 
   int   meshSizeFromBoundary
 
   bool   transfinite3
 
meshAttributes
 
struct {
   GEntity::MeshGenerationStatus   status
 
   bool   refineAllEdges
 
   double   worst_element_shape
 
   double   best_element_shape
 
   double   average_element_shape
 
   double   smallest_edge_length
 
   double   longest_edge_length
 
   double   efficiency_index
 
   int   nbEdge
 
   int   nbTriangle
 
   int   nbGoodQuality
 
   int   nbGoodLength
 
meshStatistics
 
std::vector< std::vector< SPoint3 > > cross [2]
 
std::vector< SPoint2stl_vertices_uv
 
std::vector< SPoint3stl_vertices_xyz
 
std::vector< SVector3stl_normals
 
std::vector< SVector3stl_curvatures
 
std::vector< int > stl_triangles
 
VertexArrayva_geom_triangles
 
std::vector< std::vector< MVertex * > > transfinite_vertices
 
std::set< MVertex * > constr_vertices
 
std::vector< MTriangle * > triangles
 
std::vector< MQuadrangle * > quadrangles
 
std::vector< MPolygon * > polygons
 
GFacecompoundSurface
 
std::vector< SPoint3storage1
 
std::vector< SVector3storage2
 
std::vector< SVector3storage3
 
std::vector< double > storage4
 
- Public Attributes inherited from GEntity
std::vector< MVertex * > mesh_vertices
 
std::vector< GEntity * > compound
 
std::map< GVertex *, GVertex * > vertexCounterparts
 
std::vector< int > physicals
 
VertexArrayva_lines
 
VertexArrayva_triangles
 
std::set< MElement * > curvedBLElements
 
std::vector< double > affineTransform
 
std::map< MVertex *, MVertex * > correspondingVertices
 
std::map< MVertex *, MVertex * > correspondingHighOrderVertices
 
- Protected Attributes inherited from GFace
std::vector< GEdge * > l_edges
 
std::vector< int > l_dirs
 
GRegionr1
 
GRegionr2
 
mean_plane meanPlane
 
std::vector< GEdge * > embedded_edges
 
std::set< GVertex *, GEntityPtrLessThanembedded_vertices
 
BoundaryLayerColumns _columns
 
- Protected Attributes inherited from GEntity
SOrientedBoundingBox_obb
 

Detailed Description

Definition at line 17 of file ghostFace.h.

Constructor & Destructor Documentation

◆ ghostFace()

ghostFace::ghostFace ( GModel model,
const int  num,
const int  partition 
)
inline

Definition at line 25 of file ghostFace.h.

◆ ~ghostFace()

virtual ghostFace::~ghostFace ( )
inlinevirtual

Definition at line 30 of file ghostFace.h.

Member Function Documentation

◆ addElement()

virtual void ghostFace::addElement ( int  type,
MElement e,
int  onWhichPartition 
)
inlinevirtual

Definition at line 66 of file ghostFace.h.

Here is the call graph for this function:

◆ addPolygon()

virtual void ghostFace::addPolygon ( MPolygon p,
int  onWhichPartition 
)
inlinevirtual

Definition at line 60 of file ghostFace.h.

Here is the call graph for this function:

◆ addQuadrangle()

virtual void ghostFace::addQuadrangle ( MQuadrangle q,
int  onWhichPartition 
)
inlinevirtual

Definition at line 54 of file ghostFace.h.

Here is the call graph for this function:

◆ addTriangle()

virtual void ghostFace::addTriangle ( MTriangle t,
int  onWhichPartition 
)
inlinevirtual

Definition at line 48 of file ghostFace.h.

Here is the call graph for this function:

◆ geomType()

virtual GeomType ghostFace::geomType ( ) const
inlinevirtual

Reimplemented from discreteFace.

Definition at line 39 of file ghostFace.h.

◆ getGhostCells()

virtual std::map<MElement *, int>& ghostFace::getGhostCells ( )
inlinevirtual

Definition at line 46 of file ghostFace.h.

◆ getPartition()

virtual int ghostFace::getPartition ( ) const
inlinevirtual

Definition at line 41 of file ghostFace.h.

Referenced by getEntitiesToSave(), readMSH4GhostElements(), and writeMSH4Entities().

Here is the caller graph for this function:

◆ haveMesh() [1/2]

bool ghostFace::haveMesh ( ) const
inline

Definition at line 44 of file ghostFace.h.

◆ haveMesh() [2/2]

void ghostFace::haveMesh ( bool  haveMesh)
inline

Definition at line 45 of file ghostFace.h.

Referenced by haveMesh().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ saveMesh() [1/2]

bool ghostFace::saveMesh ( ) const
inline

Definition at line 42 of file ghostFace.h.

◆ saveMesh() [2/2]

void ghostFace::saveMesh ( bool  saveMesh)
inline

Definition at line 43 of file ghostFace.h.

Referenced by saveMesh().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setPartition()

virtual void ghostFace::setPartition ( const int  partition)
inlinevirtual

Definition at line 40 of file ghostFace.h.

Member Data Documentation

◆ _ghostCells

std::map<MElement *, int> ghostFace::_ghostCells
private

Definition at line 20 of file ghostFace.h.

Referenced by addElement(), addPolygon(), addQuadrangle(), addTriangle(), and getGhostCells().

◆ _haveMesh

bool ghostFace::_haveMesh
private

Definition at line 22 of file ghostFace.h.

Referenced by haveMesh(), and ~ghostFace().

◆ _partition

int ghostFace::_partition
private

◆ _saveMesh

bool ghostFace::_saveMesh
private

Definition at line 21 of file ghostFace.h.

Referenced by saveMesh().


The documentation for this class was generated from the following file: