Imported Upstream version 1.57.0
[platform/upstream/boost.git] / boost / geometry / algorithms / detail / overlay / traversal_info.hpp
1 // Boost.Geometry (aka GGL, Generic Geometry Library)
2
3 // Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands.
4
5 // Use, modification and distribution is subject to the Boost Software License,
6 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
7 // http://www.boost.org/LICENSE_1_0.txt)
8
9 #ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_TRAVERSAL_INFO_HPP
10 #define BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_TRAVERSAL_INFO_HPP
11
12
13 #include <boost/geometry/algorithms/detail/overlay/turn_info.hpp>
14 #include <boost/geometry/algorithms/detail/overlay/enrichment_info.hpp>
15 #include <boost/geometry/algorithms/detail/overlay/visit_info.hpp>
16 #include <boost/geometry/algorithms/detail/overlay/segment_identifier.hpp>
17
18
19 namespace boost { namespace geometry
20 {
21
22 #ifndef DOXYGEN_NO_DETAIL
23 namespace detail { namespace overlay
24 {
25
26
27 template <typename Point, typename SegmentRatio>
28 struct traversal_turn_operation : public turn_operation<SegmentRatio>
29 {
30     enrichment_info<Point> enriched;
31     visit_info visited;
32 };
33
34 template <typename Point, typename SegmentRatio>
35 struct traversal_turn_info
36     : public turn_info
37                 <
38                     Point,
39                     SegmentRatio,
40                     traversal_turn_operation<Point, SegmentRatio>
41                 >
42 {};
43
44
45
46 }} // namespace detail::overlay
47 #endif //DOXYGEN_NO_DETAIL
48
49
50 }} // namespace boost::geometry
51
52
53 #endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_OVERLAY_TRAVERSAL_INFO_HPP