DGtal  1.5.beta
SetFromImage.ih
1 /**
2  * This program is free software: you can redistribute it and/or modify
3  * it under the terms of the GNU Lesser General Public License as
4  * published by the Free Software Foundation, either version 3 of the
5  * License, or (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program. If not, see <http://www.gnu.org/licenses/>.
14  *
15  **/
16 
17 /**
18  * @file SetFromImage.ih
19  * @author David Coeurjolly (\c david.coeurjolly@liris.cnrs.fr )
20  * Laboratoire d'InfoRmatique en Image et Systèmes d'information - LIRIS (CNRS, UMR 5205), CNRS, France
21  *
22  * @date 2011/03/26
23  *
24  * Implementation of inline methods defined in SetFromImage.h
25  *
26  * This file is part of the DGtal library.
27  */
28 
29 
30 //////////////////////////////////////////////////////////////////////////////
31 #include <cstdlib>
32 //////////////////////////////////////////////////////////////////////////////
33 
34 ///////////////////////////////////////////////////////////////////////////////
35 // IMPLEMENTATION of inline methods.
36 ///////////////////////////////////////////////////////////////////////////////
37 
38 
39 
40 
41 template<typename Set>
42 template<typename Image, typename ForegroundPredicate>
43 inline
44 void
45 DGtal::SetFromImage<Set>::append(Set &aSet,
46  const ForegroundPredicate &isForeground,
47  typename Image::Domain::ConstIterator itBegin,
48  typename Image::Domain::ConstIterator itEnd)
49 {
50  //BOOST_CONCEPT_ASSERT(( CImage<Image> ));
51 
52  for( ; itBegin != itEnd; ++itBegin)
53  if (isForeground(*itBegin))
54  aSet.insert( *itBegin);
55 }
56