4 // Copyright (c) 2016, Oracle and/or its affiliates.
6 // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
8 // Use, modification and distribution is subject to the Boost Software License,
9 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
10 // http://www.boost.org/LICENSE_1_0.txt)
13 #include "test_relate.hpp"
15 #include <algorithms/overlay/overlay_cases.hpp>
16 #include <algorithms/overlay/multi_overlay_cases.hpp>
20 void test_polygon_polygon()
22 typedef bg::model::polygon
<P
> poly
;
23 typedef bg::model::ring
<P
> ring
;
25 test_geometry
<ring
, ring
>(case_1
[0], case_1
[1],
27 test_geometry
<ring
, poly
>(case_1
[0], case_1
[1],
30 test_geometry
<poly
, poly
>(case_1
[0], case_1
[1],
32 test_geometry
<poly
, poly
>(case_2
[0], case_2
[1],
34 test_geometry
<poly
, poly
>(case_3_sph
[0], case_3_sph
[1],
36 test_geometry
<poly
, poly
>(case_3_2_sph
[0], case_3_2_sph
[1],
38 test_geometry
<poly
, poly
>(case_4
[0], case_4
[1],
40 test_geometry
<poly
, poly
>(case_5
[0], case_5
[1],
42 test_geometry
<poly
, poly
>(case_6_sph
[0], case_6_sph
[1],
45 test_geometry
<poly
, poly
>(case_7
[0], case_7
[1],
47 test_geometry
<poly
, poly
>(case_8_sph
[0], case_8_sph
[1],
49 test_geometry
<poly
, poly
>(case_9_sph
[0], case_9_sph
[1],
51 test_geometry
<poly
, poly
>(case_10_sph
[0], case_10_sph
[1],
53 test_geometry
<poly
, poly
>(case_11_sph
[0], case_11_sph
[1],
55 test_geometry
<poly
, poly
>(case_12
[0], case_12
[1],
58 test_geometry
<poly
, poly
>(case_13_sph
[0], case_13_sph
[1],
60 test_geometry
<poly
, poly
>(case_14_sph
[0], case_14_sph
[1],
62 test_geometry
<poly
, poly
>(case_15_sph
[0], case_15_sph
[1],
64 test_geometry
<poly
, poly
>(case_16_sph
[0], case_16_sph
[1],
66 test_geometry
<poly
, poly
>(case_17_sph
[0], case_17_sph
[1],
68 test_geometry
<poly
, poly
>(case_18_sph
[0], case_18_sph
[1],
73 void test_polygon_multi_polygon()
75 typedef bg::model::polygon
<P
> poly
;
76 typedef bg::model::ring
<P
> ring
;
77 typedef bg::model::multi_polygon
<poly
> mpoly
;
79 test_geometry
<ring
, mpoly
>(case_1
[0], case_multi_2
[0],
81 test_geometry
<poly
, mpoly
>(case_2
[0], case_multi_2
[0],
86 void test_multi_polygon_multi_polygon()
88 typedef bg::model::polygon
<P
> poly
;
89 typedef bg::model::multi_polygon
<poly
> mpoly
;
91 test_geometry
<mpoly
, mpoly
>(case_multi_2
[0], case_multi_2
[1],
99 test_polygon_polygon
<P
>();
100 test_polygon_multi_polygon
<P
>();
101 test_multi_polygon_multi_polygon
<P
>();
104 int test_main( int , char* [] )
106 typedef bg::cs::spherical_equatorial
<bg::degree
> cs_t
;
107 test_all
<bg::model::point
<float, 2, cs_t
> >();
108 test_all
<bg::model::point
<double, 2, cs_t
> >();
110 #if defined(HAVE_TTMATH)
111 test_all
<bg::model::point
<ttmath_big
, 2, cs_t
> >();