/usr/include/gmsh/GenericVertex.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 | // 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>.
//
// Contributed by Paul-Emile Bernard
#ifndef _GENERIC_VERTEX_H_
#define _GENERIC_VERTEX_H_
#include "GmshConfig.h"
#include "GModel.h"
#include "GVertex.h"
#include "Context.h"
#include <vector>
/* The set of Generic Entities is a generic interface to any other modeler.
Callbacks (function pointers) are given, sending requests, enquiries, to the
native modeler. */
class GenericVertex : public GVertex {
protected:
int id;
double _x, _y, _z;
public:
// callbacks typedef
typedef bool (*ptrfunction_int_vector)(int, std::vector<double>&);
typedef bool (*ptrfunction_int_doubleptr_voidptr)(int, double*, void*);
GenericVertex(GModel *m, int num, int _native_id);
GenericVertex(GModel *m, int num, int _native_id, const std::vector<double> &vec);
virtual ~GenericVertex();
virtual GPoint point() const { return GPoint(x(), y(), z()); }
virtual double x() const { return _x; }
virtual double y() const { return _y; }
virtual double z() const { return _z; }
virtual void setPosition(GPoint &p);
virtual SPoint2 reparamOnFace(const GFace *gf, int) const;
ModelType getNativeType() const { return GenericModel; }
virtual int getNativeInt()const{return id;};
// sets the callbacks
static void setVertexXYZ(ptrfunction_int_vector fct){VertexXYZ = fct;};
static void setVertexMeshSize(ptrfunction_int_doubleptr_voidptr fct){VertexMeshSize = fct;};
// meshing-related methods:
virtual void setPrescribedMeshSizeAtVertex(double l)
{
Msg::Error("GenericVertex::setPrescribedMeshSizeAtVertex");
}
virtual inline double prescribedMeshSizeAtVertex() const
{
double size;
void *chose = NULL;
if (!VertexMeshSize(id,&size,chose)){
Msg::Error("GenericVertex::ERROR from callback VertexMeshSize");
return CTX::instance()->lc;
}
return size;
}
private:
// the callbacks:
// --------------
// fills vector xyz for vertex of int id
static ptrfunction_int_vector VertexXYZ;
static ptrfunction_int_doubleptr_voidptr VertexMeshSize;
};
#endif
|