This file is indexed.

/usr/include/gmsh/MPoint.h is in libgmsh-dev 2.8.3+dfsg-4ubuntu2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
// 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 _MPOINT_H_
#define _MPOINT_H_

#include "MElement.h"
#include "BasisFactory.h"

/*
 * MPoint
 *
 */
class MPoint : public MElement {
 protected:
  MVertex *_v[1];
 public :
  MPoint(MVertex *v0, int num=0, int part=0)
    : MElement(num, part)
  {
    _v[0] = v0;
  }
  MPoint(const std::vector<MVertex*> &v, int num=0, int part=0)
    : MElement(num, part)
  {
    _v[0] = v[0];
  }
  ~MPoint(){}
  virtual int getDim() const { return 0; }
  virtual int getNumVertices() const { return 1; }
  virtual MVertex *getVertex(int num){ return _v[0]; }
  virtual const MVertex *getVertex(int num) const { return _v[0]; }
  virtual void setVertex(int num,  MVertex *v){ _v[0] = v; }
  virtual int getNumEdges(){ return 0; }
  virtual MEdge getEdge(int num) const{ return MEdge(); }
  virtual int getNumEdgesRep(){ return 0; }
  virtual void getEdgeRep(int num, double *x, double *y, double *z, SVector3 *n){}
  virtual int getNumFaces(){ return 0; }
  virtual MFace getFace(int num){ return MFace(); }
  virtual int getNumFacesRep(){ return 0; }
  virtual void getFaceRep(int num, double *x, double *y, double *z, SVector3 *n){}
  virtual int getType() const { return TYPE_PNT; }
  virtual int getTypeForMSH() const { return MSH_PNT; }
  virtual int getTypeForVTK() const { return 1; }
  virtual const char *getStringForPOS() const { return "SP"; }
  virtual void getNode(int num, double &u, double &v, double &w) const
  {
    u = v = w = 0.;
  }
  virtual SPoint3 barycenterUVW() const
  {
    return SPoint3(0., 0., 0.);
  }
  virtual void getShapeFunctions(double u, double v, double w, double s[], int o) const
  {
    s[0] = 1.;
  }
  virtual void getGradShapeFunctions(double u, double v, double w, double s[][3], int o) const
  {
    s[0][0] = s[0][1] = s[0][2] = 0.;
  }
  virtual const nodalBasis* getFunctionSpace(int o) const
  {
    return BasisFactory::getNodalBasis(MSH_PNT);
  }
  virtual const JacobianBasis* getJacobianFuncSpace(int o) const
  {
    return BasisFactory::getJacobianBasis(MSH_PNT);
  }
  virtual bool isInside(double u, double v, double w) const
  {
    double tol = _isInsideTolerance;
    if(fabs(u) > tol || fabs(v) > tol || fabs(w) > tol)
      return false;
    return true;
  }
  virtual void getIntegrationPoints(int pOrder, int *npts, IntPt **pts)
  {
    static IntPt GQL[1];
    GQL[0].pt[0] = 0;
    GQL[0].pt[1] = 0;
    GQL[0].pt[2] = 0;
    GQL[0].weight = 1;
    *npts = 1;
    *pts = GQL;
  }
};

#endif