Lines Matching refs:piece

52     static inline void apply(Box& total, Piece const& piece)  in apply()
54 geometry::expand(total, piece.robust_envelope); in apply()
62 static inline bool apply(Box const& box, Piece const& piece) in apply()
64 if (piece.type == strategy::buffer::buffered_flat_end in apply()
65 || piece.type == strategy::buffer::buffered_concave) in apply()
74 return ! geometry::detail::disjoint::disjoint_box_box(box, piece.robust_envelope, in apply()
252 static inline analyse_result apply(Turn const& turn, Piece const& piece, in apply() argument
264 BOOST_GEOMETRY_ASSERT(! piece.sections.empty()); in apply()
268 for (std::size_t s = 0; s < piece.sections.size(); s++) in apply()
270 section_type const& section = piece.sections[s]; in apply()
279 point_type const& previous = piece.robust_ring[i - 1]; in apply()
280 point_type const& current = piece.robust_ring[i]; in apply()
327 static inline analyse_result apply(Turn const& turn, Piece const& piece, in apply() argument
337 BOOST_GEOMETRY_ASSERT(! piece.sections.empty()); in apply()
341 for (std::size_t s = 0; s < piece.sections.size(); s++) in apply()
343 section_type const& section = piece.sections[s]; in apply()
352 point_type const& previous = piece.robust_ring[i - 1]; in apply()
353 point_type const& current = piece.robust_ring[i]; in apply()
506 check_helper_segments(Turn const& turn, Piece const& piece, in check_helper_segments() argument
515 signed_size_type helper_count = static_cast<signed_size_type>(piece.robust_ring.size()) in check_helper_segments()
516 - piece.offsetted_count; in check_helper_segments()
521 points[i] = piece.robust_ring[piece.offsetted_count + i]; in check_helper_segments()
537 points[i] = piece.robust_ring[piece.offsetted_count + index]; in check_helper_segments()
553 = one_sided || piece.is_flat_end || piece.is_flat_start in check_helper_segments()
607 if (! geometry::covered_by(point, piece.robust_offsetted_envelope)) in check_helper_segments()
622 …static inline analyse_result check_monotonic(Turn const& turn, Piece const& piece, Compare const& … in check_monotonic() argument
626 it_type end = piece.robust_ring.begin() + piece.offsetted_count; in check_monotonic()
627 it_type it = std::lower_bound(piece.robust_ring.begin(), in check_monotonic()
633 && it != piece.robust_ring.begin()) in check_monotonic()
652 static inline analyse_result apply(Turn const& turn, Piece const& piece, in apply() argument
657 analyse_result code = check_helper_segments(turn, piece, distance_strategy, side_strategy); in apply()
665 if (piece.offsetted_count > 8) in apply()
670 if (piece.is_monotonic_increasing[0]) in apply()
672 code = check_monotonic(turn, piece, geometry::less<point_type, 0>(), side_strategy); in apply()
675 else if (piece.is_monotonic_increasing[1]) in apply()
677 code = check_monotonic(turn, piece, geometry::less<point_type, 1>(), side_strategy); in apply()
680 else if (piece.is_monotonic_decreasing[0]) in apply()
682 … code = check_monotonic(turn, piece, geometry::greater<point_type, 0>(), side_strategy); in apply()
685 else if (piece.is_monotonic_decreasing[1]) in apply()
687 … code = check_monotonic(turn, piece, geometry::greater<point_type, 1>(), side_strategy); in apply()
695 for (signed_size_type i = 1; i < piece.offsetted_count; i++) in apply()
697 point_type const& previous = piece.robust_ring[i - 1]; in apply()
698 point_type const& current = piece.robust_ring[i]; in apply()
727 static inline int in_convex_piece(Turn const& turn, Piece const& piece) in in_convex_piece()
737 iterator_type it = boost::begin(piece.robust_ring); in in_convex_piece()
738 iterator_type end = boost::end(piece.robust_ring); in in_convex_piece()
780 static inline int apply(Turn const& turn, Piece const& piece, in apply()
783 if (piece.is_convex) in apply()
785 return in_convex_piece(turn, piece); in apply()
793 piece.robust_ring, strategy); in apply()
804 static inline int apply(Turn const& turn, Piece const& piece, in apply()
808 piece.robust_ring, strategy); in apply()
831 inline bool skip(Operation const& op, Piece const& piece) const in skip()
833 if (op.piece_index == piece.index) in skip()
838 if (pc.left_index == piece.index || pc.right_index == piece.index) in skip()
872 inline bool apply(Turn const& turn, Piece const& piece, bool first = true) in apply() argument
882 if (piece.type == strategy::buffer::buffered_flat_end in apply()
883 || piece.type == strategy::buffer::buffered_concave) in apply()
889 if (! geometry::covered_by(turn.robust_point, piece.robust_envelope)) in apply()
895 if (skip(turn.operations[0], piece) || skip(turn.operations[1], piece)) in apply()
903 if (piece.type == geometry::strategy::buffer::buffered_point) in apply()
913 = geometry::comparable_distance(piece.robust_center, in apply()
916 if (cd < piece.robust_min_comparable_radius) in apply()
921 if (cd > piece.robust_max_comparable_radius) in apply()
931 piece.type == geometry::strategy::buffer::buffered_point in apply()
932 …? analyse_turn_wrt_point_piece<use_soi>::apply(turn, piece, m_point_in_geometry_strategy, m_side_s… in apply()
933 … : analyse_turn_wrt_piece<use_soi>::apply(turn, piece, m_distance_strategy, m_side_strategy); in apply()
955 int const geometry_code = turn_in_piece<use_soi>::apply(turn, piece, in apply()