// Boost.Geometry (aka GGL, Generic Geometry Library) // Copyright (c) 2014-2015, Oracle and/or its affiliates. // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle // Licensed under the Boost Software License version 1.0. // http://www.boost.org/users/license.html #ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_IS_VALID_DEBUG_PRINT_TURNS_HPP #define BOOST_GEOMETRY_ALGORITHMS_DETAIL_IS_VALID_DEBUG_PRINT_TURNS_HPP #ifdef BOOST_GEOMETRY_TEST_DEBUG #include #include #include #endif namespace boost { namespace geometry { namespace detail { namespace is_valid { #ifdef BOOST_GEOMETRY_TEST_DEBUG template inline void debug_print_turn(Turn const& turn) { std::cout << " [" << geometry::method_char(turn.method) << "," << geometry::operation_char(turn.operations[0].operation) << "/" << geometry::operation_char(turn.operations[1].operation) << " {" << turn.operations[0].seg_id.multi_index << ", " << turn.operations[1].seg_id.multi_index << "} {" << turn.operations[0].seg_id.ring_index << ", " << turn.operations[1].seg_id.ring_index << "} {" << turn.operations[0].seg_id.segment_index << ", " << turn.operations[1].seg_id.segment_index << "} " << geometry::dsv(turn.point) << "]"; } template inline void debug_print_turns(TurnIterator first, TurnIterator beyond) { std::cout << "turns:"; for (TurnIterator tit = first; tit != beyond; ++tit) { debug_print_turn(*tit); } std::cout << std::endl << std::endl; } #else template inline void debug_print_turn(Turn const&) {} template inline void debug_print_turns(TurnIterator, TurnIterator) {} #endif // BOOST_GEOMETRY_TEST_DEBUG }} // namespace detail::is_valid }} // namespace boost::geometry #endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_IS_VALID_DEBUG_PRINT_TURNS_HPP