Forked from
gmsh / gmsh
10405 commits behind the upstream repository.
-
Christophe Geuzaine authoredChristophe Geuzaine authored
qualityMeasures.h 1.93 KiB
// Gmsh - Copyright (C) 1997-2013 C. Geuzaine, J.-F. Remacle
//
// See the LICENSE.txt file for license information. Please report all
// bugs and problems to the public mailing list <gmsh@geuz.org>.
#ifndef _QUALITY_MEASURES_H_
#define _QUALITY_MEASURES_H_
class BDS_Point;
class BDS_Face;
class MVertex;
class MTriangle;
class MQuadrangle;
class MTetrahedron;
class MElement;
enum qualityMeasure4Triangle {QMTRI_RHO, QMTRI_COND};
enum qualityMeasure4Tet{QMTET_1, QMTET_2, QMTET_3, QMTET_ONE, QMTET_COND};
double qmTriangleAngles (MTriangle *e);
double qmQuadrangleAngles (MQuadrangle *e);
double qmTriangle(MTriangle *f, const qualityMeasure4Triangle &cr);
double qmTriangle(BDS_Face *f, const qualityMeasure4Triangle &cr);
double qmTriangle(const BDS_Point *p1, const BDS_Point *p2, const BDS_Point *p3,
const qualityMeasure4Triangle &cr);
double qmTriangle(const MVertex *v1, const MVertex *v2, const MVertex *v3,
const qualityMeasure4Triangle &cr);
double qmTriangle(const double *d1, const double *d2, const double *d3,
const qualityMeasure4Triangle &cr);
double qmTriangle(const double &x1, const double &y1, const double &z1,
const double &x2, const double &y2, const double &z2,
const double &x3, const double &y3, const double &z3,
const qualityMeasure4Triangle &cr);
double qmTet(MTetrahedron *t, const qualityMeasure4Tet &cr, double *volume = 0);
double qmTet(const MVertex *v1, const MVertex *v2, const MVertex *v3,
const MVertex *v4, const qualityMeasure4Tet &cr, double *volume = 0);
double qmTet(const double &x1, const double &y1, const double &z1,
const double &x2, const double &y2, const double &z2,
const double &x3, const double &y3, const double &z3,
const double &x4, const double &y4, const double &z4,
const qualityMeasure4Tet &cr, double *volume = 0);
#endif