2 #ifndef vgl_polygon_test_hxx_ 3 #define vgl_polygon_test_hxx_ 17 for (
unsigned i=0; i<n; ++i) {
26 for (
unsigned i=0; i<n; ++i) {
30 if (tmp<0) tmp = -tmp;
34 if (tmp<0) tmp = -tmp;
37 ox = cx + ox + oy + 1;
38 oy = cy + ox + oy + 1;
41 unsigned crossings = 0;
42 for (
unsigned i=0; i<n; ++i)
47 return crossings % 2 != 0;
52 #undef VGL_POLYGON_TEST_INSTANTIATE 53 #define VGL_POLYGON_TEST_INSTANTIATE(T) \ 54 template bool vgl_polygon_test_inside(T const*, T const*, unsigned, T, T) 56 #endif // vgl_polygon_test_hxx_
bool vgl_lineseg_test_lineseg(vgl_line_segment_2d< T > const &l1, vgl_line_segment_2d< T > const &l2)
return true if the two linesegments meet.
bool vgl_polygon_test_inside(T const *xs, T const *ys, unsigned n, T x, T y)
return true iff (x, y) is inside (or on boundary of) the given n-gon.