gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
GVertex Class Referenceabstract

#include <GVertex.h>

Inheritance diagram for GVertex:
Collaboration diagram for GVertex:

Public Member Functions

 GVertex (GModel *m, int tag, double ms=MAX_LC)
 
virtual ~GVertex ()
 
virtual void deleteMesh ()
 
virtual void resetMeshAttributes ()
 
virtual GPoint point () const =0
 
virtual double x () const =0
 
virtual double y () const =0
 
virtual double z () const =0
 
virtual SPoint3 xyz () const
 
virtual void setPosition (GPoint &p)
 
void addEdge (GEdge *e)
 
void delEdge (GEdge *e)
 
virtual std::list< GRegion * > regions () const
 
virtual std::vector< GEdge * > const & edges () const
 
virtual std::size_t numEdges () const
 
virtual std::vector< GFace * > faces () const
 
virtual int dim () const
 
virtual GEntitygetParentEntity ()
 
virtual bool isOrphan ()
 
virtual GeomType geomType () const
 
virtual double prescribedMeshSizeAtVertex () const
 
virtual void setPrescribedMeshSizeAtVertex (double l)
 
virtual SBoundingBox3d bounds (bool fast=false)
 
virtual SPoint2 reparamOnFace (const GFace *gf, int) const
 
virtual std::string getAdditionalInfoString (bool multline=false)
 
virtual void writeGEO (FILE *fp, const std::string &meshSizeParameter="")
 
virtual void writePY (FILE *fp, const std::string &meshSizeParameter="")
 
virtual void getElementTypes (std::vector< int > &types) const
 
std::size_t getNumMeshElements () const
 
std::size_t getNumMeshElementsByType (const int familyType) const
 
void getNumMeshElements (unsigned *const c) const
 
MElementgetMeshElement (std::size_t index) const
 
MElementgetMeshElementByType (const int familyType, const std::size_t index) const
 
bool isOnSeam (const GFace *gf) const
 
void relocateMeshVertices ()
 
void addPoint (MPoint *p)
 
void addElement (int type, MElement *e)
 
void removeElement (int type, MElement *e)
 
void removeElements (int type)
 
virtual bool reorder (const int elementType, const std::vector< std::size_t > &ordering)
 
- 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::vector< GVertex * > vertices () 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 bool haveParametrization ()
 
virtual bool isFullyDiscrete ()
 
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 SOrientedBoundingBox getOBB ()
 
virtual char getVisibility ()
 
virtual void setVisibility (char val, bool recursive=false)
 
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 getMeshSize () const
 
virtual double getMeshSizeFactor () const
 
virtual std::size_t getNumMeshParentElements ()
 
virtual MElement *const * getStartElementType (int type) const
 
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 ()
 

Public Attributes

std::vector< MPoint * > points
 
- 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< GEdge * > l_edges
 
double meshSize
 
- 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 23 of file GVertex.h.

Constructor & Destructor Documentation

◆ GVertex()

GVertex::GVertex ( GModel m,
int  tag,
double  ms = MAX_LC 
)

Definition at line 14 of file GVertex.cpp.

◆ ~GVertex()

GVertex::~GVertex ( )
virtual

Definition at line 18 of file GVertex.cpp.

Here is the call graph for this function:

Member Function Documentation

◆ addEdge()

void GVertex::addEdge ( GEdge e)

Definition at line 37 of file GVertex.cpp.

Referenced by createTopologyFromMesh1D(), GEdge::GEdge(), gmshEdge::resetNativePtr(), GEdge::setBeginVertex(), and GEdge::setEndVertex().

Here is the caller graph for this function:

◆ addElement()

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

Reimplemented from GEntity.

Definition at line 196 of file GVertex.cpp.

Here is the call graph for this function:

◆ addPoint()

void GVertex::addPoint ( MPoint p)
inline

Definition at line 122 of file GVertex.h.

Referenced by addElement().

Here is the caller graph for this function:

◆ bounds()

virtual SBoundingBox3d GVertex::bounds ( bool  fast = false)
inlinevirtual

Reimplemented from GEntity.

Definition at line 79 of file GVertex.h.

Here is the call graph for this function:

◆ delEdge()

void GVertex::delEdge ( GEdge e)

Definition at line 43 of file GVertex.cpp.

Referenced by GModel::remove(), and GEdge::~GEdge().

Here is the caller graph for this function:

◆ deleteMesh()

void GVertex::deleteMesh ( )
virtual

Reimplemented from GEntity.

Definition at line 20 of file GVertex.cpp.

Referenced by copy_vertices(), and ~GVertex().

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

◆ dim()

virtual int GVertex::dim ( ) const
inlinevirtual

Reimplemented from GEntity.

Definition at line 63 of file GVertex.h.

◆ edges()

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

◆ faces()

std::vector< GFace * > GVertex::faces ( ) const
virtual

Reimplemented from GEntity.

Definition at line 147 of file GVertex.cpp.

Referenced by isOrphan(), and regions().

Here is the caller graph for this function:

◆ geomType()

virtual GeomType GVertex::geomType ( ) const
inlinevirtual

Reimplemented from GEntity.

Reimplemented in partitionVertex, and gmshVertex.

Definition at line 72 of file GVertex.h.

Referenced by Mesh2DWithBoundaryLayers(), and drawGVertex::operator()().

Here is the caller graph for this function:

◆ getAdditionalInfoString()

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

Reimplemented from GEntity.

Definition at line 54 of file GVertex.cpp.

Here is the call graph for this function:

