/usr/share/netgen/libsrc/stlgeom/meshstlsurface.hpp is in netgen-headers 4.9.13.dfsg-8build2.
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 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | #ifndef FILE_MESHSTLSURF
#define FILE_MESHSTLSURF
/* *************************************************************************/
/* File: meshstlsurf.hpp */
/* Author: Johannes Gerstmayr, Joachim Schoeberl */
/* Date: 01. Aug. 99 */
/* *************************************************************************/
/*
The interface between mesh generation and stl geometry
*/
///
class MeshingSTLSurface : public Meshing2
{
///
STLGeometry & geom;
///
int transformationtrig;
public:
///
MeshingSTLSurface (STLGeometry & ageom);
protected:
///
virtual void DefineTransformation (const Point3d & p1, const Point3d & p2,
const PointGeomInfo * geominfo1,
const PointGeomInfo * geominfo2);
///
virtual void TransformToPlain (const Point3d & locpoint, const MultiPointGeomInfo & geominfo,
Point2d & plainpoint, double h, int & zone);
///
virtual int TransformFromPlain (Point2d & plainpoint,
Point3d & locpoint,
PointGeomInfo & gi,
double h);
///
virtual int BelongsToActiveChart (const Point3d & p,
const PointGeomInfo & gi);
///
virtual int ComputePointGeomInfo (const Point3d & p, PointGeomInfo & gi);
///
virtual int ChooseChartPointGeomInfo (const MultiPointGeomInfo & mpgi,
PointGeomInfo & pgi);
///
virtual int IsLineVertexOnChart (const Point3d & p1, const Point3d & p2,
int endpoint, const PointGeomInfo & gi);
virtual void GetChartBoundary (Array<Point2d > & points,
Array<Point3d > & poitns3d,
Array<INDEX_2> & lines, double h) const;
///
virtual double CalcLocalH (const Point3d & p, double gh) const;
///
virtual double Area () const;
};
///
class MeshOptimizeSTLSurface : public MeshOptimize2d
{
///
STLGeometry & geom;
public:
///
MeshOptimizeSTLSurface (STLGeometry & ageom);
///
virtual void SelectSurfaceOfPoint (const Point<3> & p,
const PointGeomInfo & gi);
///
virtual void ProjectPoint (INDEX surfind, Point<3> & p) const;
///
virtual void ProjectPoint2 (INDEX surfind, INDEX surfind2, Point<3> & p) const;
///
virtual int CalcPointGeomInfo(PointGeomInfo& gi, const Point<3> & p3) const;
///
virtual void GetNormalVector(INDEX surfind, const Point<3> & p, Vec<3> & n) const;
};
class RefinementSTLGeometry : public Refinement
{
const STLGeometry & geom;
public:
RefinementSTLGeometry (const STLGeometry & ageom);
virtual ~RefinementSTLGeometry ();
virtual void PointBetween (const Point<3> & p1, const Point<3> & p2, double secpoint,
int surfi,
const PointGeomInfo & gi1,
const PointGeomInfo & gi2,
Point<3> & newp, PointGeomInfo & newgi);
virtual void PointBetween (const Point<3> & p1, const Point<3> & p2, double secpoint,
int surfi1, int surfi2,
const EdgePointGeomInfo & ap1,
const EdgePointGeomInfo & ap2,
Point<3> & newp, EdgePointGeomInfo & newgi);
virtual void ProjectToSurface (Point<3> & p, int surfi);
virtual void ProjectToSurface (Point<3> & p, int surfi, PointGeomInfo & gi);
};
#endif
|