31 #if defined(Surfaces_RECURSES)
32 #error Recursive header files inclusion detected in Surfaces.h
33 #else // defined(Surfaces_RECURSES)
35 #define Surfaces_RECURSES
37 #if !defined Surfaces_h
44 #include "DGtal/base/Common.h"
45 #include "DGtal/base/Exceptions.h"
46 #include "DGtal/topology/SurfelAdjacency.h"
47 #include "DGtal/topology/SurfelNeighborhood.h"
52 #pragma warning(disable : 4290)
77 template <
typename TKSpace>
84 typedef typename KSpace::Point
Point;
85 typedef typename KSpace::Cell
Cell;
86 typedef typename KSpace::SCell
SCell;
112 template <
typename Po
intPredicate>
115 const PointPredicate & pp,
142 template <typename PointPredicate>
145 const PointPredicate & pp,
178 template <typename SCellSet, typename PointPredicate >
183 const PointPredicate & pp,
184 const
SCell & start_surfel );
219 template <typename SCellSet, typename PointPredicate >
224 const PointPredicate & pp,
225 const
SCell & start_surfel );
253 template <typename SCellSet, typename SurfelPredicate >
258 const SurfelPredicate & pp,
259 const
SCell & start_surfel );
288 template <typename SCellSet, typename SurfelPredicate >
293 const SurfelPredicate & pp,
294 const
SCell & start_surfel );
329 template <typename PointPredicate >
334 const PointPredicate & pp,
335 const
SCell & start_surfel );
378 template <typename PointPredicate>
384 const PointPredicate & pp,
385 const
SCell & start_surfel );
421 template <typename SurfelPredicate >
426 const SurfelPredicate & sp,
427 const
SCell & start_surfel );
472 template <typename SurfelPredicate>
478 const SurfelPredicate & sp,
479 const
SCell & start_surfel );
507 template <typename PointPredicate>
513 const PointPredicate & pp,
514 const
SCell & start_surfel );
543 template <typename PointPredicate>
546 ( std::vector< std::vector<
Point > > & aVectPointContour2D,
548 const PointPredicate & pp,
575 template <typename PointPredicate>
578 ( std::vector< std::vector<
SCell> > & aVectSCellContour2D,
581 const PointPredicate & pp );
611 template <typename PointPredicate >
614 ( std::vector< std::vector<
SCell> > & aVectConnectedSCell,
617 const PointPredicate & pp,
618 bool forceOrientCellExterior=
false );
647 template <typename PointPredicate>
651 const PointPredicate & pp );
679 template <typename CellSet, typename PointPredicate >
683 const PointPredicate & pp,
684 const
Point & aLowerBound,
685 const
Point & aUpperBound );
708 template <typename SCellSet, typename PointPredicate >
712 const PointPredicate & pp,
713 const
Point & aLowerBound,
714 const
Point & aUpperBound );
740 template <typename OutputIterator, typename PointPredicate >
744 const PointPredicate & pp,
745 const
Point & aLowerBound,
746 const
Point & aUpperBound );
772 template <typename OutputIterator, typename PointPredicate >
776 const PointPredicate & pp,
777 const
Point & aLowerBound,
778 const
Point & aUpperBound );
830 Surfaces ( const Surfaces & other );
838 Surfaces & operator= ( const Surfaces & other );
852 template <typename TKSpace>
854 operator<< ( std::ostream & out, const Surfaces<TKSpace> &
object );
861 #include "DGtal/topology/helpers/Surfaces.ih"
866 #endif // !defined Surfaces_h
868 #undef Surfaces_RECURSES
869 #endif // else defined(Surfaces_RECURSES)