26 #ifndef MLN_WORLD_INTER_PIXEL_SEPARATOR_TO_PIXELS_HH
27 # define MLN_WORLD_INTER_PIXEL_SEPARATOR_TO_PIXELS_HH
35 # include <mln/core/concept/gpoint.hh>
36 # include <mln/core/concept/site_proxy.hh>
37 # include <mln/world/inter_pixel/is_pixel.hh>
38 # include <mln/world/inter_pixel/is_separator.hh>
54 Gpoint<P>& p1, Gpoint<P>& p2);
56 template <
typename Ps,
typename P>
59 Gpoint<P>& p1, Gpoint<P>& p2);
62 # ifndef MLN_INCLUDE_ONLY
69 Gpoint<P>& p1_, Gpoint<P>& p2_)
71 const P& s =
exact(s_);
78 is_separator is_separator_;
79 mln_precondition(is_separator_(s));
88 p1 =
point2d(s.row() - 1, s.col());
89 p2 =
point2d(s.row() + 1, s.col());
94 p1 =
point2d(s.row(), s.col() - 1);
95 p2 =
point2d(s.row(), s.col() + 1);
102 mln_postcondition(is_pixel_(p1));
103 mln_postcondition(is_pixel_(p2));
109 template <
typename Ps,
typename P>
113 Gpoint<P>& p1_, Gpoint<P>& p2_)
115 const Ps& s =
exact(s_);
122 is_separator is_separator_;
123 mln_precondition(is_separator_(s));
124 (void) is_separator_;
134 mln_postcondition(is_pixel_(p1));
135 mln_postcondition(is_pixel_(p2));
141 # endif // ! MLN_INCLUDE_ONLY
149 #endif // ! MLN_WORLD_INTER_PIXEL_SEPARATOR_TO_PIXELS_HH