◆ getElementTypes()

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

Reimplemented from GEntity.

Definition at line 97 of file GVertex.h.

◆ getMeshElement()

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

Reimplemented from GEntity.

Definition at line 124 of file GVertex.cpp.

Referenced by GModel::_readMSH4().

Here is the caller graph for this function:

◆ getMeshElementByType()

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

Reimplemented from GEntity.

Definition at line 130 of file GVertex.cpp.

◆ getNumMeshElements() [1/2]

std::size_t GVertex::getNumMeshElements ( ) const
inlinevirtual

Reimplemented from GEntity.

Definition at line 104 of file GVertex.h.

Referenced by GModel::_readMSH4().

Here is the caller graph for this function:

◆ getNumMeshElements() [2/2]

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

Reimplemented from GEntity.

Definition at line 119 of file GVertex.cpp.

Here is the call graph for this function:

◆ getNumMeshElementsByType()

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

Reimplemented from GEntity.

Definition at line 112 of file GVertex.cpp.

◆ getParentEntity()

virtual GEntity* GVertex::getParentEntity ( )
inlinevirtual

Reimplemented from GEntity.

Reimplemented in partitionVertex.

Definition at line 66 of file GVertex.h.

◆ isOnSeam()

bool GVertex::isOnSeam ( const GFace gf) const

Definition at line 138 of file GVertex.cpp.

Here is the call graph for this function:

◆ isOrphan()

bool GVertex::isOrphan ( )
virtual

Reimplemented from GEntity.

Definition at line 175 of file GVertex.cpp.

Referenced by drawGVertex::operator()().

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

◆ numEdges()

virtual std::size_t GVertex::numEdges ( ) const
inlinevirtual

Definition at line 57 of file GVertex.h.

Referenced by drawGVertex::operator()().

Here is the caller graph for this function:

◆ point()

virtual GPoint GVertex::point ( ) const
pure virtual

Implemented in discreteVertex, and gmshVertex.

Referenced by GEdge::getAdditionalInfoString(), and Mesh2DWithBoundaryLayers().

Here is the caller graph for this function:

◆ prescribedMeshSizeAtVertex()

virtual double GVertex::prescribedMeshSizeAtVertex ( ) const
inlinevirtual

Definition at line 75 of file GVertex.h.

Referenced by DuplicateVertex(), getAdditionalInfoString(), LC_MVertex_PNTS(), writeGEO(), gmshVertex::writePY(), and writePY().

Here is the caller graph for this function:

◆ regions()

std::list< GRegion * > GVertex::regions ( ) const
virtual

Reimplemented from GEntity.

Definition at line 162 of file GVertex.cpp.

Referenced by isOrphan().

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

◆ relocateMeshVertices()

void GVertex::relocateMeshVertices ( )
virtual

Reimplemented from GEntity.

Definition at line 186 of file GVertex.cpp.

Here is the call graph for this function:

◆ removeElement()

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

Reimplemented from GEntity.

Definition at line 205 of file GVertex.cpp.

Here is the call graph for this function:

◆ removeElements()

void GVertex::removeElements ( int  type)
virtual

Reimplemented from GEntity.

Definition at line 218 of file GVertex.cpp.

Here is the call graph for this function:

◆ reorder()

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

Reimplemented from GEntity.

Definition at line 227 of file GVertex.cpp.

◆ reparamOnFace()

SPoint2 GVertex::reparamOnFace ( const GFace gf,
int   
) const
virtual

Reimplemented in gmshVertex.

Definition at line 49 of file GVertex.cpp.

Referenced by getAllParameters(), reparamMeshVertexOnFace(), gmshVertex::reparamOnFace(), and transferSeamGEdgesVerticesToGFace().

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

◆ resetMeshAttributes()

void GVertex::resetMeshAttributes ( )
virtual

Reimplemented from GEntity.

Reimplemented in gmshVertex.

Definition at line 30 of file GVertex.cpp.

Referenced by GEO_Internals::synchronize().

Here is the caller graph for this function:

◆ setPosition()

void GVertex::setPosition ( GPoint p)
virtual

Reimplemented in discreteVertex, and gmshVertex.

Definition at line 32 of file GVertex.cpp.

Referenced by Mesh2DWithBoundaryLayers().

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

◆ setPrescribedMeshSizeAtVertex()

virtual void GVertex::setPrescribedMeshSizeAtVertex ( double  l)
inlinevirtual

Reimplemented in gmshVertex.

Definition at line 76 of file GVertex.h.

◆ writeGEO()

void GVertex::writeGEO ( FILE *  fp,
const std::string &  meshSizeParameter = "" 
)
virtual

Reimplemented in gmshVertex.

Definition at line 86 of file GVertex.cpp.

Here is the call graph for this function:

◆ writePY()

void GVertex::writePY ( FILE *  fp,
const std::string &  meshSizeParameter = "" 
)
virtual

Reimplemented in gmshVertex.

Definition at line 98 of file GVertex.cpp.

Here is the call graph for this function:

◆ x()

◆ xyz()

virtual SPoint3 GVertex::xyz ( ) const
inlinevirtual

Definition at line 43 of file GVertex.h.

Referenced by discreteEdge::createGeometry(), GEdge::discretize(), getCandidateExtrudeInfo(), meshGEdgeProcessing(), and GEdge::setMeshMaster().

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

◆ y()

◆ z()

Member Data Documentation

◆ l_edges

std::vector<GEdge *> GVertex::l_edges
protected

◆ meshSize

◆ points


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