Let the buffer create rounded ends. More...
#include <buffer_end_round.hpp>
Public Member Functions | |
end_round (std::size_t points_per_circle=90) | |
Constructs the strategy. More... | |
template<typename Point , typename RangeOut , typename DistanceStrategy > | |
void | apply (Point const &penultimate_point, Point const &perp_left_point, Point const &ultimate_point, Point const &, buffer_side_selector side, DistanceStrategy const &distance, RangeOut &range_out) const |
Fills output_range with a flat end. More... | |
Static Public Member Functions | |
template<typename NumericType > | |
static NumericType | max_distance (NumericType const &distance) |
static piece_type | get_piece_type () |
Returns the piece_type (flat end) More... | |
Let the buffer create rounded ends.
This strategy can be used as EndStrategy for the buffer algorithm. It creates a rounded end for each linestring-end. It can be applied for (multi)linestrings. Also it is applicable for spikes in (multi)polygons. This strategy is only applicable for Cartesian coordinate systems.
{ [heading Example] [buffer_end_round] [heading Output] [$img/strategies/buffer_end_round.png] [heading See also]
|
inlineexplicit |
Constructs the strategy.
points_per_circle | points which would be used for a full circle |
|
inline |
Fills output_range with a flat end.
References boost::geometry::strategy::buffer::buffer_side_left, boost::geometry::strategy::buffer::buffer_side_right, boost::math::ef::cos(), boost::geometry::math::equals(), and boost::math::ef::sin().
|
inlinestatic |
Returns the piece_type (flat end)
References boost::geometry::strategy::buffer::buffered_round_end.
|
inlinestatic |
References boost::distance().