gmsh-TingyuanDoc
0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
|
#include <MHexahedron.h>
Public Member Functions | |
MHexahedron (MVertex *v0, MVertex *v1, MVertex *v2, MVertex *v3, MVertex *v4, MVertex *v5, MVertex *v6, MVertex *v7, int num=0, int part=0) | |
MHexahedron (const std::vector< MVertex * > &v, int num=0, int part=0) | |
~MHexahedron () | |
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 MVertex * | getVertexDIFF (int num) |
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 double | getInnerRadius () |
virtual double | angleShapeMeasure () |
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 () |
virtual int | getVolumeSign () |
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 int | numCommonNodesInDualGraph (const MElement *const other) const |
virtual MEdge | getEdgeSolin (int num) |
virtual MFace | getFaceSolin (int num) |
virtual MVertex * | getVertexNEU (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 * | getVertexINP (int num) |
virtual MVertex * | getVertexKEY (int num) |
virtual MVertex * | getVertexRAD (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 () |
virtual double | gammaShapeMeasure () |
virtual double | etaShapeMeasure () |
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 double | getOuterRadius () |
virtual SPoint3 | barycenter (bool primary=false) const |
virtual SPoint3 | fastBarycenter (bool primary=false) const |
virtual SPoint3 | barycenter_infty () const |
virtual double | getVolume () |
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 | xyz2uvw (double xyz[3], double uvw[3]) const |
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_hexa (const int edge, const int vert) |
static int | faces_hexa (const int face, const int vert) |
static int | faces2edge_hexa (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 [8] |
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 28 of file MHexahedron.h.
|
inline |
Definition at line 45 of file MHexahedron.h.
|
inline |
Definition at line 58 of file MHexahedron.h.
|
inline |
Definition at line 63 of file MHexahedron.h.
|
inlineprotected |
Definition at line 31 of file MHexahedron.h.
Referenced by getEdgeVertices(), MHexahedron20::getEdgeVertices(), MHexahedron27::getEdgeVertices(), and MHexahedronN::getEdgeVertices().
|
inlineprotected |
Definition at line 36 of file MHexahedron.h.
Referenced by getFaceVertices(), MHexahedron20::getFaceVertices(), MHexahedron27::getFaceVertices(), and MHexahedronN::getFaceVertices().
|
virtual |
Reimplemented from MElement.
Definition at line 74 of file MHexahedron.cpp.
|
inlinevirtual |
Reimplemented from MElement.
Definition at line 181 of file MHexahedron.h.
|
inlinestatic |
Definition at line 191 of file MHexahedron.h.
Referenced by _getEdgeVertices(), getEdge(), getEdgeRep(), gmshGenerateMonomialsHexahedron(), and numEdge2numVertex().
|
inlinestatic |
Definition at line 204 of file MHexahedron.h.
Referenced by MHexahedronN::getFaceVertices(), and retrieveFaceBoundaryVertices().
|
inlinestatic |
Definition at line 198 of file MHexahedron.h.
Referenced by _getFaceVertices(), _myGetFaceRep(), Cell::findBdCellOrientation(), Cell::findBdElement(), getFace(), gmshGenerateMonomialsHexahedron(), and retrieveFaceBoundaryVertices().
|
inlinevirtual |
Implements MElement.
Definition at line 64 of file MHexahedron.h.
|
inlinevirtual |
Implements MElement.
Definition at line 75 of file MHexahedron.h.
|
virtual |
Implements MElement.
Reimplemented in MHexahedronN, MHexahedron27, and MHexahedron20.
Definition at line 21 of file MHexahedron.cpp.
Referenced by MHexahedron20::getEdgeRep(), MHexahedron27::getEdgeRep(), and MHexahedronN::getEdgeRep().
|
inlinevirtual |
Reimplemented from MElement.
Definition at line 214 of file MHexahedron.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MHexahedronN, MHexahedron27, and MHexahedron20.
Definition at line 86 of file MHexahedron.h.
|
inlinevirtual |
Implements MElement.
Definition at line 92 of file MHexahedron.h.
Referenced by qmHexahedron::angles(), getFaceInfo(), getInnerRadius(), and MakeMeshConformal().
|
virtual |
Reimplemented from MElement.
Definition at line 94 of file MHexahedron.cpp.
|
virtual |
Implements MElement.
Reimplemented in MHexahedronN, MHexahedron27, and MHexahedron20.
Definition at line 347 of file MHexahedron.cpp.
Referenced by MHexahedron20::getFaceRep(), MHexahedron27::getFaceRep(), and MHexahedronN::getFaceRep().
|
inlinevirtual |
Reimplemented from MElement.
Definition at line 221 of file MHexahedron.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MHexahedronN, MHexahedron27, and MHexahedron20.
Definition at line 104 of file MHexahedron.h.
|
virtual |
Reimplemented from MElement.
Definition at line 82 of file MHexahedron.cpp.
|
virtual |
Reimplemented from MElement.
Definition at line 68 of file MHexahedron.cpp.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MHexahedronN, MHexahedron27, and MHexahedron20.
Definition at line 131 of file MHexahedron.h.
Referenced by MHexahedron20::getNode(), MHexahedron27::getNode(), and MHexahedronN::getNode().
|
inlinevirtual |
Implements MElement.
Definition at line 74 of file MHexahedron.h.
|
inlinevirtual |
Implements MElement.
Reimplemented in MHexahedronN, MHexahedron27, and MHexahedron20.
Definition at line 83 of file MHexahedron.h.
|
inlinevirtual |
Implements MElement.
Definition at line 91 of file MHexahedron.h.
Referenced by qmHexahedron::angles(), getInnerRadius(), and MakeMeshConformal().
|
virtual |
Implements MElement.
Reimplemented in MHexahedronN, MHexahedron27, and MHexahedron20.
Definition at line 401 of file MHexahedron.cpp.
Referenced by MHexahedron20::getNumFacesRep(), MHexahedron27::getNumFacesRep(), and MHexahedronN::getNumFacesRep().
|
inlinevirtual |
Implements MElement.
Reimplemented in MHexahedronN, MHexahedron27, and MHexahedron20.
Definition at line 65 of file MHexahedron.h.
Referenced by Subdivide().
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MHexahedron20.
Definition at line 114 of file MHexahedron.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MHexahedron27, and MHexahedron20.
Definition at line 115 of file MHexahedron.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MHexahedron27, and MHexahedron20.
Definition at line 116 of file MHexahedron.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MHexahedron27, and MHexahedron20.
Definition at line 117 of file MHexahedron.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MHexahedron27.
Definition at line 113 of file MHexahedron.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MHexahedron27, and MHexahedron20.
Definition at line 118 of file MHexahedron.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MHexahedron27.
Definition at line 119 of file MHexahedron.h.
|
inlinevirtual |
Implements MElement.
Definition at line 109 of file MHexahedron.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MHexahedronN, MHexahedron27, and MHexahedron20.
Definition at line 110 of file MHexahedron.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MHexahedron20.
Definition at line 111 of file MHexahedron.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MHexahedron27, and MHexahedron20.
Definition at line 112 of file MHexahedron.h.
|
inlinevirtual |
Implements MElement.
Reimplemented in MHexahedronN, MHexahedron27, and MHexahedron20.
Definition at line 66 of file MHexahedron.h.
Referenced by getFaceRep(), getInnerRadius(), getVertexDIFF(), getVertexNEU(), setHighOrder(), and Subdivide().
|
inlinevirtual |
Implements MElement.
Reimplemented in MHexahedronN, MHexahedron27, and MHexahedron20.
Definition at line 67 of file MHexahedron.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MHexahedron27, and MHexahedron20.
Definition at line 69 of file MHexahedron.h.
|
inlinevirtual |
Reimplemented from MElement.
Definition at line 228 of file MHexahedron.h.
|
virtual |
Reimplemented from MElement.
Definition at line 47 of file MHexahedron.cpp.
|
inlinevirtual |
Implements MElement.
Definition at line 182 of file MHexahedron.h.
|
virtual |
Implements MElement.
Definition at line 104 of file MHexahedron.cpp.
|
inlinevirtual |
Reimplemented from MElement.
Definition at line 79 of file MHexahedron.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MHexahedronN, MHexahedron27, and MHexahedron20.
Definition at line 120 of file MHexahedron.h.
|
inlinevirtual |
Reimplemented from MElement.
Reimplemented in MHexahedronN, MHexahedron27, and MHexahedron20.
Definition at line 68 of file MHexahedron.h.
|
protected |
Definition at line 30 of file MHexahedron.h.
Referenced by _getEdgeVertices(), _getFaceVertices(), getEdge(), getEdgeRep(), getEdgeSolin(), getFace(), getFaceRep(), getFaceSolin(), getVertex(), MHexahedron20::getVertex(), MHexahedron27::getVertex(), MHexahedronN::getVertex(), getVolumeSign(), MHexahedron(), reverse(), MHexahedron20::reverse(), MHexahedron27::reverse(), MHexahedronN::reverse(), setVertex(), MHexahedron20::setVertex(), MHexahedron27::setVertex(), and MHexahedronN::setVertex().