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

#include <discreteEdge.h>

Inheritance diagram for discreteEdge:
Collaboration diagram for discreteEdge:

Public Member Functions

 discreteEdge (GModel *model, int num, GVertex *_v0, GVertex *_v1)
 
 discreteEdge (GModel *model, int num)
 
 discreteEdge (GModel *model)
 
virtual ~discreteEdge ()
 
virtual GeomType geomType () const
 
virtual GPoint point (double p) const
 
virtual SVector3 firstDer (double par) const
 
virtual double curvature (double par) const
 
virtual bool haveParametrization ()
 
virtual Range< double > parBounds (int) const
 
int createGeometry ()
 
virtual void mesh (bool verbose)
 
int minimumDrawSegments () const
 
virtual int minimumMeshSegments () const
 
virtual SPoint2 reparamOnFace (const GFace *face, double epar, int dir) const
 
bool writeParametrization (FILE *fp, bool binary)
 
bool readParametrization (FILE *fp, bool binary)
 
- Public Member Functions inherited from GEdge
 GEdge (GModel *model, int tag, GVertex *v0, GVertex *v1)
 
 GEdge (GModel *model, int tag)
 
virtual ~GEdge ()
 
virtual void deleteMesh ()
 
void setBeginVertex (GVertex *gv)
 
void setEndVertex (GVertex *gv)
 
virtual GVertexgetBeginVertex () const
 
virtual GVertexgetEndVertex () const
 
void setVertex (GVertex *const f, const int orientation)
 
void setMeshMaster (GEdge *master, const std::vector< double > &)
 
void setMeshMaster (GEdge *master, int sign)
 
void reverse ()
 
void addFace (GFace *f)
 
virtual void delFace (GFace *f)
 
virtual int dim () const
 
virtual GEntitygetParentEntity ()
 
virtual std::vector< GVertex * > vertices () const
 
virtual void setVisibility (char val, bool recursive=false)
 
virtual void setColor (unsigned int val, bool recursive=false)
 
virtual bool isSeam (const GFace *face) const
 
virtual SBoundingBox3d bounds (bool fast=false)
 
virtual SOrientedBoundingBox getOBB ()
 
virtual std::list< GRegion * > regions () const
 
virtual std::vector< GFace * > faces () const
 
virtual std::size_t numFaces () const
 
virtual bool isOrphan ()
 
virtual bool containsParam (double pt) const
 
virtual SVector3 position (double p) const
 
virtual SVector3 secondDer (double par) const
 
virtual std::string getAdditionalInfoString (bool multline=false)
 
virtual void writeGEO (FILE *fp)
 
virtual void writePY (FILE *fp)
 
bool storeSTLAsMesh ()
 
virtual bool is3D () const
 
double length () const
 
void setLength (const double l)
 
double length (const double &u0, const double &u1, const int nbQuadPoints=4)
 
double prescribedMeshSizeAtVertex () const
 
double prescribedMeshSizeAtParam (double u)
 
void setMeshSizeParametric (const std::vector< double > u, const std::vector< double > lc)
 
void setTooSmall (bool const b)
 
virtual bool isMeshDegenerated () 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
 
virtual void resetMeshAttributes ()
 
virtual bool periodic (int dim) const
 
virtual Range< double > parBoundsOnFace (GFace *face=nullptr) const
 
double getLowerBound () const
 
double getUpperBound () const
 
virtual bool containsPoint (const SPoint3 &pt) const
 
virtual GPoint closestPoint (const SPoint3 &queryPoint, double &param) const
 
virtual double parFromPoint (const SPoint3 &P) const
 
virtual bool refineProjection (const SVector3 &Q, double &u, int MaxIter, double relax, double tol, double &err) const
 
virtual bool XYZToU (const double X, const double Y, const double Z, double &U, const double relax=1, bool first=true) const
 
void relocateMeshVertices ()
 
void addLine (MLine *line)
 
void addElement (int type, MElement *e)
 
void removeElement (int type, MElement *e)
 
void removeElements (int type)
 
virtual void discretize (double tol, std::vector< SPoint3 > &dpts, std::vector< double > &ts)
 
SPoint3 closestPointWithTol (SPoint3 &p, double tolerance)
 
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 ()
 
void deleteVertexArrays ()
 
virtual std::vector< GEdge * > const & edges () 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 double period (int dim) const
 
virtual bool degenerate (int dim) const
 
virtual bool isFullyDiscrete ()
 
virtual double tolerance () 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 getMeshSize () const
 
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)
 
GVertexcast2Vertex ()
 
GEdgecast2Edge ()
 
GFacecast2Face ()
 
GRegioncast2Region ()
 

Private Member Functions

bool _getLocalParameter (const double &t, int &iEdge, double &tLoc) const
 

Private Attributes

std::vector< double > _pars
 
std::vector< SPoint3_discretization
 

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 GEdge
int masterOrientation
 
