27 #ifndef MLN_CANVAS_CHAMFER_HH
28 # define MLN_CANVAS_CHAMFER_HH
35 # include <mln/core/internal/image_morpher.hh>
36 # include <mln/win/sym.hh>
51 typedef typename F::I
I;
52 typedef typename F::W
W;
62 # ifndef MLN_INCLUDE_ONLY
85 mln_fwd_piter(I)
p(f.input.domain());
86 mln_qiter(W) q(f.win,
p);
88 for_all(p) if (f.handles (p))
89 for_all(q) if (f.input.domain().has(q))
90 if (f.output(q) != f.
max
91 && f.output(q) + q.w() < f.output(p))
92 f.output(p) = f.output(q) + q.w();
99 mln_bkd_piter(I) p(f.input.domain());
100 mln_qiter(W) q(w_win_b, p);
102 for_all(p) if (f.handles (p))
103 for_all(q) if (f.input.domain().has(q))
104 if (f.output(q) != f.
max
105 && f.output(q) + q.w() < f.output(p))
106 f.output(p) = f.output(q) + q.w();
111 # endif // ! MLN_INCLUDE_ONLY
117 #endif // ! MLN_CANVAS_CHAMFER_HH