The function ch_jarvis_march generates the counterclockwise sequence of extreme points from a given set of input points that line between two input points.
generates the counterclockwise subsequence of
extreme points between start_p and stop_p of the
points in the range [first,beyond), starting at
position result with point start_p. The last point
generated is the point preceding stop_p in the
counterclockwise order of extreme points.|
Precondition: start_p and stop_p are extreme points with respect to the points in the range [first,beyond) and stop_p is an element of range [first,beyond).
The default traits class Default_traits is the kernel in which the type ForwardIterator::value_type is defined.
The function uses the Jarvis march (gift-wrapping) algorithm [Jar73]. This algorithm requires time in the worst case for input points with extreme points.