33 #include "DGtal/kernel/sets/SetPredicate.h"
34 #include "DGtal/topology/helpers/Surfaces.h"
42 template <
typename TKSpace,
typename TSurfelPredicate>
48 template <
typename TKSpace,
typename TSurfelPredicate>
53 : mySurface( aSurface ), myNeighborhood()
60 template <
typename TKSpace,
typename TSurfelPredicate>
64 : mySurface( other.mySurface ), myNeighborhood( other.myNeighborhood )
68 template <
typename TKSpace,
typename TSurfelPredicate>
71 ::DigitalSurfaceContainer &
78 template <
typename TKSpace,
typename TSurfelPredicate>
85 return myNeighborhood.surfel();
88 template <
typename TKSpace,
typename TSurfelPredicate>
94 return myNeighborhood.orthDir();
97 template <
typename TKSpace,
typename TSurfelPredicate>
104 myNeighborhood.setSurfel( s );
107 template <
typename TKSpace,
typename TSurfelPredicate>
114 ( myNeighborhood.getAdjacentOnSurfelPredicate
122 template <
typename TKSpace,
typename TSurfelPredicate>
128 template <
typename TKSpace,
typename TSurfelPredicate>
139 template <
typename TKSpace,
typename TSurfelPredicate>
152 template <
typename TKSpace,
typename TSurfelPredicate>
161 template <
typename TKSpace,
typename TSurfelPredicate>
169 template <
typename TKSpace,
typename TSurfelPredicate>
181 template <
typename TKSpace,
typename TSurfelPredicate>
189 template <
typename TKSpace,
typename TSurfelPredicate>
198 template <
typename TKSpace,
typename TSurfelPredicate>
206 template <
typename TKSpace,
typename TSurfelPredicate>
214 template <
typename TKSpace,
typename TSurfelPredicate>
222 template <
typename TKSpace,
typename TSurfelPredicate>
230 template <
typename TKSpace,
typename TSurfelPredicate>
236 return new Tracker( *
this, s );
239 template <
typename TKSpace,
typename TSurfelPredicate>
249 template <
typename TKSpace,
typename TSurfelPredicate>
256 if ( KSpace::dimension > 2 )
258 typename KSpace::SCellSet surface;
271 for (
typename KSpace::SCellSet::const_iterator it = surface.begin(),
272 it_end = surface.end(); it != it_end; ++it )
277 ASSERT( KSpace::dimension == 2 );
293 template <
typename TKSpace,
typename TSurfelPredicate>
298 out <<
"[ExplicitDigitalSurface]";
305 template <
typename TKSpace,
typename TSurfelPredicate>
318 template <
typename TKSpace,
typename TSurfelPredicate>
324 object.selfDisplay( out );