Let the buffer for linestrings be asymmetric. More...
#include <buffer_distance_asymmetric.hpp>
Public Member Functions | |
distance_asymmetric (NumericType const &left, NumericType const &right) | |
Constructs the strategy, two distances must be specified. More... | |
template<typename Point > | |
NumericType | apply (Point const &, Point const &, buffer_side_selector side) const |
Returns the distance-value for the specified side. More... | |
int | factor () const |
Used internally, returns -1 for deflate, 1 for inflate. More... | |
bool | negative () const |
Returns true if both distances are negative. More... | |
template<typename JoinStrategy , typename EndStrategy > | |
NumericType | max_distance (JoinStrategy const &join_strategy, EndStrategy const &end_strategy) const |
Returns the max distance distance up to the buffer will reach. More... | |
NumericType | simplify_distance () const |
Returns the distance at which the input is simplified before the buffer process. More... | |
Let the buffer for linestrings be asymmetric.
NumericType |
This strategy can be used as DistanceStrategy for the buffer algorithm. It can be applied for (multi)linestrings. It uses a (potentially) different distances for left and for right. This means the (multi)linestrings are interpreted having a direction.
{ [heading Example] [buffer_distance_asymmetric] [heading Output] [$img/strategies/buffer_distance_asymmetric.png] [heading See also]
|
inline |
Constructs the strategy, two distances must be specified.
left | The distance (or radius) of the buffer on the left side |
right | The distance on the right side |
|
inline |
Returns the distance-value for the specified side.
References boost::geometry::math::abs(), boost::geometry::strategy::buffer::buffer_side_left, and boost::geometry::strategy::buffer::distance_asymmetric< NumericType >::negative().
|
inline |
Used internally, returns -1 for deflate, 1 for inflate.
References boost::geometry::strategy::buffer::distance_asymmetric< NumericType >::negative().
|
inline |
Returns the max distance distance up to the buffer will reach.
References boost::geometry::math::abs(), boost::bimaps::support::left, boost::accumulators::extract::max, and boost::icl::right().
|
inline |
Returns true if both distances are negative.
Referenced by boost::geometry::strategy::buffer::distance_asymmetric< NumericType >::apply(), and boost::geometry::strategy::buffer::distance_asymmetric< NumericType >::factor().
|
inline |
Returns the distance at which the input is simplified before the buffer process.
References boost::geometry::math::abs(), boost::bimaps::support::left, boost::accumulators::extract::min, and boost::icl::right().