inline void apply(Piece const& piece1, Piece const& piece2, bool first = true) { boost::ignore_unused_variable_warning(first); if ( is_adjacent(piece1, piece2) || detail::disjoint::disjoint_box_box(piece1.robust_envelope, piece2.robust_envelope)) { return; } calculate_turns(piece1, piece2); }
inline void apply(Section const& section1, Section const& section2, bool first = true) { geofeatures_boost::ignore_unused_variable_warning(first); typedef typename geofeatures_boost::range_value<Pieces const>::type piece_type; piece_type const& piece1 = m_pieces[section1.ring_id.source_index]; piece_type const& piece2 = m_pieces[section2.ring_id.source_index]; if ( piece1.index == piece2.index || is_adjacent(piece1, piece2) || is_on_same_convex_ring(piece1, piece2) || detail::disjoint::disjoint_box_box(section1.bounding_box, section2.bounding_box) ) { return; } calculate_turns(piece1, piece2, section1, section2); }