~ubuntu-branches/debian/squeeze/gmsh/squeeze

« back to all changes in this revision

Viewing changes to Mesh/qualityMeasures.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Christophe Prud'homme, Christophe Prud'homme
  • Date: 2009-09-27 17:36:40 UTC
  • mfrom: (1.2.9 upstream) (8.1.2 squeeze)
  • Revision ID: james.westby@ubuntu.com-20090927173640-oxyhzt0eadjfrlwz
[Christophe Prud'homme]
* New upstream release
  + solver code refactoring
  + better IDE integration.

Show diffs side-by-side

added added

removed removed

Lines of Context:
9
9
#include "MTriangle.h"
10
10
#include "MTetrahedron.h"
11
11
#include "Numeric.h"
12
 
#include "FunctionSpace.h"
 
12
#include "functionSpace.h"
13
13
#include "GmshMessage.h"
14
14
 
15
15
double qmTriangle(const BDS_Point *p1, const BDS_Point *p2, const BDS_Point *p3, 
16
 
                  const gmshQualityMeasure4Triangle &cr)
 
16
                  const qualityMeasure4Triangle &cr)
17
17
{
18
18
  return qmTriangle(p1->X, p1->Y, p1->Z, p2->X, p2->Y, p2->Z, p3->X, p3->Y, p3->Z, cr);
19
19
}
20
20
 
21
 
double qmTriangle(BDS_Face *t, const gmshQualityMeasure4Triangle &cr)
 
21
double qmTriangle(BDS_Face *t, const qualityMeasure4Triangle &cr)
22
22
{
23
23
  BDS_Point *n[4];
24
24
  t->getNodes(n);
25
25
  return qmTriangle(n[0], n[1], n[2], cr);
26
26
}
27
27
 
28
 
double qmTriangle(MTriangle*t, const gmshQualityMeasure4Triangle &cr)
 
28
double qmTriangle(MTriangle*t, const qualityMeasure4Triangle &cr)
29
29
{
30
30
  return qmTriangle(t->getVertex(0), t->getVertex(1), t->getVertex(2), cr);
31
31
}
32
32
 
33
33
double qmTriangle(const MVertex *v1, const MVertex *v2, const MVertex *v3, 
34
 
                  const gmshQualityMeasure4Triangle &cr)
 
34
                  const qualityMeasure4Triangle &cr)
35
35
{
36
36
  return qmTriangle(v1->x(), v1->y(), v1->z(), v2->x(), v2->y(), v2->z(),
37
37
                    v3->x(), v3->y(), v3->z(), cr);
43
43
double qmTriangle(const double &xa, const double &ya, const double &za, 
44
44
                  const double &xb, const double &yb, const double &zb, 
45
45
                  const double &xc, const double &yc, const double &zc, 
46
 
                  const gmshQualityMeasure4Triangle &cr)
 
46
                  const qualityMeasure4Triangle &cr)
47
47
{
48
48
  double quality;
49
49
  switch(cr){
86
86
  return quality;
87
87
}
88
88
 
89
 
double qmTet(MTetrahedron *t, const gmshQualityMeasure4Tet &cr, double *volume)
 
89
double qmTet(MTetrahedron *t, const qualityMeasure4Tet &cr, double *volume)
90
90
{
91
91
  return qmTet(t->getVertex(0), t->getVertex(1), t->getVertex(2), t->getVertex(3),
92
92
               cr, volume);
93
93
}
94
94
 
95
95
double qmTet(const MVertex *v1, const MVertex *v2, const MVertex *v3,
96
 
             const MVertex *v4, const gmshQualityMeasure4Tet &cr, double *volume)
 
96
             const MVertex *v4, const qualityMeasure4Tet &cr, double *volume)
97
97
{
98
98
  return qmTet(v1->x(), v1->y(), v1->z(), v2->x(), v2->y(), v2->z(), 
99
99
               v3->x(), v3->y(), v3->z(), v4->x(), v4->y(), v4->z(), cr, volume);
103
103
             const double &x2, const double &y2, const double &z2, 
104
104
             const double &x3, const double &y3, const double &z3, 
105
105
             const double &x4, const double &y4, const double &z4, 
106
 
             const gmshQualityMeasure4Tet &cr, double *volume)
 
106
             const qualityMeasure4Tet &cr, double *volume)
107
107
{
108
108
  switch(cr){
109
109
  case QMTET_ONE:
234
234
    const double di  = mesh_functional_distorsion (e, u, v);
235
235
    dmin = (i == 0)? di : std::min(dmin, di);
236
236
  }
237
 
  const gmshMatrix<double>& points = e->getFunctionSpace()->points;
 
237
  const fullMatrix<double>& points = e->getFunctionSpace()->points;
238
238
 
239
239
  for (int i = 0; i < e->getNumPrimaryVertices(); i++) {
240
240
    const double u = points(i, 0);
281
281
    dmin = (i == 0) ? di : std::min(dmin, di);
282
282
  }
283
283
  
284
 
  const gmshMatrix<double>& points = e->getFunctionSpace()->points;
 
284
  const fullMatrix<double>& points = e->getFunctionSpace()->points;
285
285
 
286
286
  for (int i = 0; i < e->getNumPrimaryVertices(); i++) {
287
287
    const double u = points(i, 0);