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

#include <GRegion.h>

Inheritance diagram for GRegion:
Collaboration diagram for GRegion:

Public Member Functions

 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 GeomType geomType () const
 
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 bool haveParametrization ()
 
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 ()
 

Public Attributes

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

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
 

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 }
 

Detailed Description

Definition at line 28 of file GRegion.h.

Constructor & Destructor Documentation

◆ GRegion()

GRegion::GRegion ( GModel model,
int  tag 
)

Definition at line 28 of file GRegion.cpp.

Here is the call graph for this function:

◆ ~GRegion()

GRegion::~GRegion ( )
virtual

Definition at line 33 of file GRegion.cpp.

Here is the call graph for this function:

Member Function Documentation

◆ addElement()

void GRegion::addElement ( int  type,
MElement e 
)
virtual

Reimplemented from GEntity.

Definition at line 613 of file GRegion.cpp.

Referenced by ghostRegion::addElement().

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

◆ addEmbeddedEdge()

void GRegion::addEmbeddedEdge ( GEdge e)
inline

Definition at line 58 of file GRegion.h.

Referenced by addEmbedded().

Here is the caller graph for this function:

◆ addEmbeddedFace()

void GRegion::addEmbeddedFace ( GFace f)
inline

Definition at line 59 of file GRegion.h.

Referenced by addEmbedded().

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

◆ addEmbeddedVertex()

void GRegion::addEmbeddedVertex ( GVertex v)
inline

Definition at line 57 of file GRegion.h.

Referenced by addEmbedded().

Here is the caller graph for this function:

◆ addHexahedron()

void GRegion::addHexahedron ( MHexahedron h)
inline

Definition at line 171 of file GRegion.h.

Referenced by addElement(), and ghostRegion::addHexahedron().

Here is the caller graph for this function:

◆ addPolyhedron()

void GRegion::addPolyhedron ( MPolyhedron p)
inline

Definition at line 174 of file GRegion.h.

Referenced by addElement(), and ghostRegion::addPolyhedron().

Here is the caller graph for this function:

◆ addPrism()

void GRegion::addPrism ( MPrism p)
inline

Definition at line 172 of file GRegion.h.

Referenced by addElement(), and ghostRegion::addPrism().

Here is the caller graph for this function:

◆ addPyramid()

void GRegion::addPyramid ( MPyramid p)
inline

Definition at line 173 of file GRegion.h.

Referenced by addElement(), and ghostRegion::addPyramid().

Here is the caller graph for this function:

◆ addTetrahedron()

void GRegion::addTetrahedron ( MTetrahedron t)
inline

Definition at line 170 of file GRegion.h.

Referenced by addElement(), and ghostRegion::addTetrahedron().

Here is the caller graph for this function:

◆ addTrihedron()

void GRegion::addTrihedron ( MTrihedron t)
inline

Definition at line 175 of file GRegion.h.

Referenced by addElement(), and ghostRegion::addTrihedron().

Here is the caller graph for this function:

◆ bounds()

SBoundingBox3d GRegion::bounds ( bool  fast = false)
virtual

Reimplemented from GEntity.

Definition at line 179 of file GRegion.cpp.

Referenced by meshGRegionNetgen(), optimizeMeshGRegionNetgen::operator()(), drawGRegion::operator()(), and setOutwardOrientationMeshConstraint().

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

◆ computeSolidProperties()

double GRegion::computeSolidProperties ( std::vector< double >  cg,
std::vector< double >  inertia 
)

Definition at line 484 of file GRegion.cpp.

Here is the call graph for this function:

◆ deleteMesh()

void GRegion::deleteMesh ( )
virtual

Reimplemented from GEntity.

Definition at line 39 of file GRegion.cpp.

Referenced by copy_vertices(), deMeshGRegion::operator()(), and ~GRegion().

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

◆ delFace()

int GRegion::delFace ( GFace face)

Definition at line 272 of file GRegion.cpp.

Here is the call graph for this function:

◆ dim()

virtual int GRegion::dim ( ) const
inlinevirtual

Reimplemented from GEntity.

Definition at line 45 of file GRegion.h.

◆ edgeConnected()

bool GRegion::edgeConnected ( GRegion r) const

Definition at line 472 of file GRegion.cpp.

Here is the call graph for this function:

◆ edges()

std::vector< GEdge * > const & GRegion::edges ( ) const
virtual

Reimplemented from GEntity.

Definition at line 459 of file GRegion.cpp.

Referenced by blyr_manager::blyr_manager(), edgeConnected(), extrudeInfo::fillExtrudeParams(), findTransfiniteCorners(), getCandidateExtrudeInfo(), isFullyDiscrete(), and MeshTransfiniteVolume().

Here is the caller graph for this function:

◆ embeddedEdges()

