33 #include "DGtal/kernel/sets/DigitalSetFromMap.h" 
   42 template <
typename TMapImage>
 
   49 template <
typename TMapImage>
 
   54   : myImgPtr( &aImage ), myFun( 
Functor() ), myDefault( aDefaultValue )
 
   58 template <
typename TMapImage>
 
   62   : myImgPtr( other.myImgPtr ), myFun( other.myFun ), myDefault (other.myDefault)
 
   67 template <
typename TMapImage>
 
   83 template <
typename TMapImage>
 
   98 template <
typename TMapImage>
 
  103   return myImgPtr->
size();
 
  107 template <
typename TMapImage>
 
  112   return myImgPtr->
empty();
 
  117 template <
typename TMapImage>
 
  122   ASSERT( this->domain().isInside( p ) );
 
  123   myImgPtr->insert( 
Pair( p, myDefault ) );
 
  128 template <
typename TMapImage>
 
  129 template <
typename Po
intInputIterator>
 
  133   for (PointInputIterator it = first; it != last; ++it)
 
  139 template <
typename TMapImage>
 
  144   ASSERT( this->domain().isInside( p ) );
 
  145   myImgPtr->insert( 
Pair( p, myDefault ) );
 
  149 template <
typename TMapImage>
 
  150 template <
typename Po
intInputIterator>
 
  154 ( PointInputIterator first, PointInputIterator last )
 
  156   for (PointInputIterator it = first; it != last; ++it)
 
  161 template <
typename TMapImage>
 
  165   return myImgPtr->
erase( p );
 
  169 template <
typename TMapImage>
 
  174   myImgPtr->
erase( it.base() );
 
  178 template <
typename TMapImage>
 
  187 template <
typename TMapImage>
 
  196 template <
typename TMapImage>
 
  201   return Iterator( myImgPtr->find( p ), myFun );
 
  205 template <
typename TMapImage>
 
  214 template <
typename TMapImage>
 
  223 template <
typename TMapImage>
 
  228   return Iterator( myImgPtr->begin(), myFun );
 
  232 template <
typename TMapImage>
 
  237   return Iterator( myImgPtr->end(), myFun );
 
  241 template <
typename TMapImage>
 
  242 template <
typename TDigitalSet>
 
  251       for ( 
typename TDigitalSet::ConstIterator itSrc = aSet.begin();
 
  255           itDst = 
Iterator( myImgPtr->insert( itDst.base(), 
Pair(*itSrc, myDefault) ),
 
  267 template <
typename TMapImage>
 
  268 template <
typename TOutputIterator>
 
  272 (TOutputIterator& ito) 
const 
  274   Domain d = this->domain();
 
  275   typename Domain::ConstIterator itPoint = d.begin();
 
  276   typename Domain::ConstIterator itEnd = d.end();
 
  277   while ( itPoint != itEnd ) {
 
  278     if ( this->find( *itPoint ) == end() ) {
 
  286 template <
typename TMapImage>
 
  287 template <
typename TDigitalSet>
 
  291 ( 
const TDigitalSet& otherSet )
 
  294   Domain d = this->domain();
 
  295   typename Domain::ConstIterator itPoint = d.begin();
 
  296   typename Domain::ConstIterator itEnd = d.end();
 
  297   while ( itPoint != itEnd ) {
 
  298     if ( otherSet.find( *itPoint ) == otherSet.end() ) {
 
  299       this->insert( *itPoint );
 
  306 template <
typename TMapImage>
 
  312   Domain d = this->domain();
 
  313   lower = d.upperBound();
 
  314   upper = d.lowerBound();
 
  317   while ( it != itEnd ) {
 
  318     lower = lower.inf( *it );
 
  319     upper = upper.sup( *it );
 
  327 template <
typename TMapImage>
 
  332   out << 
"[DigitalSetFromMap]" << 
" size=" << size();
 
  335 template <
typename TMapImage>
 
  340   return ( (myImgPtr) && (myImgPtr->isValid()) );
 
  346 template<
typename TMapImage>
 
  351   return "DigitalSetFromMap";
 
  357 template <
typename TMapImage>
 
  360 DGtal::operator<< ( std::ostream & out, const DGtal::DigitalSetFromMap<TMapImage> & object )