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

#include <ghostRegion.h>

Inheritance diagram for ghostRegion:
Collaboration diagram for ghostRegion:

Public Member Functions

 ghostRegion (GModel *model, const int num, const int partition)
 
virtual ~ghostRegion ()
 
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 ()
 
void addTetrahedron (MTetrahedron *t, int onWhichPartition)
 
void addHexahedron (MHexahedron *h, int onWhichPartition)
 
void addPrism (MPrism *p, int onWhichPartition)
 
void addPyramid (MPyramid *p, int onWhichPartition)
 
void addPolyhedron (MPolyhedron *p, int onWhichPartition)
 
void addTrihedron (MTrihedron *t, int onWhichPartition)
 
void addElement (int type, MElement *e, int onWhichPartition)
 
- Public Member Functions inherited from discreteRegion
 discreteRegion (GModel *model, int num)
 
 discreteRegion (GModel *model)
 
virtual ~discreteRegion ()
 
virtual bool haveParametrization ()
 
int createGeometry ()
 
- Public Member Functions inherited from GRegion
 GRegion (GModel *model, int tag)
 
virtual ~GRegion ()
 
virtual void deleteMesh ()
 
virtual int dim () const
 
virtual GEntitygetParentEntity ()
 
virtual void setVisibility (char val, bool recursive=false)
 
virtual void setColor (unsigned int val, bool recursive=false)
 
void addEmbeddedVertex (GVertex *v)
 
void addEmbeddedEdge (GEdge *e)
 
void addEmbeddedFace (GFace *f)
 
int delFace (GFace *face)
 
virtual std::vector< GFace * > faces () const
 
virtual std::vector< int > faceOrientations () const
 
void set (std::vector< GFace * > const &f)
 
void setOrientations (const std::vector< int > &f)
 
void setFace (GFace *const f, int const orientation)
 
void setBoundFaces (const std::set< int > &tagFaces)
 
void setBoundFaces (const std::vector< int > &tagFaces, const std::vector< int > &signFaces)
 
std::vector< GVertex * > & embeddedVertices ()
 
std::vector< GEdge * > & embeddedEdges ()
 
std::vector< GFace * > & embeddedFaces ()
 
std::vector< MVertex * > getEmbeddedMeshVertices () const
 
virtual std::vector< GEdge * > const & edges () const
 
virtual std::vector< GVertex * > vertices () const
 
virtual SBoundingBox3d bounds (bool fast=false)
 
virtual SOrientedBoundingBox getOBB ()
 
bool edgeConnected (GRegion *r) const
 
double computeSolidProperties (std::vector< double > cg, std::vector< double > inertia)
 
virtual std::string getAdditionalInfoString (bool multline=false)
 
virtual void writeGEO (FILE *fp)
 
virtual void writePY (FILE *fp)
 
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
 
virtual void resetMeshAttributes ()
 
virtual double getMeshSize () const
 
void addTetrahedron (MTetrahedron *t)
 
void addHexahedron (MHexahedron *h)
 
void addPrism (MPrism *p)
 
void addPyramid (MPyramid *p)
 
void addPolyhedron (MPolyhedron *p)
 
void addTrihedron (MTrihedron *t)
 
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)
 
bool setOutwardOrientationMeshConstraint ()
 
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 ()
 
virtual void mesh (bool verbose)
 
void deleteVertexArrays ()
 
virtual std::list< GRegion * > regions () const
 
virtual bool isOrphan ()
 
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 Range< double > parBounds (int i) 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 void alignElementsWithMaster ()
 
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)
 
virtual double getMeshSizeFactor () const
 
bool getAllElementsVisible ()
 
void setAllElementsVisible (bool val)
 
std::size_t getNumMeshVertices ()
 
MVertexgetMeshVertex (std::size_t index)
 
void addMeshVertex (MVertex *v)
 
void removeMeshVertex (MVertex *v)
 
virtual void relocateMeshVertices ()
 
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 GRegion
struct {
   int   recombine3D
 
   char   method
 
   ExtrudeParams *   extrude
 
   std::vector< GVertex * >   corners
 
   int   QuadTri
 