std::vector< MLine * > lines
 
GEdgecompoundCurve
 
std::vector< SPoint3stl_vertices_xyz
 
struct {
   char   method
 
   double   coeffTransfinite
 
   double   meshSize
 
   double   meshSizeFactor
 
   int   nbPointsTransfinite
 
   int   typeTransfinite
 
   int   minimumMeshSegments
 
   ExtrudeParams *   extrude
 
   bool   reverseMesh
 
meshAttributes
 
struct {
   GEntity::MeshGenerationStatus   status
 
meshStatistics
 
- 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 GEdge
GVertex_v0
 
GVertex_v1
 
std::vector< GFace * > _faces
 
- Protected Attributes inherited from GEntity
SOrientedBoundingBox_obb
 

Detailed Description

Definition at line 12 of file discreteEdge.h.

Constructor & Destructor Documentation

◆ discreteEdge() [1/3]

discreteEdge::discreteEdge ( GModel model,
int  num,
GVertex _v0,
GVertex _v1 
)

Definition at line 20 of file discreteEdge.cpp.

Here is the call graph for this function:

◆ discreteEdge() [2/3]

discreteEdge::discreteEdge ( GModel model,
int  num 
)

Definition at line 30 of file discreteEdge.cpp.

Here is the call graph for this function:

◆ discreteEdge() [3/3]

discreteEdge::discreteEdge ( GModel model)

Definition at line 39 of file discreteEdge.cpp.

◆ ~discreteEdge()

virtual discreteEdge::~discreteEdge ( )
inlinevirtual

Definition at line 22 of file discreteEdge.h.

Member Function Documentation

◆ _getLocalParameter()

bool discreteEdge::_getLocalParameter ( const double &  t,
int &  iEdge,
double &  tLoc 
) const
private

Definition at line 45 of file discreteEdge.cpp.

Referenced by curvature(), firstDer(), and point().

Here is the caller graph for this function:

◆ createGeometry()

int discreteEdge::createGeometry ( )

Definition at line 152 of file discreteEdge.cpp.

Here is the call graph for this function:

◆ curvature()

double discreteEdge::curvature ( double  par) const
virtual

Reimplemented from GEdge.

Definition at line 102 of file discreteEdge.cpp.

Here is the call graph for this function:

◆ firstDer()

SVector3 discreteEdge::firstDer ( double  par) const
virtual

Implements GEdge.

Definition at line 74 of file discreteEdge.cpp.

Here is the call graph for this function:

◆ geomType()

virtual GeomType discreteEdge::geomType ( ) const
inlinevirtual

Reimplemented from GEntity.

Reimplemented in ghostEdge, and partitionEdge.

Definition at line 23 of file discreteEdge.h.

◆ haveParametrization()

virtual bool discreteEdge::haveParametrization ( )
inlinevirtual

Reimplemented from GEntity.

Reimplemented in partitionEdge.

Definition at line 27 of file discreteEdge.h.

Referenced by writeMSH4Parametrizations().

Here is the caller graph for this function:

◆ mesh()

void discreteEdge::mesh ( bool  verbose)
virtual

Reimplemented from GEdge.

Definition at line 214 of file discreteEdge.cpp.

◆ minimumDrawSegments()

int discreteEdge::minimumDrawSegments ( ) const
inlinevirtual

Reimplemented from GEdge.

Definition at line 31 of file discreteEdge.h.

◆ minimumMeshSegments()

virtual int discreteEdge::minimumMeshSegments ( ) const
inlinevirtual

Reimplemented from GEdge.

Definition at line 32 of file discreteEdge.h.

Here is the call graph for this function:

◆ parBounds()

Range< double > discreteEdge::parBounds ( int  i) const
virtual

Implements GEdge.

Definition at line 147 of file discreteEdge.cpp.

◆ point()

GPoint discreteEdge::point ( double  p) const
virtual

Implements GEdge.

Definition at line 59 of file discreteEdge.cpp.

Referenced by reparamOnFace().

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

◆ readParametrization()

bool discreteEdge::readParametrization ( FILE *  fp,
bool  binary 
)

Definition at line 251 of file discreteEdge.cpp.

Referenced by readMSH4Parametrizations().

Here is the caller graph for this function:

◆ reparamOnFace()

SPoint2 discreteEdge::reparamOnFace ( const GFace face,
double  epar,
int  dir 
) const
virtual

Reimplemented from GEdge.

Definition at line 93 of file discreteEdge.cpp.

Here is the call graph for this function:

◆ writeParametrization()

bool discreteEdge::writeParametrization ( FILE *  fp,
bool  binary 
)

Definition at line 223 of file discreteEdge.cpp.

Referenced by writeMSH4Parametrizations().

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

Member Data Documentation

◆ _discretization

std::vector<SPoint3> discreteEdge::_discretization
private

◆ _pars

std::vector<double> discreteEdge::_pars
private

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