std::vector<GEdge *>& GRegion::embeddedEdges ( )
inline

Definition at line 80 of file GRegion.h.

Referenced by createAllEmbeddedEdges(), MeshDelaunayVolume(), EmbeddedCompatibilityTest::operator()(), and removeEmbedded().

Here is the caller graph for this function:

◆ embeddedFaces()

std::vector<GFace *>& GRegion::embeddedFaces ( )
inline

Definition at line 81 of file GRegion.h.

Referenced by createAllEmbeddedFaces(), EmbeddedCompatibilityTest::operator()(), and removeEmbedded().

Here is the caller graph for this function:

◆ embeddedVertices()

std::vector<GVertex *>& GRegion::embeddedVertices ( )
inline

Definition at line 79 of file GRegion.h.

Referenced by MeshDelaunayVolume(), and removeEmbedded().

Here is the caller graph for this function:

◆ faceOrientations()

virtual std::vector<int> GRegion::faceOrientations ( ) const
inlinevirtual

Definition at line 66 of file GRegion.h.

Referenced by GModel::getBoundaryTags().

Here is the caller graph for this function:

◆ faces()

◆ getAdditionalInfoString()

std::string GRegion::getAdditionalInfoString ( bool  multline = false)
virtual

Reimplemented from GEntity.

Definition at line 334 of file GRegion.cpp.

◆ getColumns()

BoundaryLayerColumns* GRegion::getColumns ( )
inline

Definition at line 181 of file GRegion.h.

◆ getElementTypes()

virtual void GRegion::getElementTypes ( std::vector< int > &  types) const
inlinevirtual

Reimplemented from GEntity.

Definition at line 113 of file GRegion.h.

◆ getEmbeddedMeshVertices()

std::vector< MVertex * > GRegion::getEmbeddedMeshVertices ( ) const

Definition at line 571 of file GRegion.cpp.

Referenced by insertAllVertices().

Here is the caller graph for this function:

◆ getMeshElement()

MElement * GRegion::getMeshElement ( std::size_t  index) const
virtual

Reimplemented from GEntity.

Definition at line 127 of file GRegion.cpp.

Referenced by GModel::_readMSH4(), bounds(), buildUniqueFaces(), createTopologyFromMesh3D(), and EmbeddedCompatibilityTest::operator()().

Here is the caller graph for this function:

◆ getMeshElementByType()

MElement * GRegion::getMeshElementByType ( const int  familyType,
const std::size_t  index 
) const
virtual

Reimplemented from GEntity.

Definition at line 151 of file GRegion.cpp.

◆ getMeshSize()

virtual double GRegion::getMeshSize ( ) const
inlinevirtual

Reimplemented from GEntity.

Definition at line 157 of file GRegion.h.

◆ getNumMeshElements() [1/2]

std::size_t GRegion::getNumMeshElements ( ) const
virtual

Reimplemented from GEntity.

Definition at line 60 of file GRegion.cpp.

Referenced by GModel::_readMSH4(), bounds(), buildUniqueFaces(), createTopologyFromMesh3D(), GModel::getMeshStatus(), Mesh3D(), meshGRegion::operator()(), and EmbeddedCompatibilityTest::operator()().

Here is the caller graph for this function:

◆ getNumMeshElements() [2/2]

void GRegion::getNumMeshElements ( unsigned *const  c) const
virtual

Reimplemented from GEntity.

Definition at line 92 of file GRegion.cpp.

Here is the call graph for this function:

◆ getNumMeshElementsByType()

std::size_t GRegion::getNumMeshElementsByType ( const int  familyType) const
virtual

Reimplemented from GEntity.

Definition at line 66 of file GRegion.cpp.

◆ getNumMeshParentElements()

std::size_t GRegion::getNumMeshParentElements ( )
virtual

Reimplemented from GEntity.

Definition at line 84 of file GRegion.cpp.

◆ getOBB()

SOrientedBoundingBox GRegion::getOBB ( )
virtual

Reimplemented from GEntity.

Definition at line 194 of file GRegion.cpp.

Here is the call graph for this function:

◆ getParentEntity()

virtual GEntity* GRegion::getParentEntity ( )
inlinevirtual

Reimplemented from GEntity.

Reimplemented in partitionRegion.

Definition at line 48 of file GRegion.h.

◆ getStartElementType()

MElement *const * GRegion::getStartElementType ( int  type) const
virtual

Reimplemented from GEntity.

Definition at line 102 of file GRegion.cpp.

◆ isFullyDiscrete()

bool GRegion::isFullyDiscrete ( )
virtual

Reimplemented from GEntity.

Definition at line 948 of file GRegion.cpp.

Referenced by splitQuadRecovery::buildPyramids(), meshGRegion::operator()(), optimizeMeshGRegion::operator()(), and deMeshGRegion::operator()().

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

