traversal_info.hpp 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. // Boost.Geometry (aka GGL, Generic Geometry Library)
  2. // Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands.
  3. // Use, modification and distribution is subject to the Boost Software License,
  4. // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
  5. // http://www.boost.org/LICENSE_1_0.txt)
  6. #ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_TRAVERSAL_INFO_HPP
  7. #define BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_TRAVERSAL_INFO_HPP
  8. #include <boost/geometry/algorithms/detail/overlay/turn_info.hpp>
  9. #include <boost/geometry/algorithms/detail/overlay/enrichment_info.hpp>
  10. #include <boost/geometry/algorithms/detail/overlay/visit_info.hpp>
  11. #include <boost/geometry/algorithms/detail/overlay/segment_identifier.hpp>
  12. namespace boost { namespace geometry
  13. {
  14. #ifndef DOXYGEN_NO_DETAIL
  15. namespace detail { namespace overlay
  16. {
  17. template <typename Point, typename SegmentRatio>
  18. struct traversal_turn_operation : public turn_operation<Point, SegmentRatio>
  19. {
  20. enrichment_info<Point> enriched;
  21. visit_info visited;
  22. };
  23. template <typename Point, typename SegmentRatio>
  24. struct traversal_turn_info
  25. : public turn_info
  26. <
  27. Point,
  28. SegmentRatio,
  29. traversal_turn_operation<Point, SegmentRatio>
  30. >
  31. {};
  32. }} // namespace detail::overlay
  33. #endif //DOXYGEN_NO_DETAIL
  34. }} // namespace boost::geometry
  35. #endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_TRAVERSAL_INFO_HPP