File indexing completed on 2025-10-29 08:20:03
0001 
0002 
0003 
0004 
0005 
0006 
0007 
0008 
0009 
0010 
0011 
0012 
0013 
0014 #ifndef BOOST_GEOMETRY_STRATEGIES_INTERSECTION_HPP
0015 #define BOOST_GEOMETRY_STRATEGIES_INTERSECTION_HPP
0016 
0017 
0018 
0019 
0020 #include <boost/geometry/policies/relate/intersection_policy.hpp>
0021 
0022 #include <boost/geometry/strategies/intersection.hpp>
0023 #include <boost/geometry/strategies/intersection_result.hpp>
0024 #include <boost/geometry/strategies/side.hpp>
0025 #include <boost/geometry/strategies/cartesian/intersection.hpp>
0026 #include <boost/geometry/strategies/spherical/intersection.hpp>
0027 #include <boost/geometry/strategies/spherical/ssf.hpp>
0028 
0029 
0030 namespace boost { namespace geometry
0031 {
0032 
0033 
0034 
0035 
0036 
0037 
0038 template
0039 <
0040     typename Tag,
0041     typename Geometry1,
0042     typename Geometry2,
0043     typename IntersectionPoint,
0044     typename CalculationType = void
0045 >
0046 struct intersection_strategies
0047 {
0048 private :
0049     typedef segment_intersection_points
0050     <
0051         IntersectionPoint,
0052         typename segment_ratio_type<IntersectionPoint>::type
0053     > ip_type;
0054 
0055 public:
0056     typedef policies::relate::segments_intersection_policy
0057         <
0058             ip_type
0059         > intersection_policy_type;
0060 
0061     typedef typename strategy::intersection::services::default_strategy
0062             <
0063                 Tag,
0064                 CalculationType
0065             >::type segment_intersection_strategy_type;
0066 };
0067 
0068 
0069 }} 
0070 
0071 
0072 #endif