This file is indexed.

/usr/include/wfmath-0.3/wfmath/intersect_decls.h is in libwfmath-0.3-dev 0.3.12-3ubuntu2.

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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
// intersect_decls.h (Declarations for "friend" intersection functions)
//
//  The WorldForge Project
//  Copyright (C) 2002  The WorldForge Project
//
//  This program is free software; you can redistribute it and/or modify
//  it under the terms of the GNU General Public License as published by
//  the Free Software Foundation; either version 2 of the License, or
//  (at your option) any later version.
//
//  This program is distributed in the hope that it will be useful,
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//  GNU General Public License for more details.
//
//  You should have received a copy of the GNU General Public License
//  along with this program; if not, write to the Free Software
//  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
//  For information about WorldForge and its authors, please contact
//  the Worldforge Web Site at http://www.worldforge.org.
//

// Author: Ron Steinke

#ifndef WFMATH_INTERSECT_DECLS_H
#define WFMATH_INTERSECT_DECLS_H

#include <wfmath/const.h>

namespace WFMath {

// Some Intersect and Contains helper functions

inline bool _Less(CoordType x1, CoordType x2, bool proper)
{
  return proper ? x1 <= x2 : (x2 - x1) > WFMATH_EPSILON;
}

inline bool _LessEq(CoordType x1, CoordType x2, bool proper)
{
  return !proper ? x1 <= x2 : x1 < x2;
}

inline bool _Greater(CoordType x1, CoordType x2, bool proper)
{
  return proper ? x1 >= x2 : (x1 - x2) > WFMATH_EPSILON;
}

inline bool _GreaterEq(CoordType x1, CoordType x2, bool proper)
{
  return !proper ? x1 >= x2 : x1 > x2;
}

template<int dim>
bool Intersect(const AxisBox<dim>& b, const Point<dim>& p, bool proper);
template<int dim>
bool Contains(const Point<dim>& p, const AxisBox<dim>& b, bool proper);

template<int dim>
bool Intersect(const Ball<dim>& b, const Point<dim>& p, bool proper);
template<int dim>
bool Contains(const Point<dim>& p, const Ball<dim>& b, bool proper);

template<int dim>
bool Intersect(const Segment<dim>& s, const Point<dim>& p, bool proper);
template<int dim>
bool Contains(const Point<dim>& p, const Segment<dim>& s, bool proper);

template<int dim>
bool Intersect(const RotBox<dim>& r, const Point<dim>& p, bool proper);
template<int dim>
bool Contains(const Point<dim>& p, const RotBox<dim>& r, bool proper);

template<int dim>
bool Intersect(const AxisBox<dim>& b1, const AxisBox<dim>& b2, bool proper);
template<int dim>
bool Contains(const AxisBox<dim>& outer, const AxisBox<dim>& inner, bool proper);

template<int dim>
bool Intersect(const Ball<dim>& b, const AxisBox<dim>& a, bool proper);
template<int dim>
bool Contains(const Ball<dim>& b, const AxisBox<dim>& a, bool proper);
template<int dim>
bool Contains(const AxisBox<dim>& a, const Ball<dim>& b, bool proper);

template<int dim>
bool Intersect(const Segment<dim>& s, const AxisBox<dim>& b, bool proper);
template<int dim>
bool Contains(const Segment<dim>& s, const AxisBox<dim>& b, bool proper);
template<int dim>
bool Contains(const AxisBox<dim>& b, const Segment<dim>& s, bool proper);

template<int dim>
bool Intersect(const RotBox<dim>& r, const AxisBox<dim>& b, bool proper);
template<int dim>
bool Contains(const RotBox<dim>& r, const AxisBox<dim>& b, bool proper);
template<int dim>
bool Contains(const AxisBox<dim>& b, const RotBox<dim>& r, bool proper);

template<int dim>
bool Intersect(const Ball<dim>& b1, const Ball<dim>& b2, bool proper);
template<int dim>
bool Contains(const Ball<dim>& outer, const Ball<dim>& inner, bool proper);

template<int dim>
bool Intersect(const Segment<dim>& s, const Ball<dim>& b, bool proper);
template<int dim>
bool Contains(const Ball<dim>& b, const Segment<dim>& s, bool proper);
template<int dim>
bool Contains(const Segment<dim>& s, const Ball<dim>& b, bool proper);

template<int dim>
bool Intersect(const RotBox<dim>& r, const Ball<dim>& b, bool proper);
template<int dim>
bool Contains(const RotBox<dim>& r, const Ball<dim>& b, bool proper);
template<int dim>
bool Contains(const Ball<dim>& b, const RotBox<dim>& r, bool proper);

template<int dim>
bool Intersect(const Segment<dim>& s1, const Segment<dim>& s2, bool proper);
template<int dim>
bool Contains(const Segment<dim>& s1, const Segment<dim>& s2, bool proper);

template<int dim>
bool Intersect(const RotBox<dim>& r, const Segment<dim>& s, bool proper);
template<int dim>
bool Contains(const RotBox<dim>& r, const Segment<dim>& s, bool proper);
template<int dim>
bool Contains(const Segment<dim>& s, const RotBox<dim>& r, bool proper);

template<int dim>
bool Intersect(const RotBox<dim>& r1, const RotBox<dim>& r2, bool proper);
template<int dim>
bool Contains(const RotBox<dim>& outer, const RotBox<dim>& inner, bool proper);

template<int dim>
bool Intersect(const Polygon<dim>& r, const Point<dim>& p, bool proper);
template<int dim>
bool Contains(const Point<dim>& p, const Polygon<dim>& r, bool proper);

template<int dim>
bool Intersect(const Polygon<dim>& p, const AxisBox<dim>& b, bool proper);
template<int dim>
bool Contains(const Polygon<dim>& p, const AxisBox<dim>& b, bool proper);
template<int dim>
bool Contains(const AxisBox<dim>& b, const Polygon<dim>& p, bool proper);

template<int dim>
bool Intersect(const Polygon<dim>& p, const Ball<dim>& b, bool proper);
template<int dim>
bool Contains(const Polygon<dim>& p, const Ball<dim>& b, bool proper);
template<int dim>
bool Contains(const Ball<dim>& b, const Polygon<dim>& p, bool proper);

template<int dim>
bool Intersect(const Polygon<dim>& r, const Segment<dim>& s, bool proper);
template<int dim>
bool Contains(const Polygon<dim>& p, const Segment<dim>& s, bool proper);
template<int dim>
bool Contains(const Segment<dim>& s, const Polygon<dim>& p, bool proper);

template<int dim>
bool Intersect(const Polygon<dim>& p, const RotBox<dim>& r, bool proper);
template<int dim>
bool Contains(const Polygon<dim>& p, const RotBox<dim>& r, bool proper);
template<int dim>
bool Contains(const RotBox<dim>& r, const Polygon<dim>& p, bool proper);

template<int dim>
bool Intersect(const Polygon<dim>& p1, const Polygon<dim>& p2, bool proper);
template<int dim>
bool Contains(const Polygon<dim>& outer, const Polygon<dim>& inner, bool proper);

} // namespace WFMath

#endif  // WFMATH_INTERSECT_DECLS_H