31#if defined(MelkmanConvexHull_RECURSES)
32#error Recursive header files inclusion detected in MelkmanConvexHull.h
35#define MelkmanConvexHull_RECURSES
37#if !defined MelkmanConvexHull_h
39#define MelkmanConvexHull_h
44#include "DGtal/base/Common.h"
45#include "DGtal/base/Alias.h"
46#include "DGtal/base/CountedConstPtrOrConstPtr.h"
47#include "DGtal/base/IteratorCirculatorTraits.h"
48#include "DGtal/base/FrontInsertionSequenceToStackAdapter.h"
49#include "DGtal/base/BackInsertionSequenceToStackAdapter.h"
51#include "DGtal/geometry/tools/determinant/COrientationFunctor2.h"
52#include "DGtal/geometry/tools/determinant/PredicateFromOrientationFunctor2.h"
54#include "DGtal/geometry/tools/Hull2DHelpers.h"
87 template <
typename TPoint,
88 typename TOrientationFunctor >
245 template <
typename TPo
int,
typename TOrientationFunctor>
271 template <
typename ForwardIterator,
272 typename OutputIterator,
275 const ForwardIterator& ite,
286#include "DGtal/geometry/tools/MelkmanConvexHull.ih"
293#undef MelkmanConvexHull_RECURSES
Aim: This class encapsulates its parameter class so that to indicate to the user that the object/poin...
Aim: This class implements the on-line algorithm of Melkman for the computation of the convex hull of...
unsigned int size() const
MelkmanConvexHull(const MelkmanConvexHull &mch)=default
BackwardPredicate myBackwardPredicate
ConstIterator end() const
std::deque< Point > myContainer
Self & operator=(const Self &mch)
MelkmanConvexHull(Alias< Functor > aFunctor)
void selfDisplay(std::ostream &out) const
BOOST_STATIC_ASSERT((boost::is_same< Point, typename Functor::Point >::value))
PredicateFromOrientationFunctor2< Functor, true, false > ForwardPredicate
MelkmanConvexHull< TPoint, TOrientationFunctor > Self
void add(const Point &aPoint)
ConstIterator begin() const
PredicateFromOrientationFunctor2< Functor, false, false > BackwardPredicate
TOrientationFunctor Functor
const Point & operator[](unsigned int i) const
std::deque< Point >::const_iterator ConstIterator
BOOST_CONCEPT_ASSERT((concepts::COrientationFunctor2< Functor >))
ForwardPredicate myForwardPredicate
Aim: Small adapter to models of COrientationFunctor2. It is a model of concepts::CPointPredicate....
void melkmanConvexHullAlgorithm(const ForwardIterator &itb, const ForwardIterator &ite, OutputIterator res, Functor &aFunctor)
Procedure that retrieves the vertices of the hull of a set of 2D points given by the range [ itb ,...
DGtal is the top-level namespace which contains all DGtal functions and types.
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &object)
Aim: This concept is a refinement of COrientationFunctor, useful for simple algebraic curves that can...
InHalfPlaneBySimple3x3Matrix< Point, double > Functor