   double   meshSize
 
meshAttributes
 
std::vector< std::vector< std::vector< MVertex * > > > transfinite_vertices
 
std::vector< MTetrahedron * > tetrahedra
 
std::vector< MHexahedron * > hexahedra
 
std::vector< MPrism * > prisms
 
std::vector< MPyramid * > pyramids
 
std::vector< MTrihedron * > trihedra
 
std::vector< MPolyhedron * > polyhedra
 
- 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 GRegion
std::vector< GFace * > l_faces
 
std::vector< GVertex * > embedded_vertices
 
std::vector< GFace * > embedded_faces
 
std::vector< GEdge * > embedded_edges
 
std::vector< int > l_dirs
 
BoundaryLayerColumns _columns
 
- Protected Attributes inherited from GEntity
SOrientedBoundingBox_obb
 

Detailed Description

Definition at line 18 of file ghostRegion.h.

Constructor & Destructor Documentation

◆ ghostRegion()

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

Definition at line 26 of file ghostRegion.h.

◆ ~ghostRegion()

virtual ghostRegion::~ghostRegion ( )
inlinevirtual

Definition at line 31 of file ghostRegion.h.

Member Function Documentation

◆ addElement()

void ghostRegion::addElement ( int  type,
MElement e,
int  onWhichPartition 
)
inline

Definition at line 88 of file ghostRegion.h.

Here is the call graph for this function:

◆ addHexahedron()

void ghostRegion::addHexahedron ( MHexahedron h,
int  onWhichPartition 
)
inline

Definition at line 58 of file ghostRegion.h.

Here is the call graph for this function:

◆ addPolyhedron()

void ghostRegion::addPolyhedron ( MPolyhedron p,
int  onWhichPartition 
)
inline

Definition at line 76 of file ghostRegion.h.

Here is the call graph for this function:

◆ addPrism()

void ghostRegion::addPrism ( MPrism p,
int  onWhichPartition 
)
inline

Definition at line 64 of file ghostRegion.h.

Here is the call graph for this function:

◆ addPyramid()

void ghostRegion::addPyramid ( MPyramid p,
int  onWhichPartition 
)
inline

Definition at line 70 of file ghostRegion.h.

Here is the call graph for this function:

◆ addTetrahedron()

void ghostRegion::addTetrahedron ( MTetrahedron t,
int  onWhichPartition 
)
inline

Definition at line 52 of file ghostRegion.h.

Here is the call graph for this function:

◆ addTrihedron()

void ghostRegion::addTrihedron ( MTrihedron t,
int  onWhichPartition 
)
inline

Definition at line 82 of file ghostRegion.h.

Here is the call graph for this function:

◆ geomType()

virtual GeomType ghostRegion::geomType ( ) const
inlinevirtual

Reimplemented from discreteRegion.

Definition at line 43 of file ghostRegion.h.

◆ getGhostCells()

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

Definition at line 50 of file ghostRegion.h.

◆ getPartition()

virtual int ghostRegion::getPartition ( ) const
inlinevirtual

Definition at line 45 of file ghostRegion.h.

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

Here is the caller graph for this function:

◆ haveMesh() [1/2]

bool ghostRegion::haveMesh ( ) const
inline

Definition at line 48 of file ghostRegion.h.

◆ haveMesh() [2/2]

void ghostRegion::haveMesh ( bool  haveMesh)
inline

Definition at line 49 of file ghostRegion.h.

Referenced by haveMesh().

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

◆ saveMesh() [1/2]

bool ghostRegion::saveMesh ( ) const
inline

Definition at line 46 of file ghostRegion.h.

◆ saveMesh() [2/2]

void ghostRegion::saveMesh ( bool  saveMesh)
inline

Definition at line 47 of file ghostRegion.h.

Referenced by saveMesh().

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

◆ setPartition()

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

Definition at line 44 of file ghostRegion.h.

Member Data Documentation

◆ _ghostCells

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

◆ _haveMesh

bool ghostRegion::_haveMesh
private

Definition at line 23 of file ghostRegion.h.

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

◆ _partition

int ghostRegion::_partition
private

◆ _saveMesh

bool ghostRegion::_saveMesh
private

Definition at line 22 of file ghostRegion.h.

Referenced by saveMesh().


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