// Boost.Geometry (aka GGL, Generic Geometry Library) // Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. // This file was modified by Oracle on 2015, 2016. // Modifications copyright (c) 2015-2016 Oracle and/or its affiliates. // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) #ifndef BOOST_GEOMETRY_STRATEGIES_INTERSECTION_RESULT_HPP #define BOOST_GEOMETRY_STRATEGIES_INTERSECTION_RESULT_HPP #include #include namespace boost { namespace geometry { template struct fraction_type { SegmentRatio robust_ra; // TODO this can be renamed now to "ra" SegmentRatio robust_rb; bool initialized; inline fraction_type() : initialized(false) {} template inline void assign(Info const& info) { initialized = true; robust_ra = info.robust_ra; robust_rb = info.robust_rb; } inline void assign(SegmentRatio const& a, SegmentRatio const& b) { initialized = true; robust_ra = a; robust_rb = b; } }; // /*! \brief return-type for segment-intersection \note Set in intersection_points.hpp, from segment_intersection_info */ template < typename Point, typename SegmentRatio = segment_ratio::type> > struct segment_intersection_points { std::size_t count; // The number of intersection points // TODO: combine intersections and fractions in one struct Point intersections[2]; fraction_type fractions[2]; typedef Point point_type; segment_intersection_points() : count(0) {} }; }} // namespace boost::geometry #endif // BOOST_GEOMETRY_STRATEGIES_INTERSECTION_RESULT_HPP