◆ removeElement()

void GRegion::removeElement ( int  type,
MElement e 
)
virtual

Reimplemented from GEntity.

Definition at line 627 of file GRegion.cpp.

Here is the call graph for this function:

◆ removeElements()

void GRegion::removeElements ( int  type)
virtual

Reimplemented from GEntity.

Definition at line 665 of file GRegion.cpp.

Here is the call graph for this function:

◆ reorder()

bool GRegion::reorder ( const int  elementType,
const std::vector< std::size_t > &  ordering 
)
virtual

Reimplemented from GEntity.

Definition at line 679 of file GRegion.cpp.

◆ resetMeshAttributes()

void GRegion::resetMeshAttributes ( )
virtual

Reimplemented from GEntity.

Reimplemented in gmshRegion.

Definition at line 170 of file GRegion.cpp.

Referenced by GRegion(), and GEO_Internals::synchronize().

Here is the caller graph for this function:

◆ set()

void GRegion::set ( std::vector< GFace * > const &  f)
inline

Definition at line 67 of file GRegion.h.

Referenced by createTopologyFromMesh3D(), and MeshDelaunayVolume().

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

◆ setBoundFaces() [1/2]

void GRegion::setBoundFaces ( const std::set< int > &  tagFaces)

Definition at line 294 of file GRegion.cpp.

Referenced by readMSHEntities(), and setBoundFaces().

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

◆ setBoundFaces() [2/2]

void GRegion::setBoundFaces ( const std::vector< int > &  tagFaces,
const std::vector< int > &  signFaces 
)

Definition at line 310 of file GRegion.cpp.

Here is the call graph for this function:

◆ setColor()

void GRegion::setColor ( unsigned int  val,
bool  recursive = false 
)
virtual

Definition at line 261 of file GRegion.cpp.

Here is the call graph for this function:

◆ setFace()

void GRegion::setFace ( GFace *const  f,
int const  orientation 
)
inline

Definition at line 69 of file GRegion.h.

Here is the call graph for this function:

◆ setOrientations()

void GRegion::setOrientations ( const std::vector< int > &  f)
inline

Definition at line 68 of file GRegion.h.

Here is the call graph for this function:

◆ setOutwardOrientationMeshConstraint()

bool GRegion::setOutwardOrientationMeshConstraint ( )

Definition at line 839 of file GRegion.cpp.

Here is the call graph for this function:

◆ setVisibility()

void GRegion::setVisibility ( char  val,
bool  recursive = false 
)
virtual

Reimplemented from GEntity.

Definition at line 250 of file GRegion.cpp.

Here is the call graph for this function:

◆ vertices()

std::vector< GVertex * > GRegion::vertices ( ) const
virtual

Reimplemented from GEntity.

Definition at line 603 of file GRegion.cpp.

Referenced by GModel::getBoundaryTags(), and getOBB().

Here is the caller graph for this function:

◆ writeGEO()

void GRegion::writeGEO ( FILE *  fp)
virtual

Definition at line 397 of file GRegion.cpp.

Here is the call graph for this function:

◆ writePY()

void GRegion::writePY ( FILE *  fp)
virtual

Definition at line 439 of file GRegion.cpp.

Here is the call graph for this function:

Member Data Documentation

◆ _columns

BoundaryLayerColumns GRegion::_columns
protected

Definition at line 35 of file GRegion.h.

Referenced by getColumns().

◆ corners

std::vector<GVertex *> GRegion::corners

Definition at line 150 of file GRegion.h.

Referenced by findTransfiniteCorners().

◆ embedded_edges

std::vector<GEdge *> GRegion::embedded_edges
protected

◆ embedded_faces

std::vector<GFace *> GRegion::embedded_faces
protected

◆ embedded_vertices

std::vector<GVertex *> GRegion::embedded_vertices
protected

◆ extrude

◆ hexahedra

◆ l_dirs

std::vector<int> GRegion::l_dirs
protected

◆ l_faces

◆ meshAttributes

◆ meshSize

double GRegion::meshSize

Definition at line 154 of file GRegion.h.

◆ method

◆ polyhedra

◆ prisms

◆ pyramids

◆ QuadTri

int GRegion::QuadTri

Definition at line 152 of file GRegion.h.

Referenced by MeshTransfiniteVolume().

◆ recombine3D

int GRegion::recombine3D

Definition at line 144 of file GRegion.h.

Referenced by Mesh3D().

◆ tetrahedra

◆ transfinite_vertices

std::vector<std::vector<std::vector<MVertex *> > > GRegion::transfinite_vertices

Definition at line 161 of file GRegion.h.

Referenced by deleteMesh(), MeshTransfiniteVolume(), GModel::readP3D(), and GModel::writeP3D().

◆ trihedra


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