33 #include "DGtal/kernel/sets/SetPredicate.h" 
   34 #include "DGtal/topology/CVertexPredicate.h" 
   35 #include "DGtal/topology/helpers/Surfaces.h" 
   43 template <
typename TKSpace, 
typename TSurfelPredicate>
 
   49 template <
typename TKSpace, 
typename TSurfelPredicate>
 
   54   : mySurface( aSurface ), myNeighborhood()
 
   61 template <
typename TKSpace, 
typename TSurfelPredicate>
 
   65   : mySurface( other.mySurface ), myNeighborhood( other.myNeighborhood )
 
   69 template <
typename TKSpace, 
typename TSurfelPredicate>
 
   72 ::DigitalSurfaceContainer &
 
   79 template <
typename TKSpace, 
typename TSurfelPredicate>
 
   86   return myNeighborhood.
surfel();
 
   89 template <
typename TKSpace, 
typename TSurfelPredicate>
 
   95   return myNeighborhood.orthDir();
 
   98 template <
typename TKSpace, 
typename TSurfelPredicate>
 
  105   myNeighborhood.setSurfel( s );
 
  108 template <
typename TKSpace, 
typename TSurfelPredicate>
 
  115     ( myNeighborhood.getAdjacentOnSurfelPredicate
 
  123 template <
typename TKSpace, 
typename TSurfelPredicate>
 
  129 template <
typename TKSpace, 
typename TSurfelPredicate>
 
  141 template <
typename TKSpace, 
typename TSurfelPredicate>
 
  153 template <
typename TKSpace, 
typename TSurfelPredicate>
 
  162 template <
typename TKSpace, 
typename TSurfelPredicate>
 
  170 template <
typename TKSpace, 
typename TSurfelPredicate>
 
  179 template <
typename TKSpace, 
typename TSurfelPredicate>
 
  188 template <
typename TKSpace, 
typename TSurfelPredicate>
 
  203 template <
typename TKSpace, 
typename TSurfelPredicate>
 
  211 template <
typename TKSpace, 
typename TSurfelPredicate>
 
  220 template <
typename TKSpace, 
typename TSurfelPredicate>
 
  226   ASSERT( ptrVisitor != 0 );
 
  230 template <
typename TKSpace, 
typename TSurfelPredicate>
 
  238 template <
typename TKSpace, 
typename TSurfelPredicate>
 
  249 template <
typename TKSpace, 
typename TSurfelPredicate>
 
  257 template <
typename TKSpace, 
typename TSurfelPredicate>
 
  263   return new Tracker( *
this, s );
 
  266 template <
typename TKSpace, 
typename TSurfelPredicate>
 
  276 template <
typename TKSpace, 
typename TSurfelPredicate>
 
  285   for ( 
typename KSpace::DirIterator q = 
space().sDirs( v );
 
  296 template <
typename TKSpace, 
typename TSurfelPredicate>
 
  297 template <
typename OutputIterator>
 
  306   for ( 
typename KSpace::DirIterator q = 
space().sDirs( v );
 
  316 template <
typename TKSpace, 
typename TSurfelPredicate>
 
  317 template <
typename OutputIterator, 
typename VertexPredicate>
 
  323                   const VertexPredicate & pred )
 const 
  328   for ( 
typename KSpace::DirIterator q = 
space().sDirs( v );
 
  333           if ( pred( s ) ) *it++ = s;
 
  337           if ( pred( s ) ) *it++ = s;
 
  342 template <
typename TKSpace, 
typename TSurfelPredicate>
 
  348   return KSpace::dimension * 2 - 2;
 
  361 template <
typename TKSpace, 
typename TSurfelPredicate>
 
  366   out << 
"[LightExplicitDigitalSurface]";
 
  373 template <
typename TKSpace, 
typename TSurfelPredicate>
 
  386 template <
typename TKSpace, 
typename TSurfelPredicate>
 
  392   object.selfDisplay( out );