This file is indexed.

/usr/include/gmsh/directions3D.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
 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
// Gmsh - Copyright (C) 1997-2017 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>.
//
// Contributor(s):
//   Tristan Carrier François Henrotte

#ifndef _DIRECTION_3D_H_
#define _DIRECTION_3D_H_

#include "GFace.h"
#include "MEdge.h"
#include "MElementOctree.h"
#if defined(HAVE_ANN)
class ANNkd_tree;
#endif
#include "yamakawa.h"
#include "STensor3.h"

struct lowerThan {
  bool operator() (const std::pair<int, STensor3>& lhs, const std::pair<int, STensor3>& rhs) const
  {return lhs.first < rhs.first;}
};

class Frame_field{
 private:
  static std::vector<std::pair<SPoint3,STensor3> > field;
  static std::vector<int> labels;
  static std::map<MVertex*, STensor3> crossField;
  static std::map<MVertex*, double> crossFieldSmoothness;
  static std::map<MEdge, double, Less_Edge> crossDist;
  static std::vector<MVertex*> listVertices;
#if defined(HAVE_ANN)
  static ANNkd_tree* kd_tree;
  static ANNkd_tree* annTree;
#endif
  Frame_field();
  static std::map<MVertex*, std::set<MVertex*> > vertex_to_vertices;
  static std::map<MVertex*, std::set<MElement*> > vertex_to_elements;
 public:
  static void init_region(GRegion*);
  static void init_face(GFace*);
  static STensor3 search(double,double,double);
  static STensor3 combine(double,double,double);
  static void print_field1();
  static void print_field2(GRegion*);
  static void print_segment(SPoint3,SPoint3,double,double,std::ofstream&);
  static int build_vertex_to_vertices(GEntity* gr, int onWhat, bool initialize=true);
  static int build_vertex_to_elements(GEntity* gr, bool initialize=true);
  static void build_listVertices(GEntity* gr, int dim, bool initialize=true);
  static int buildAnnData(GEntity* ge, int dim);
  static void deleteAnnData();
  static int findAnnIndex(SPoint3 p);
  static STensor3 findCross(double x, double y, double z);
  static void initFace(GFace* gf);
  static void initRegion(GRegion* gr, int n);
  static void buildSmoothness();
  static double smoothFace(GFace *gf, int n);
  static double smoothRegion(GRegion *gr, int n);
  static double smooth();
  static double findBarycenter(std::map<MVertex*, std::set<MVertex*> >::const_iterator iter, STensor3 &m0);
  static void save(const std::vector<std::pair<SPoint3, STensor3> > data, const std::string& filename);
  static void saveCrossField(const std::string& filename, double scale, bool full=true);
  static void continuousCrossField(GRegion *gr, GFace *gf);
  static void recur_connect_vert(FILE*fi, int count, MVertex *v,STensor3 &cross, std::multimap<MVertex*,MVertex*> &v2v,  std::set<MVertex*> &touched);
  static void save_energy(GRegion* gr, const std::string& filename);
  static void save_dist(const std::string& filename);
  static void checkAnnData(GEntity* ge, const std::string& filename);
  static GRegion* test();
  static void clear();
};

class Size_field{
 private:
  static std::vector<std::pair<SPoint3,double> > field;
  static std::map<MVertex*,double> boundary;
  static MElementOctree* octree;
#if defined(HAVE_ANN)
  static ANNkd_tree* kd_tree;
#endif
  Size_field();
 public:
  static void init_region(GRegion*);
  static void solve(GRegion*);
  static double search(double,double,double);
  static void print_field(GRegion*);
  static GRegion* test();
  static void clear();
};

class Nearest_point{
 private:
  static std::vector<SPoint3> field;
  static std::vector<MElement*> vicinity;
#if defined(HAVE_ANN)
  static ANNkd_tree* kd_tree;
#endif
  Nearest_point();
 public:
  static void init_region(GRegion*);
  static bool search(double,double,double,SVector3&);
  static double T(double,double,double,double,double);
  static SPoint3 closest(MElement*,SPoint3);
  static double clamp(double,double,double);
  static void print_field(GRegion*);
  static void print_segment(SPoint3,SPoint3,std::ofstream&);
  static GRegion* test();
  static void clear();
};

#endif