gmsh-TingyuanDoc
0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
|
#include <MTriangle.h>
Public Member Functions | |
MTriangle (MVertex *v0, MVertex *v1, MVertex *v2, int num=0, int part=0) | |
MTriangle (const std::vector< MVertex * > &v, int num=0, int part=0) | |
~MTriangle () | |
virtual int | getDim () const |
virtual double | etaShapeMeasure () |
virtual double | gammaShapeMeasure () |
virtual double | getInnerRadius () |
virtual double | getOuterRadius () |
virtual double | angleShapeMeasure () |
virtual std::size_t | getNumVertices () const |
virtual MVertex * | getVertex (int num) |
virtual const MVertex * | getVertex (int num) const |
virtual void | setVertex (int num, MVertex *v) |
virtual void | xyz2uvw (double xyz[3], double uvw[3]) const |
virtual MVertex * | getOtherVertex (MVertex *v1, MVertex *v2) |
virtual int | getNumEdges () const |
virtual MEdge | getEdge (int num) const |
virtual int | numEdge2numVertex (int numEdge, int numVert) const |
virtual int | getNumEdgesRep (bool curved) |
virtual void | getEdgeRep (bool curved, int num, double *x, double *y, double *z, SVector3 *n) |
virtual void | getEdgeVertices (const int num, std::vector< MVertex * > &v) const |
virtual int | getNumFaces () |
virtual MFace | getFace (int num) const |
virtual bool | getFaceInfo (const MFace &face, int &ithFace, int &sign, int &rot) const |
virtual MFaceN | getHighOrderFace (int num, int sign, int rot) |
virtual int | getNumFacesRep (bool curved) |
virtual void | getFaceRep (bool curved, int num, double *x, double *y, double *z, SVector3 *n) |
virtual void | getFaceVertices (const int num, std::vector< MVertex * > &v) const |
virtual int | getType () const |
virtual int | getTypeForMSH () const |
virtual int | getTypeForUNV () const |
virtual int | getTypeForVTK () const |
virtual const char * | getStringForPOS () const |
virtual const char * | getStringForBDF () const |
virtual const char * | getStringForDIFF () const |
virtual const char * | getStringForINP () const |
virtual const char * | getStringForKEY () const |
virtual const char * | getStringForRAD () const |
virtual const char * | getStringForTOCHNOG () const |
virtual void | reverse () |
virtual void | reorient (int rotation, bool swap) |
virtual void | getNode (int num, double &u, double &v, double &w) const |
virtual SPoint3 | barycenterUVW () const |
virtual bool | isInside (double u, double v, double w) const |
virtual void | getIntegrationPoints (int pOrder, int *npts, IntPt **pts) |
virtual SPoint3 | circumcenter () |
virtual double | getVolume () |
virtual int | numCommonNodesInDualGraph (const MElement *const other) const |
virtual MEdge | getEdgeSolin (int num) |
virtual MFace | getFaceSolin (int num) |
Public Member Functions inherited from MElement | |
MElement (std::size_t num=0, int part=0) | |
virtual | ~MElement () |
double | getTolerance () const |
virtual std::size_t | getNum () const |
void | forceNum (std::size_t num) |
virtual int | getPolynomialOrder () const |
virtual bool | getIsAssimilatedSerendipity () const |
virtual bool | getIsOnlySerendipity () const |
virtual int | getPartition () const |
virtual void | setPartition (int num) |
virtual char | getVisibility () const |
virtual void | setVisibility (char val) |
void | getVertices (std::vector< MVertex * > &verts) |
virtual void | getVertexInfo (const MVertex *vertex, int &ithVertex) const |
virtual MVertex * | getVertexUNV (int num) |
virtual MVertex * | getVertexVTK (int num) |
virtual MVertex * | getVertexMATLAB (int num) |
virtual MVertex * | getVertexTOCHNOG (int num) |
virtual MVertex * | getVertexBDF (int num) |
virtual MVertex * | getVertexDIFF (int num) |
virtual MVertex * | getVertexINP (int num) |
virtual MVertex * | getVertexKEY (int num) |
virtual MVertex * | getVertexRAD (int num) |
virtual MVertex * | getVertexNEU (int num) |
virtual int | getNumEdgeVertices () const |
virtual int | getNumFaceVertices () const |
virtual int | getNumVolumeVertices () const |
std::size_t | getNumPrimaryVertices () const |
virtual MEdgeN | getHighOrderEdge (int num, int sign) |
MEdgeN | getHighOrderEdge (const MEdge &edge) |
virtual bool | getEdgeInfo (const MEdge &edge, int &ithEdge, int &sign) const |
MFaceN | getHighOrderFace (const MFace &face) |
virtual MElement * | getParent () const |
virtual void | setParent (MElement *p, bool owner=false) |
virtual void | updateParent (GModel *gm) |
virtual int | getNumChildren () const |
virtual MElement * | getChild (int i) const |
virtual bool | ownsParent () const |
virtual const MElement * | getBaseElement () const |
virtual MElement * | getBaseElement () |
virtual MElement * | getDomain (int i) const |
virtual void | setDomain (MElement *e, int i) |
virtual double | maxEdge () |
virtual double | minEdge () |
double | maxDistToStraight () const |
double | skewness () |
double | minSICNShapeMeasure () |
double | minSIGEShapeMeasure () |
double | distoShapeMeasure () |
double | minIsotropyMeasure (bool knownValid=false, bool reversedOk=false) |
double | minScaledJacobian (bool knownValid=false, bool reversedOk=false) |
virtual void | scaledJacRange (double &jmin, double &jmax, GEntity *ge=nullptr) const |
virtual void | idealJacRange (double &jmin, double &jmax, GEntity *ge=nullptr) |
virtual void | signedInvCondNumRange (double &iCNMin, double &iCNMax, GEntity *ge=nullptr) |
virtual void | signedInvGradErrorRange (double &minSIGE, double &maxSIGE) |
virtual SPoint3 | barycenter (bool primary=false) const |
virtual SPoint3 | fastBarycenter (bool primary=false) const |
virtual SPoint3 | barycenter_infty () const |
virtual int | getVolumeSign () |
virtual bool | setVolumePositive () |
int | getValidity () |
virtual std::string | getInfoString (bool multline) |
virtual const nodalBasis * | getFunctionSpace (int order=-1, bool serendip=false) const |
virtual const FuncSpaceData | getFuncSpaceData (int order=-1, bool serendip=false) const |
virtual const JacobianBasis * | getJacobianFuncSpace (int orderElement=-1) const |
virtual const FuncSpaceData | getJacobianFuncSpaceData (int orderElement=-1) const |
virtual void | getShapeFunctions (double u, double v, double w, double s[], int order=-1) const |
virtual void | getGradShapeFunctions (double u, double v, double w, double s[][3], int order=-1) const |
virtual void | getHessShapeFunctions (double u, double v, double w, double s[][3][3], int order=-1) const |
virtual void | getThirdDerivativeShapeFunctions (double u, double v, double w, double s[][3][3][3], int order=-1) const |
virtual double | getJacobian (const fullMatrix< double > &gsf, double jac[3][3]) const |
virtual double | getJacobian (const std::vector< SVector3 > &gsf, double jac[3][3]) const |
virtual double | getJacobian (const std::vector< SVector3 > &gsf, double *jac) const |
virtual double | getJacobian (double u, double v, double w, double jac[3][3]) const |
double | getJacobian (double u, double v, double w, fullMatrix< double > &j) const |
virtual double | getPrimaryJacobian (double u, double v, double w, double jac[3][3]) const |
double | getJacobianDeterminant (double u, double v, double w) const |
void | getSignedJacobian (fullVector< double > &jacobian, int o=-1) const |
void | getNodesCoord (fullMatrix< double > &nodesXYZ) const |
void | getNodesCoordNonSerendip (fullMatrix< double > &nodesXYZ) const |
bezierCoeff * | getBezierVerticesCoord () const |
virtual std::size_t | getNumShapeFunctions () const |
virtual std::size_t | getNumPrimaryShapeFunctions () const |
virtual const MVertex * | getShapeFunctionNode (int i) const |
virtual MVertex * | getShapeFunctionNode (int i) |
virtual double | getEigenvaluesMetric (double u, double v, double w, double values[3]) const |
virtual void | pnt (double u, double v, double w, SPoint3 &p) const |
virtual void | pnt (double u, double v, double w, double *p) const |
virtual void | pnt (const std::vector< double > &sf, SPoint3 &p) const |
virtual void | primaryPnt (double u, double v, double w, SPoint3 &p) |
virtual void | movePointFromParentSpaceToElementSpace (double &u, double &v, double &w) const |
virtual void | movePointFromElementSpaceToParentSpace (double &u, double &v, double &w) const |
double | interpolate (double val[], double u, double v, double w, int stride=1, int order=-1) |
void | interpolateGrad (double val[], double u, double v, double w, double f[], int stride=1, double invjac[3][3]=nullptr, int order=-1) |
void | interpolateCurl (double val[], double u, double v, double w, double f[], int stride=3, int order=-1) |
double | interpolateDiv (double val[], double u, double v, double w, int stride=3, int order=-1) |
double | integrate (double val[], int pOrder, int stride=1, int order=-1) |
double | integrateCirc (double val[], int edge, int pOrder, int order=-1) |
double | integrateFlux (double val[], int face, int pOrder, int order=-1) |
virtual void | writeMSH2 (FILE *fp, double version=1.0, bool binary=false, int num=0, int elementary=1, int physical=1, int parentNum=0, int dom1Num=0, int dom2Num=0, std::vector< short > *ghosts=nullptr) |
virtual void | writeMSH3 (FILE *fp, bool binary=false, int elementary=1, std::vector< short > *ghosts=nullptr) |
virtual void | writePOS (FILE *fp, bool printElementary, bool printElementNumber, bool printSICN, bool printSIGE, bool printGamma, bool printDisto, double scalingFactor=1.0, int elementary=1) |
virtual void | writeSTL (FILE *fp, bool binary=false, double scalingFactor=1.0) |
virtual void | writeX3D (FILE *fp, double scalingFactor=1.0) |
virtual void | writeVRML (FILE *fp) |
virtual void | writePLY2 (FILE *fp) |
virtual void | writeUNV (FILE *fp, int num=0, int elementary=1, int physical=1) |
virtual void | writeVTK (FILE *fp, bool binary=false, bool bigEndian=false) |
virtual void | writeMATLAB (FILE *fp, int filetype, int elementary=0, int physical=0, bool binary=false) |
virtual void | writeTOCHNOG (FILE *fp, int num) |
virtual void | writeMESH (FILE *fp, int elementTagType=1, int elementary=1, int physical=0) |
virtual void | writeNEU (FILE *fp, unsigned gambitType, int adjust, int phys=0) |
virtual void | writeIR3 (FILE *fp, int elementTagType, int num, int elementary, int physical) |
virtual void | writeBDF (FILE *fp, int format=0, int elementTagType=1, int elementary=1, int physical=0) |
virtual void | writeDIFF (FILE *fp, int num, bool binary=false, int physical_property=1) |
virtual void | writeINP (FILE *fp, int num) |
virtual void | writeKEY (FILE *fp, int pid, int num) |
virtual void | writeRAD (FILE *fp, int num) |
virtual void | writeSU2 (FILE *fp, int num) |
std::string | getName () |
virtual std::size_t | getNumVerticesForMSH () |
virtual void | getVerticesIdForMSH (std::vector< int > &verts) |
virtual MElement * | copy (std::map< int, MVertex * > &vertexMap, std::map< MElement *, MElement * > &newParents, std::map< MElement *, MElement * > &newDomains) |
Static Public Member Functions | |
static int | edges_tri (const int edge, const int vert) |
Static Public Member Functions inherited from MElement | |
static unsigned int | getInfoMSH (const int typeMSH, const char **const name=nullptr) |
Protected Member Functions | |
void | _getEdgeVertices (const int num, std::vector< MVertex * > &v) const |
void | _getFaceVertices (std::vector< MVertex * > &v) const |
Protected Member Functions inherited from MElement | |
void | _getEdgeRep (MVertex *v0, MVertex *v1, double *x, double *y, double *z, SVector3 *n, int faceIndex=-1) |
void | _getFaceRep (MVertex *v0, MVertex *v1, MVertex *v2, double *x, double *y, double *z, SVector3 *n) |
Protected Attributes | |
MVertex * | _v [3] |
Additional Inherited Members | |
Static Protected Member Functions inherited from MElement | |
static bool | _getFaceInfo (const MFace &face, const MFace &other, int &sign, int &rot) |
Static Protected Attributes inherited from MElement | |
static double | _isInsideTolerance |
Definition at line 26 of file MTriangle.h.
Definition at line 42 of file MTriangle.h.
Referenced by MSubTriangle::getBaseElement().
|
inline |
Definition at line 49 of file MTriangle.h.
|
inline |
Definition at line 54 of file MTriangle.h.
|
inlineprotected |
Definition at line 29 of file MTriangle.h.
Referenced by getEdgeVertices(), MTriangle6::getEdgeVertices(), and MTriangleN::getEdgeVertices().
|
inlineprotected |
Definition at line 34 of file MTriangle.h.
Referenced by getFaceVertices(), MTriangle6::getFaceVertices(), and MTriangleN::getFaceVertices().
|
virtual |
Reimplemented from MElement.
Definition at line 97 of file MTriangle.cpp.
|
inlinevirtual |
Reimplemented from MElement.
Definition at line 154 of file MTriangle.h.
|
virtual |
|
inlinestatic |
Definition at line 165 of file MTriangle.h.
Referenced by _getEdgeVertices(), Cell::findBdCellOrientation(), Cell::findBdElement(), getEdge(), getEdgeRep(), gmshGenerateMonomialsTriangle(), and numEdge2numVertex().
|
virtual |
Reimplemented from MElement.
Definition at line 106 of file MTriangle.cpp.
|
virtual |
Reimplemented from MElement.
Definition at line 115 of file MTriangle.cpp.
Referenced by checkHighOrderTriangles(), insertVertexB(), MTri3::MTri3(), and quadsToTriangles().
|
inlinevirtual |
Implements MElement.
Definition at line 55 of file MTriangle.h.
Referenced by MSubTriangle::getGradShapeFunctions(), and MSubTriangle::isInside().
|
inlinevirtual |
Implements MElement.
Definition at line 74 of file MTriangle.h.
Referenced by classifyFaces(), computeEdgeCut(), computeParametrization(), getInnerRadius(), getOuterRadius(), makePartitionSimplyConnected(), and setLcs().
|
virtual |
Implements MElement.
Reimplemented in MTriangleN, and MTriangle6.
Definition at line 21 of file MTriangle.cpp.
Referenced by MTriangle6::getEdgeRep(), and MTriangleN::getEdgeRep().
|
inlinevirtual |
Reimplemented from MElement.
Definition at line 171 of file MTriangle.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MTriangleN, and MTriangle6.
Definition at line 85 of file MTriangle.h.
|
inlinevirtual |
Implements MElement.
Definition at line 91 of file MTriangle.h.
Referenced by _myGetEdgeRep(), blyr_manager::blyr_manager(), getFaceSolin(), compareTri3Ptr::operator()(), quadsToTriangles(), and Subdivide().
|
virtual |
Reimplemented from MElement.
Definition at line 249 of file MTriangle.cpp.
|
inlinevirtual |
Implements MElement.
Reimplemented in MTriangleN, and MTriangle6.
Definition at line 96 of file MTriangle.h.
Referenced by MTriangle6::getFaceRep(), and MTriangleN::getFaceRep().
|
inlinevirtual |
Reimplemented from MElement.
Definition at line 176 of file MTriangle.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MTriangleN, and MTriangle6.
Definition at line 101 of file MTriangle.h.
|
virtual |
Reimplemented from MElement.
Reimplemented in MTriangleN, and MTriangle6.
Definition at line 473 of file MTriangle.cpp.
|
virtual |
Reimplemented from MElement.
Definition at line 69 of file MTriangle.cpp.
|
virtual |
Reimplemented from MElement.
Reimplemented in MTriangleBorder, and MSubTriangle.
Definition at line 353 of file MTriangle.cpp.
Referenced by GRegion::computeSolidProperties(), and MTriangleBorder::getIntegrationPoints().
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MTriangleN, and MTriangle6.
Definition at line 132 of file MTriangle.h.
Referenced by MTriangle6::getNode(), and MTriangleN::getNode().
|
inlinevirtual |
Implements MElement.
Definition at line 73 of file MTriangle.h.
|
inlinevirtual |
Implements MElement.
Reimplemented in MTriangleN, and MTriangle6.
Definition at line 82 of file MTriangle.h.
|
inlinevirtual |
Implements MElement.
Definition at line 90 of file MTriangle.h.
|
inlinevirtual |
Implements MElement.
Reimplemented in MTriangleN, and MTriangle6.
Definition at line 95 of file MTriangle.h.
|
inlinevirtual |
Implements MElement.
Reimplemented in MTriangleN, and MTriangle6.
Definition at line 61 of file MTriangle.h.
Referenced by getHighOrderFace(), getVolume(), and Subdivide().
Definition at line 66 of file MTriangle.h.
|
virtual |
Reimplemented from MElement.
Definition at line 83 of file MTriangle.cpp.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MTriangle6.
Definition at line 111 of file MTriangle.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MTriangle6.
Definition at line 112 of file MTriangle.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MTriangle6.
Definition at line 113 of file MTriangle.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MTriangle6.
Definition at line 117 of file MTriangle.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MTriangle6.
Definition at line 110 of file MTriangle.h.
|
inlinevirtual |
Reimplemented from MElement.
Definition at line 118 of file MTriangle.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MTriangle6.
Definition at line 119 of file MTriangle.h.
|
inlinevirtual |
Implements MElement.
Definition at line 106 of file MTriangle.h.
Referenced by GMSH_CrackPlugin::execute().
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MTriangleBorder, MTriangleN, MTriangle6, and MSubTriangle.
Definition at line 107 of file MTriangle.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MTriangle6.
Definition at line 108 of file MTriangle.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MTriangleN, and MTriangle6.
Definition at line 109 of file MTriangle.h.
Referenced by MTriangleN::getTypeForVTK().
|
inlinevirtual |
Implements MElement.
Reimplemented in MTriangleN, and MTriangle6.
Definition at line 62 of file MTriangle.h.
Referenced by backgroundMesh::backgroundMesh(), BarycentricRefineMesh(), blyr_manager::blyr_manager(), bowyerWatson(), circumCenterInfinite(), circumCenterMetric(), circUV(), discreteFace::closestPoint(), computeDiscreteCurvatures(), computeEquivalences(), computeParametrization(), edgeXface::edgeXface(), equivalentTriangle::equivalentTriangle(), qmTriangle::eta(), blyr_manager::extrude_external_corners(), blyr_manager::extrude_one_external(), blyr_manager::extrude_vertices_on_edges(), discreteFace::firstDer(), qmTriangle::gamma(), getSurfUV(), MTri3::inCircumCircle(), inCircumCircle(), inCircumCircleAniso(), inCircumCircleXY(), insertAPoint(), insertVertexB(), discreteFace::intersectionWithCircle(), invMapUV(), invMapXY(), isActive(), MTriangleBorder::isInside(), MTri3::MTri3(), qmTriangle::NCJRange(), discreteFace::normal(), compareMTriangleLexicographic::operator()(), optimalPointFrontal(), optimalPointFrontalB(), optimalPointFrontalQuad(), MTri3::otherSide(), discreteFace::point(), search4Triangle(), setHighOrder(), setLcs(), setLcsInit(), Subdivide(), transferDataStructure(), TRIANGLE_VALIDITY(), triOnBox(), updateActiveEdges(), and GModel::writeMAIL().
|
inlinevirtual |
Implements MElement.
Reimplemented in MTriangleN, and MTriangle6.
Definition at line 63 of file MTriangle.h.
|
virtual |
Reimplemented from MElement.
Definition at line 59 of file MTriangle.cpp.
Referenced by swapedge().
|
inlinevirtual |
Implements MElement.
Reimplemented in MTriangleBorder, and MSubTriangle.
Definition at line 155 of file MTriangle.h.
Referenced by MPolygon::isInside(), and MTriangleBorder::isInside().
|
virtual |
Implements MElement.
Definition at line 165 of file MTriangle.cpp.
|
inlinevirtual |
Reimplemented from MElement.
Definition at line 78 of file MTriangle.h.
|
virtual |
Reimplemented in MTriangleN, and MTriangle6.
Definition at line 382 of file MTriangle.cpp.
Referenced by GFace::alignElementsWithMaster(), GModel::alignPeriodicBoundaries(), and MTriangle6::reorient().
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MTriangleN, and MTriangle6.
Definition at line 120 of file MTriangle.h.
Referenced by transferDataStructure().
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MTriangleN, and MTriangle6.
Definition at line 64 of file MTriangle.h.
Referenced by delaunayMeshIn2D(), blyr_manager::extrude_one_external(), and blyr_manager::extrude_vertices_on_edges().
|
virtual |
Reimplemented from MElement.
Reimplemented in MTriangleN, MTriangle6, and MSubTriangle.
Definition at line 124 of file MTriangle.cpp.
Referenced by discreteFace::closestPoint(), MPolygon::isInside(), and MTriangleBorder::isInside().
|
protected |
Definition at line 28 of file MTriangle.h.
Referenced by _getEdgeVertices(), _getFaceVertices(), circumcenter(), getEdge(), getEdgeRep(), getEdgeSolin(), getFace(), getFaceInfo(), getFaceRep(), getHighOrderFace(), MTriangle6::getHighOrderFace(), MTriangleBorder::getIntegrationPoints(), getOtherVertex(), getVertex(), MTriangle6::getVertex(), MTriangleN::getVertex(), getVolume(), MTriangle(), reorient(), MTriangleN::reorient(), reverse(), MTriangle6::reverse(), MTriangleN::reverse(), setVertex(), MTriangle6::setVertex(), MTriangleN::setVertex(), and xyz2uvw().