centroid.hpp 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. // Boost.Geometry (aka GGL, Generic Geometry Library)
  2. // Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands.
  3. // Copyright (c) 2008-2012 Bruno Lalande, Paris, France.
  4. // Copyright (c) 2009-2012 Mateusz Loskot, London, UK.
  5. // This file was modified by Oracle on 2020.
  6. // Modifications copyright (c) 2020, Oracle and/or its affiliates.
  7. // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle
  8. // Parts of Boost.Geometry are redesigned from Geodan's Geographic Library
  9. // (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands.
  10. // Use, modification and distribution is subject to the Boost Software License,
  11. // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
  12. // http://www.boost.org/LICENSE_1_0.txt)
  13. #ifndef BOOST_GEOMETRY_STRATEGIES_CENTROID_HPP
  14. #define BOOST_GEOMETRY_STRATEGIES_CENTROID_HPP
  15. #include <cstddef>
  16. #include <boost/geometry/core/tags.hpp>
  17. #include <boost/geometry/strategies/tags.hpp>
  18. namespace boost { namespace geometry
  19. {
  20. namespace strategy { namespace centroid
  21. {
  22. struct not_applicable_strategy
  23. {
  24. };
  25. namespace services
  26. {
  27. /*!
  28. \brief Traits class binding a centroid calculation strategy to a coordinate system
  29. \ingroup centroid
  30. \tparam CsTag tag of coordinate system, for specialization
  31. \tparam GeometryTag tag of geometry, for specialization
  32. \tparam Dimension dimension of geometry, for specialization
  33. \tparam Point point-type
  34. \tparam Geometry
  35. */
  36. template
  37. <
  38. typename CsTag,
  39. typename GeometryTag,
  40. std::size_t Dimension,
  41. typename Point,
  42. typename Geometry
  43. >
  44. struct default_strategy
  45. {
  46. typedef not_applicable_strategy type;
  47. };
  48. } // namespace services
  49. }} // namespace strategy::centroid
  50. }} // namespace boost::geometry
  51. #endif // BOOST_GEOMETRY_STRATEGIES_CENTROID_HPP