31 #if defined(SaturatedSegmentation_RECURSES)
32 #error Recursive header files inclusion detected in SaturatedSegmentation.h
33 #else // defined(SaturatedSegmentation_RECURSES)
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,
286 const SegmentComputer&
operator*()
const;
291 SegmentComputer
get()
const;
339 const ConstIterator
begin()
const;
344 const ConstIterator
end()
const;
361 const ConstIterator& itb,
const ConstIterator& ite);
363 const ConstIterator& itb,
const ConstIterator& ite,
IteratorType);
365 const ConstIterator& itb,
const ConstIterator& ite,
CirculatorType);
415 const ConstIterator& ite,
416 const SegmentComputer& aSegmentComputer);
426 const ConstIterator& ite);
434 void setMode(
const std::string& aMode);
532 template <
typename SegmentComputer>
534 operator<< ( std::ostream & out, const SaturatedSegmentation<SegmentComputer> & object );
541 #include "DGtal/geometry/curves/SaturatedSegmentation.ih"
546 #endif // !defined SaturatedSegmentation_h
548 #undef SaturatedSegmentation_RECURSES
549 #endif // else defined(SaturatedSegmentation_RECURSES)
void selfDisplay(std::ostream &out) const
SegmentComputerIterator & operator++()
ConstIterator myLastMaximalSegmentBegin
~SegmentComputerIterator()
SegmentComputer::ConstIterator ConstIterator
const ConstIterator end() const
bool intersectNext() const
SaturatedSegmentation::SegmentComputer SegmentComputer
bool intersectPrevious() const
bool doesIntersectNext(const ConstIterator &it, const ConstIterator &itb, const ConstIterator &ite)
BOOST_CONCEPT_ASSERT((concepts::CForwardSegmentComputer< TSegmentComputer >))
const SaturatedSegmentation< TSegmentComputer > * myS
SegmentComputerIterator & operator=(const SegmentComputerIterator &aOther)
SaturatedSegmentation::SegmentComputerIterator begin() const
void initFirstMaximalSegment()
SegmentComputer::ConstIterator ConstIterator
SaturatedSegmentation & operator=(const SaturatedSegmentation &other)
void nextMaximalSegment()
ReverseSegmentComputer::ConstIterator ConstReverseIterator
bool myFlagIntersectPrevious
void setMode(const std::string &aMode)
SegmentComputer mySegmentComputer
void setSubRange(const ConstIterator &itb, const ConstIterator &ite)
void initLastMaximalSegment()
const ConstIterator begin() const
ConstIterator myLastMaximalSegmentEnd
Aim: Specific iterator to visit all the maximal segments of a saturated segmentation.
TSegmentComputer::Reverse ReverseSegmentComputer
TSegmentComputer SegmentComputer
Aim: Defines the concept describing a forward segment computer. Like any model of CIncrementalSegment...
bool operator==(const SegmentComputerIterator &aOther) const
bool operator!=(const SegmentComputerIterator &aOther) const
DGtal is the top-level namespace which contains all DGtal functions and types.
const SegmentComputer * operator->() const
SegmentComputerIterator(const SaturatedSegmentation< TSegmentComputer > *aSegmentation, const TSegmentComputer &aSegmentComputer, const bool &aFlag)
Aim: Computes the saturated segmentation, that is the whole set of maximal segments within a range gi...
SegmentComputer mySegmentComputer
const SegmentComputer & operator*() const
SaturatedSegmentation::SegmentComputerIterator end() const