31 #if defined(FP_RECURSES) 32 #error Recursive header files inclusion detected in FP.h 33 #else // defined(FP_RECURSES) 45 #include "DGtal/kernel/CInteger.h" 46 #include "DGtal/kernel/PointVector.h" 47 #include "DGtal/geometry/curves/ArithmeticalDSSComputer.h" 48 #include "DGtal/base/Circulator.h" 49 #include "DGtal/base/Exceptions.h" 50 #include "DGtal/base/Common.h" 51 #include "DGtal/io/Color.h" 73 template <
typename TDSS>
93 return myDSS->isExtendableFront();
102 return myDSS->extendFront();
111 return myDSS->retractBack();
159 template <
typename TDSS>
177 return this->
myDSS->Uf();
185 return this->
myDSS->Ul();
210 template <
typename TDSS>
228 return this->
myDSS->Lf();
236 return this->
myDSS->Ll();
291 template <
typename TIterator,
typename TInteger,
int connectivity>
321 FP(
const TIterator& itb,
const TIterator& ite);
352 typename Polygon::size_type
size()
const;
359 template <
typename OutputIterator>
360 OutputIterator
copyFP(OutputIterator result)
const;
366 template <
typename OutputIterator>
367 OutputIterator
copyMLP(OutputIterator result)
const;
396 template<
typename Adapter>
408 template<
typename Adapter>
422 template<
typename Adapter>
433 template<
typename Adapter>
442 void algorithm(
const TIterator& itb,
const TIterator& ite);
498 FP (
const FP & other );
535 template <
typename TIterator,
typename TInteger,
int connectivity>
537 operator<< ( std::ostream & out, const FP<TIterator,TInteger,connectivity> & object );
544 #include "DGtal/geometry/curves/FP.ih" 549 #endif // !defined FP_h 552 #endif // else defined(FP_RECURSES) FP(const TIterator &itb, const TIterator &ite)
TDSS::Point lastLeaningPoint() const
Aim: adapter for TDSS used by FP in CONVEX parts. Has 2 methods:
bool quadrant(const Vector &v, const int &q) const
MyDigitalSurface::ConstIterator ConstIterator
Adapter * initConvexityConcavity(typename Adapter::DSS &aDSS)
DGtal::PointVector< 2, TInteger > Vector
RealPoint getRealPoint(const Point &a, const Point &b, const Point &c) const
DGtal::ArithmeticalDSSComputer< TIterator, TInteger, connectivity > DSSComputer
virtual bool isInConvexPart() const =0
Aim: Implements basic operations that will be used in Point and Vector classes.
std::string className() const
Aim: This class is a wrapper around ArithmeticalDSS that is devoted to the dynamic recognition of dig...
Aim: Concept checking for Integer Numbers. More precisely, this concept is a refinement of both CEucl...
TDSS::Point firstLeaningPoint() const
OutputIterator copyMLP(OutputIterator result) const
TDSS::Point lastLeaningPoint() const
const Polygon & polygon() const
Polygon::size_type size() const
BOOST_CONCEPT_ASSERT((concepts::CInteger< TInteger >))
Aim: adapter for TDSS used by FP in CONCAVE parts. Has 2 methods:
void algorithm(const TIterator &itb, const TIterator &ite)
void selfDisplay(std::ostream &out) const
DGtal is the top-level namespace which contains all DGtal functions and types.
bool isExtendableFront() const
bool isInConvexPart() const
Aim: Computes the faithful polygon (FP) of a range of 4/8-connected 2D Points.
DGtal::PointVector< 2, double > RealPoint
DGtal::PointVector< 2, double > RealVector
bool addingStep(Adapter *adapter, const typename Adapter::DSS::ConstIterator &itEnd)
OutputIterator copyFP(OutputIterator result) const
bool isInConvexPart() const
std::list< Point > Polygon
DSSDecorator4ConcavePart(TDSS &aDSS)
virtual TDSS::Point lastLeaningPoint() const =0
DSSDecorator4ConvexPart(TDSS &aDSS)
FP & operator=(const FP &other)
bool removingStep(Adapter *adapter)
virtual TDSS::Point firstLeaningPoint() const =0
TDSS::Point firstLeaningPoint() const
DGtal::PointVector< 2, TInteger > Point
Aim: Abstract DSSDecorator for ArithmeticalDSSComputer. Has 2 virtual methods returning the first and...