123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- #ifndef BOOST_GEOMETRY_STRATEGIES_BUFFER_HPP
- #define BOOST_GEOMETRY_STRATEGIES_BUFFER_HPP
- #include <cstdint>
- namespace boost { namespace geometry
- {
- namespace strategy { namespace buffer
- {
- enum buffer_side_selector { buffer_side_left, buffer_side_right };
- constexpr std::size_t default_points_per_circle = 90u;
- inline std::size_t get_point_count_for_join(std::size_t count)
- {
- std::size_t const min_count = 4u;
- return count > min_count ? count : min_count;
- }
- inline std::size_t get_point_count_for_end(std::size_t count)
- {
- std::size_t const min_count = 4u;
- return count > min_count ? count : min_count;
- }
- inline std::size_t get_point_count_for_circle(std::size_t count)
- {
- std::size_t const min_count = 3u;
- return count > min_count ? count : min_count;
- }
- enum piece_type
- {
- buffered_segment,
- buffered_join,
- buffered_round_end,
- buffered_flat_end,
- buffered_point,
- buffered_concave,
- buffered_empty_side,
- piece_type_unknown
- };
- enum join_selector
- {
- join_convex,
- join_concave,
- join_continue,
- join_spike
- };
- enum result_code
- {
- result_normal,
- result_error_numerical,
- result_no_output
- };
- }}
- }}
- #endif
|