]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/boost/geometry/strategies/geographic/point_in_poly_winding.hpp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / boost / geometry / strategies / geographic / point_in_poly_winding.hpp
1 // Boost.Geometry
2
3 // Copyright (c) 2017 Oracle and/or its affiliates.
4 // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
5
6 // Use, modification and distribution is subject to the Boost Software License,
7 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
8 // http://www.boost.org/LICENSE_1_0.txt)
9
10 #ifndef BOOST_GEOMETRY_STRATEGY_GEOGRAPHIC_POINT_IN_POLY_WINDING_HPP
11 #define BOOST_GEOMETRY_STRATEGY_GEOGRAPHIC_POINT_IN_POLY_WINDING_HPP
12
13
14 #include <boost/geometry/strategies/geographic/side.hpp>
15 #include <boost/geometry/strategies/spherical/point_in_poly_winding.hpp>
16
17
18 namespace boost { namespace geometry
19 {
20
21 namespace strategy { namespace within
22 {
23
24
25 /*!
26 \brief Within detection using winding rule in geographic coordinate system.
27 \ingroup strategies
28 \tparam Point \tparam_point
29 \tparam PointOfSegment \tparam_segment_point
30 \tparam FormulaPolicy Geodesic formula policy
31 \tparam Spheroid Spheroid model
32 \tparam CalculationType \tparam_calculation
33
34 \qbk{
35 [heading See also]
36 [link geometry.reference.algorithms.within.within_3_with_strategy within (with strategy)]
37 }
38 */
39 template
40 <
41 typename Point,
42 typename PointOfSegment = Point,
43 typename FormulaPolicy = strategy::andoyer,
44 typename Spheroid = srs::spheroid<double>,
45 typename CalculationType = void
46 >
47 class geographic_winding
48 : public within::detail::spherical_winding_base
49 <
50 Point,
51 PointOfSegment,
52 side::geographic<FormulaPolicy, Spheroid, CalculationType>,
53 CalculationType
54 >
55 {
56 typedef within::detail::spherical_winding_base
57 <
58 Point,
59 PointOfSegment,
60 side::geographic<FormulaPolicy, Spheroid, CalculationType>,
61 CalculationType
62 > base_t;
63
64 public:
65 geographic_winding()
66 {}
67
68 explicit geographic_winding(Spheroid const& model)
69 : base_t(model)
70 {}
71 };
72
73
74 }} // namespace strategy::within
75
76
77 }} // namespace boost::geometry
78
79
80 #endif // BOOST_GEOMETRY_STRATEGY_GEOGRAPHIC_POINT_IN_POLY_WINDING_HPP