Let the buffer create rounded corners. More...
#include <buffer_join_round.hpp>
Public Member Functions | |
join_round (std::size_t points_per_circle=90) | |
Constructs the strategy. More... | |
template<typename Point , typename DistanceType , typename RangeOut > | |
bool | apply (Point const &ip, Point const &vertex, Point const &perp1, Point const &perp2, DistanceType const &buffer_distance, RangeOut &range_out) const |
Fills output_range with a rounded shape around a vertex. More... | |
Static Public Member Functions | |
template<typename NumericType > | |
static NumericType | max_distance (NumericType const &distance) |
Let the buffer create rounded corners.
This strategy can be used as JoinStrategy for the buffer algorithm. It creates a rounded corners around each convex vertex. It can be applied for (multi)linestrings and (multi)polygons. This strategy is only applicable for Cartesian coordinate systems.
{ [heading Example] [buffer_join_round] [heading Output] [$img/strategies/buffer_join_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 rounded shape around a vertex.
References boost::geometry::math::abs(), boost::geometry::equals(), boost::geometry::math::sqrt(), boost::detail::type, boost::vertex(), and boost::geometry::wkt().
|
inlinestatic |
References boost::distance().