26 #ifndef MLN_TOPO_IS_FACET_HH
27 # define MLN_TOPO_IS_FACET_HH
32 # include <mln/metal/equal.hh>
34 # include <mln/core/site_set/complex_psite.hh>
35 # include <mln/core/image/complex_neighborhoods.hh>
36 # include <mln/core/image/complex_neighborhood_piter.hh>
63 template <
typename I,
typename NH>
65 is_facet(
const Image<I>& ima,
const mln_psite(I)& f,
66 const Neighborhood<NH>& higher_adj_nbh);
70 # ifndef MLN_INCLUDE_ONLY
72 template <
typename I,
typename NH>
75 is_facet(
const Image<I>& ima_,
const mln_psite(I)& f,
76 const Neighborhood<NH>& higher_adj_nbh_)
80 mlc_equal(mln_value(I),
bool)::check();
82 const I& ima =
exact(ima_);
83 const NH& higher_adj_nbh =
exact(higher_adj_nbh_);
91 mln_niter(NH) n(higher_adj_nbh, f);
95 if (ima.has(n) && ima(n))
101 # endif // MLN_INCLUDE_ONLY
107 #endif // ! MLN_TOPO_IS_FACET_HH