diff --git a/include/boost/geometry/extensions/algorithms/buffer/buffered_piece_collection.hpp b/include/boost/geometry/extensions/algorithms/buffer/buffered_piece_collection.hpp index 92118de37..7793e2e62 100644 --- a/include/boost/geometry/extensions/algorithms/buffer/buffered_piece_collection.hpp +++ b/include/boost/geometry/extensions/algorithms/buffer/buffered_piece_collection.hpp @@ -20,6 +20,7 @@ #include #include +#include #include @@ -205,8 +206,9 @@ struct buffered_piece_collection std::vector helper_segments; // 3 points for segment, 2 points for join - 0 points for flat-end // Robust representations - std::vector robust_turns; + std::vector robust_turns; // Used only in rescale_pieces - we might use a map instead geometry::model::ring robust_ring; + geometry::model::box robust_envelope; }; typedef std::vector piece_vector_type; @@ -726,6 +728,10 @@ struct buffered_piece_collection pc.robust_ring.push_back(point); } } + + // Calculate the envelope + geometry::detail::envelope::envelope_range::apply(pc.robust_ring, + pc.robust_envelope); } }