26 #ifndef MLN_CORE_IMAGE_DMORPH_HEXA_PITER_HH
27 # define MLN_CORE_IMAGE_DMORPH_HEXA_PITER_HH
33 # include <mln/core/internal/piter_adaptor.hh>
35 # include <mln/core/alias/box2d.hh>
36 # include <mln/core/alias/box2d_h.hh>
51 :
public internal::piter_adaptor_< mln_fwd_piter(S),
55 typedef mln_fwd_piter(S) adaptee_;
56 typedef hexa_fwd_piter_<S> self_;
57 typedef internal::piter_adaptor_<adaptee_, S, self_> super_;
62 hexa_fwd_piter_(const
box2d_h& subset);
84 public mln::internal::fixme
89 # ifndef MLN_INCLUDE_ONLY
96 hexa_fwd_piter_<S>::hexa_fwd_piter_(
const box2d_h& b)
98 super_(adaptee_(box_adaptee_))
102 b.pmax()[0] / 2 + b.pmax()[0] % 2,
106 template <
typename S>
109 hexa_fwd_piter_<S>::start()
112 p_[0] = this->pi_[0];
113 p_[1] = this->pi_[1];
116 template <
typename S>
119 hexa_fwd_piter_<S>::next_()
122 p_[0] = this->pi_[0] * 2;
123 p_[1] = this->pi_[1] * 2 + this->pi_[0] % 2;
126 template <
typename S>
128 hexa_fwd_piter_<S>::operator
point2d_h()
const
136 # endif // ! MLN_INCLUDE_ONLY
141 #endif // ! MLN_CORE_IMAGE_DMORPH_HEXA_PITER_HH