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...
MelkmanConvexHull(const MelkmanConvexHull &mch)=default
BackwardPredicate myBackwardPredicate
ConstIterator end() const
std::deque< Point > myContainer
MelkmanConvexHull(Alias< Functor > aFunctor)
void selfDisplay(std::ostream &out) const
const Point & operator[](unsigned int i) 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
Self & operator=(const Self &mch)
TOrientationFunctor Functor
std::deque< Point >::const_iterator ConstIterator
BOOST_CONCEPT_ASSERT((concepts::COrientationFunctor2< Functor >))
ForwardPredicate myForwardPredicate
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 ATu0v1< TKSpace, TLinearAlgebra > &object)
Aim: This concept is a refinement of COrientationFunctor, useful for simple algebraic curves that can...
InHalfPlaneBySimple3x3Matrix< Point, double > Functor