point_in_point.hpp 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. // Boost.Geometry (aka GGL, Generic Geometry Library)
  2. // Copyright (c) 2014-2018 Oracle and/or its affiliates.
  3. // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
  4. // Use, modification and distribution is subject to the Boost Software License,
  5. // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
  6. // http://www.boost.org/LICENSE_1_0.txt)
  7. #ifndef BOOST_GEOMETRY_STRATEGY_AGNOSTIC_POINT_IN_POINT_HPP
  8. #define BOOST_GEOMETRY_STRATEGY_AGNOSTIC_POINT_IN_POINT_HPP
  9. #include <boost/geometry/core/cs.hpp>
  10. #include <boost/geometry/core/tags.hpp>
  11. #include <boost/geometry/strategies/cartesian/point_in_point.hpp>
  12. #include <boost/geometry/strategies/spherical/point_in_point.hpp>
  13. namespace boost { namespace geometry
  14. {
  15. namespace strategy { namespace within
  16. {
  17. template
  18. <
  19. typename Point1, typename Point2,
  20. typename CSTag = typename cs_tag<Point1>::type
  21. >
  22. struct point_in_point
  23. : strategy::within::cartesian_point_point
  24. {};
  25. template <typename Point1, typename Point2>
  26. struct point_in_point<Point1, Point2, spherical_equatorial_tag>
  27. : strategy::within::spherical_point_point
  28. {};
  29. template <typename Point1, typename Point2>
  30. struct point_in_point<Point1, Point2, spherical_polar_tag>
  31. : strategy::within::spherical_point_point
  32. {};
  33. template <typename Point1, typename Point2>
  34. struct point_in_point<Point1, Point2, geographic_tag>
  35. : strategy::within::spherical_point_point
  36. {};
  37. }} // namespace strategy::within
  38. }} // namespace boost::geometry
  39. #endif // BOOST_GEOMETRY_STRATEGY_AGNOSTIC_POINT_IN_POINT_HPP