31#if defined(SaturatedSegmentation_RECURSES)
32#error Recursive header files inclusion detected in SaturatedSegmentation.h
35#define SaturatedSegmentation_RECURSES
37#if !defined SaturatedSegmentation_h
39#define SaturatedSegmentation_h
44#include "DGtal/base/Common.h"
46#include "DGtal/geometry/curves/SegmentComputerUtils.h"
47#include "DGtal/geometry/curves/CForwardSegmentComputer.h"
152 template <
typename TSegmentComputer>
252 const TSegmentComputer& aSegmentComputer,
532 template <
typename SegmentComputer>
541#include "DGtal/geometry/curves/SaturatedSegmentation.ih"
548#undef SaturatedSegmentation_RECURSES
std::vector< Z2i::Point >::const_iterator ConstIterator
Aim: Specific iterator to visit all the maximal segments of a saturated segmentation.
bool operator!=(const SegmentComputerIterator &aOther) const
SegmentComputerIterator & operator++()
void initLastMaximalSegment()
~SegmentComputerIterator()
bool intersectNext() const
const ConstIterator end() const
SaturatedSegmentation::SegmentComputer SegmentComputer
SegmentComputerIterator & operator=(const SegmentComputerIterator &aOther)
bool doesIntersectNext(const ConstIterator &it, const ConstIterator &itb, const ConstIterator &ite)
void nextMaximalSegment()
ConstIterator myLastMaximalSegmentBegin
const SaturatedSegmentation< TSegmentComputer > * myS
ConstIterator myLastMaximalSegmentEnd
const SegmentComputer * operator->() const
SegmentComputerIterator(const SegmentComputerIterator &aOther)
const SegmentComputer & operator*() const
SegmentComputer get() const
SegmentComputer mySegmentComputer
bool operator==(const SegmentComputerIterator &aOther) const
bool doesIntersectNext(const ConstIterator &it, const ConstIterator &itb, const ConstIterator &ite, IteratorType)
const ConstIterator begin() const
void initFirstMaximalSegment()
bool intersectPrevious() const
bool doesIntersectNext(const ConstIterator &it)
bool doesIntersectNext(const ConstIterator &it, const ConstIterator &itb, const ConstIterator &ite, CirculatorType)
SegmentComputerIterator(const SaturatedSegmentation< TSegmentComputer > *aSegmentation, const TSegmentComputer &aSegmentComputer, const bool &aFlag)
SegmentComputer::ConstIterator ConstIterator
bool myFlagIntersectPrevious
Aim: Computes the saturated segmentation, that is the whole set of maximal segments within a range gi...
SaturatedSegmentation & operator=(const SaturatedSegmentation &other)
SaturatedSegmentation::SegmentComputerIterator end() const
SaturatedSegmentation(const ConstIterator &itb, const ConstIterator &ite, const SegmentComputer &aSegmentComputer)
TSegmentComputer SegmentComputer
TSegmentComputer::Reverse ReverseSegmentComputer
void selfDisplay(std::ostream &out) const
SegmentComputer::ConstIterator ConstIterator
void setMode(const std::string &aMode)
SaturatedSegmentation(const SaturatedSegmentation &other)
SaturatedSegmentation::SegmentComputerIterator begin() const
void setSubRange(const ConstIterator &itb, const ConstIterator &ite)
SegmentComputer mySegmentComputer
ReverseSegmentComputer::ConstIterator ConstReverseIterator
BOOST_CONCEPT_ASSERT((concepts::CForwardSegmentComputer< TSegmentComputer >))
DGtal is the top-level namespace which contains all DGtal functions and types.
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &object)
Aim: Defines the concept describing a forward segment computer. Like any model of CIncrementalSegment...