/usr/include/gmsh/CADDistances.h is in libgmsh-dev 3.0.6+dfsg1-1.
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 | // TODO: Header
#ifndef _CADDISTANCES_H_
#define _CADDISTANCES_H_
#include "fullMatrix.h"
#include <vector>
#include <map>
class GradientBasis;
class MLine;
class MElement;
class GEdge;
class GFace;
class SVector3;
class GModel;
enum { CADDIST_GEN, CADDIST_DECASTELJAU };
enum { CADDIST_TAYLOR, CADDIST_FRECHET, CADDIST_HAUSFAST, CADDIST_HAUSBRUTE };
double discreteFrechetDistanceEdge(MLine *l, GEdge *ed, double tol,
int meshDiscr = CADDIST_GEN, int geomDiscr = CADDIST_GEN);
double discreteHausdorffDistanceBruteEdge(MLine *l, GEdge *ed, double tol,
int meshDiscr = CADDIST_GEN, int geomDiscr = CADDIST_GEN);
double discreteHausdorffDistanceFastEdge(MLine *l, GEdge *ed, double tol,
int meshDiscr = CADDIST_GEN, int geomDiscr = CADDIST_GEN);
double taylorDistanceSq1D(const GradientBasis *gb, const fullMatrix<double> &nodesXYZ,
const std::vector<SVector3> &tanCAD);
double taylorDistanceSq2D(const GradientBasis *gb, const fullMatrix<double> &nodesXYZ,
const std::vector<SVector3> &normCAD);
double taylorDistanceEdge(MLine *l, GEdge *ge);
double taylorDistanceFace(MElement *el, GFace *gf);
void distanceFromElementsToGeometry(GModel *gm, int dim, std::map<MElement*, double> &distances);
double distanceToGeometry(GModel *gm, int distType = CADDIST_TAYLOR, double tol = 1e-3,
int meshDiscr = CADDIST_DECASTELJAU,
int geomDiscr = CADDIST_DECASTELJAU);
double distanceToGeometry(GModel *gm, int dim, int tag,
int distType = CADDIST_TAYLOR, double tol = 1e-3,
int meshDiscr = CADDIST_DECASTELJAU,
int geomDiscr = CADDIST_DECASTELJAU);
#endif /* _CADDISTANCES_H_ */
|