/usr/include/gmsh/MPoint.h is in libgmsh-dev 2.15.0+dfsg1-3.
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 | // Gmsh - Copyright (C) 1997-2016 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@onelab.info>.
#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()const{ return 0; }
virtual MEdge getEdge(int num) const{ return MEdge(); }
virtual int getNumEdgesRep(bool curved){ return 0; }
virtual void getEdgeRep(bool curved, 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(bool curved){ return 0; }
virtual void getFaceRep(bool curved, 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 JacobianBasis* getJacobianFuncSpace(int o) const
{
return BasisFactory::getJacobianBasis(MSH_PNT);
}
virtual bool isInside(double u, double v, double w) const
{
double tol = getTolerance();
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
|