00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 #include <mln/core/image/image2d.hh>
00027 
00028 #include <mln/debug/iota.hh>
00029 
00030 int main()
00031 {
00032   using namespace mln;
00033 
00034   {
00035     box2d b(point2d(2, 1), point2d(4, 3));
00036     image2d<int> ima(b, 2);
00037 
00038     mln_pixter_(image2d<int>) p(ima);
00039     for_all(p)
00040       std::cout << p << std::endl;
00041   }
00042 
00043   {
00044     box2d b(point2d(2, 1), point2d(6, 3));
00045     image2d<int> ima(b, 1);
00046     debug::iota(ima);
00047 
00048     {
00049       mln_fwd_piter_(image2d<int>) pi(ima.domain());
00050       mln_fwd_pixter_(image2d<int>) p(ima);
00051       pi.start();
00052       p.start();
00053       unsigned i = 0;
00054       while (pi.is_valid())
00055         {
00056           mln_assertion(ima(pi) == p.val());
00057           pi.next();
00058           p.next();
00059           ++i;
00060         }
00061       mln_assertion(i == b.nsites());
00062     }
00063 
00064     {
00065       mln_bkd_piter_(image2d<int>) pi(ima.domain());
00066       mln_bkd_pixter_(image2d<int>) p(ima);
00067       pi.start();
00068       p.start();
00069       unsigned i = 0;
00070       while (pi.is_valid())
00071         {
00072           mln_assertion(ima(pi) == p.val());
00073           pi.next();
00074           p.next();
00075           ++i;
00076         }
00077       mln_assertion(i == b.nsites());
00078     }
00079   }
00080 }