gmsh-TingyuanDoc
0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
|
#include <MTetrahedron.h>
Public Member Functions | |
MTetrahedron (MVertex *v0, MVertex *v1, MVertex *v2, MVertex *v3, int num=0, int part=0) | |
MTetrahedron (const std::vector< MVertex * > &v, int num=0, int part=0) | |
~MTetrahedron () | |
virtual int | getDim () const |
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 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 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 () |
void | getMat (double mat[3][3]) const |
virtual double | getVolume () |
virtual int | getVolumeSign () |
virtual double | gammaShapeMeasure () |
virtual double | getInnerRadius () |
virtual double | getOuterRadius () |
virtual double | etaShapeMeasure () |
virtual void | xyz2uvw (double xyz[3], double uvw[3]) const |
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 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 |
virtual MFaceN | getHighOrderFace (int num, int sign, int rot) |
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 double | angleShapeMeasure () |
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 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_tetra (const int edge, const int vert) |
static int | faces_tetra (const int face, const int vert) |
static int | faces2edge_tetra (const int face, const int edge) |
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 (const int num, 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 [4] |
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 34 of file MTetrahedron.h.
|
inline |
Definition at line 50 of file MTetrahedron.h.
Referenced by MSubTetrahedron::getBaseElement().
|
inline |
Definition at line 59 of file MTetrahedron.h.
|
inline |
Definition at line 64 of file MTetrahedron.h.
|
inlineprotected |
Definition at line 37 of file MTetrahedron.h.
Referenced by getEdgeVertices(), MTetrahedron10::getEdgeVertices(), and MTetrahedronN::getEdgeVertices().
|
inlineprotected |
Definition at line 42 of file MTetrahedron.h.
Referenced by getFaceVertices(), MTetrahedron10::getFaceVertices(), and MTetrahedronN::getFaceVertices().
|
inlinevirtual |
Reimplemented from MElement.
Definition at line 173 of file MTetrahedron.h.
|
virtual |
Definition at line 49 of file MTetrahedron.cpp.
Referenced by getOuterRadius().
|
inlinestatic |
Definition at line 183 of file MTetrahedron.h.
Referenced by _getEdgeVertices(), getEdge(), getEdgeRep(), gmshGenerateMonomialsTetrahedron(), and numEdge2numVertex().
|
virtual |
Reimplemented from MElement.
Definition at line 104 of file MTetrahedron.cpp.
|
inlinestatic |
Definition at line 193 of file MTetrahedron.h.
Referenced by MTetrahedronN::getFaceVertices(), and retrieveFaceBoundaryVertices().
|
inlinestatic |
Definition at line 188 of file MTetrahedron.h.
Referenced by _getFaceVertices(), Cell::findBdCellOrientation(), Cell::findBdElement(), getFace(), getFaceRep(), gmshGenerateMonomialsTetrahedron(), and retrieveFaceBoundaryVertices().
|
virtual |
Reimplemented from MElement.
Definition at line 94 of file MTetrahedron.cpp.
Referenced by alphaShape().
|
inlinevirtual |
Implements MElement.
Definition at line 65 of file MTetrahedron.h.
Referenced by MSubTetrahedron::isInside().
|
inlinevirtual |
Implements MElement.
Definition at line 71 of file MTetrahedron.h.
|
virtual |
Implements MElement.
Reimplemented in MTetrahedronN, and MTetrahedron10.
Definition at line 23 of file MTetrahedron.cpp.
Referenced by MTetrahedron10::getEdgeRep(), and MTetrahedronN::getEdgeRep().
|
inlinevirtual |
Reimplemented from MElement.
Definition at line 202 of file MTetrahedron.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MTetrahedronN, and MTetrahedron10.
Definition at line 82 of file MTetrahedron.h.
|
inlinevirtual |
Implements MElement.
Definition at line 88 of file MTetrahedron.h.
Referenced by _myGetEdgeRep(), getFaceInfo(), getInnerRadius(), and Subdivide().
|
virtual |
Reimplemented from MElement.
Definition at line 338 of file MTetrahedron.cpp.
|
inlinevirtual |
Implements MElement.
Reimplemented in MTetrahedronN, and MTetrahedron10.
Definition at line 96 of file MTetrahedron.h.
Referenced by MTetrahedron10::getFaceRep(), and MTetrahedronN::getFaceRep().
|
inlinevirtual |
Reimplemented from MElement.
Definition at line 208 of file MTetrahedron.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MTetrahedronN, and MTetrahedron10.
Definition at line 102 of file MTetrahedron.h.
|
virtual |
Reimplemented from MElement.
Definition at line 75 of file MTetrahedron.cpp.
|
virtual |
Reimplemented from MElement.
Reimplemented in MSubTetrahedron.
Definition at line 332 of file MTetrahedron.cpp.
|
inline |
Definition at line 124 of file MTetrahedron.h.
Referenced by getVolume(), and xyz2uvw().
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MTetrahedronN, and MTetrahedron10.
Definition at line 143 of file MTetrahedron.h.
Referenced by MTetrahedron10::getNode(), and MTetrahedronN::getNode().
|
inlinevirtual |
Implements MElement.
Definition at line 70 of file MTetrahedron.h.
|
inlinevirtual |
Implements MElement.
Reimplemented in MTetrahedronN, and MTetrahedron10.
Definition at line 79 of file MTetrahedron.h.
|
inlinevirtual |
Implements MElement.
Definition at line 87 of file MTetrahedron.h.
Referenced by Subdivide().
|
inlinevirtual |
Implements MElement.
Reimplemented in MTetrahedronN, and MTetrahedron10.
Definition at line 95 of file MTetrahedron.h.
|
inlinevirtual |
Implements MElement.
Reimplemented in MTetrahedronN, and MTetrahedron10.
Definition at line 66 of file MTetrahedron.h.
Referenced by Subdivide().
|
virtual |
Reimplemented from MElement.
Definition at line 61 of file MTetrahedron.cpp.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MTetrahedron10.
Definition at line 112 of file MTetrahedron.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MTetrahedron10.
Definition at line 113 of file MTetrahedron.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MTetrahedron10.
Definition at line 114 of file MTetrahedron.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MTetrahedron10.
Definition at line 115 of file MTetrahedron.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MTetrahedron10.
Definition at line 111 of file MTetrahedron.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MTetrahedron10.
Definition at line 116 of file MTetrahedron.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MTetrahedron10.
Definition at line 117 of file MTetrahedron.h.
|
inlinevirtual |
Implements MElement.
Definition at line 107 of file MTetrahedron.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MTetrahedronN, MTetrahedron10, and MSubTetrahedron.
Definition at line 108 of file MTetrahedron.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MTetrahedron10.
Definition at line 109 of file MTetrahedron.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MTetrahedron10.
Definition at line 110 of file MTetrahedron.h.
|
inlinevirtual |
Implements MElement.
Reimplemented in MTetrahedronN, and MTetrahedron10.
Definition at line 67 of file MTetrahedron.h.
Referenced by BarycentricRefineMesh(), buildEdgeCavity(), buildVertexCavity_recur(), MTet4::circumcenter(), collapseVertex(), faceSwap(), faceXtet::faceXtet(), getOuterRadius(), MTet4::getVolume(), MTet4::inCircumSphere(), insertVerticesInRegion(), non_recursive_classify(), qmTetrahedron::qm(), RelocateVerticesOfPyramids(), setHighOrder(), setLcs(), MTet4::setup(), smoothVertex(), smoothVertexOptimize(), Subdivide(), faceXtet::visible(), and xyz2uvw().
|
inlinevirtual |
Implements MElement.
Reimplemented in MTetrahedronN, and MTetrahedron10.
Definition at line 68 of file MTetrahedron.h.
|
virtual |
Reimplemented from MElement.
Definition at line 114 of file MTetrahedron.cpp.
Referenced by faceSwap(), getInnerRadius(), and getVolumeSign().
|
inlinevirtual |
Reimplemented from MElement.
Definition at line 137 of file MTetrahedron.h.
|
inlinevirtual |
Implements MElement.
Reimplemented in MSubTetrahedron.
Definition at line 174 of file MTetrahedron.h.
Referenced by insertVerticesInRegion(), and MPolyhedron::isInside().
|
virtual |
Implements MElement.
Definition at line 131 of file MTetrahedron.cpp.
|
inlinevirtual |
Reimplemented from MElement.
Definition at line 75 of file MTetrahedron.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MTetrahedronN, and MTetrahedron10.
Definition at line 118 of file MTetrahedron.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MTetrahedronN, and MTetrahedron10.
Definition at line 69 of file MTetrahedron.h.
|
virtual |
Reimplemented from MElement.
Reimplemented in MTetrahedronN, MTetrahedron10, and MSubTetrahedron.
Definition at line 121 of file MTetrahedron.cpp.
Referenced by insertVerticesInRegion(), and MPolyhedron::isInside().
|
protected |
Definition at line 36 of file MTetrahedron.h.
Referenced by _getEdgeVertices(), _getFaceVertices(), getEdge(), getEdgeRep(), getEdgeSolin(), getFace(), getFaceRep(), getFaceSolin(), getMat(), getVertex(), MTetrahedron10::getVertex(), MTetrahedronN::getVertex(), MTetrahedron(), reverse(), MTetrahedron10::reverse(), MTetrahedronN::reverse(), setVertex(), MTetrahedron10::setVertex(), and MTetrahedronN::setVertex().