This file is indexed.

/usr/include/choreonoid-1.1/cnoid/src/Util/Triangulator.h is in libcnoid-dev 1.1.0+dfsg-6.1+b4.

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
/*!
  @file
  @author Shin'ichiro Nakaoka
*/

#ifndef CNOID_UTIL_TRIANGULATOR_H_INCLUDED
#define CNOID_UTIL_TRIANGULATOR_H_INCLUDED

#include "VrmlNodes.h"
#include <boost/dynamic_bitset.hpp>

namespace cnoid {
    
    class Triangulator
    {
    public:

        inline void setVertices(const MFVec3f& vertices) {
            this->vertices = &vertices;
        }

        /**
           @return The number of triangles
        */
        int apply(const std::vector<int>& polygon);

        /**
           Triangulated indices.
           This value is available after calling the 'apply' method.
           The indices are local ones in the polygon index vector given to the apply method.
        */
        inline const std::vector<int>& triangles() {
            return triangles_;
        }

    private:

        enum Convexity { FLAT, CONVEX, CONCAVE };
        
        const MFVec3f* vertices;
        const std::vector<int>* orgPolygon;                                                                  
        std::vector<int> triangles_;
        std::vector<int> workPolygon;
        SFVec3f ccs; // cyclic cross sum
        boost::dynamic_bitset<> earMask;

        inline const SFVec3f& vertex(int localIndex){
            return (*vertices)[(*orgPolygon)[localIndex]];
        }

        inline const SFVec3f& workVertex(int workPolygonIndex){
            return (*vertices)[(*orgPolygon)[workPolygon[workPolygonIndex]]];
        }

        Convexity calcConvexity(int ear);
        bool checkIfEarContainsOtherVertices(int ear);
    };

}

#endif