50    unsigned int nbok = 0;
 
   53    trace.beginBlock(
"Testing simple TiledImage");
 
   59    for (VImage::Iterator it = 
image.begin(); it != 
image.end(); ++it)
 
   62    trace.info() << 
"ORIGINAL image: " << 
image << endl;
 
   65    typedef MyImageFactoryFromImage::OutputImage OutputImage;
 
   66    MyImageFactoryFromImage imageFactoryFromImage(
image);
 
   70    MyImageCacheReadPolicyFIFO imageCacheReadPolicyFIFO(imageFactoryFromImage, 2);
 
   71    MyImageCacheWritePolicyWT imageCacheWritePolicyWT(imageFactoryFromImage);
 
   75    MyTiledImage tiledImage(imageFactoryFromImage, imageCacheReadPolicyFIFO, imageCacheWritePolicyWT, 4);
 
   77    typedef MyTiledImage::OutputImage OutputImage;
 
   78    OutputImage::Value aValue;
 
   80    trace.info() << 
"Read value for Point 4,2: " << tiledImage(
Z2i::Point(4,2)) << endl;
 
   81    nbok += (tiledImage(
Z2i::Point(4,2)) == 20) ? 1 : 0;
 
   84    trace.info() << 
"(" << nbok << 
"/" << nb << 
") " << endl;
 
   86    trace.info() << 
"Read value for Point 10,6: " << tiledImage(
Z2i::Point(10,6)) << endl;
 
   87    nbok += (tiledImage(
Z2i::Point(10,6)) == 90) ? 1 : 0;
 
   90    trace.info() << 
"(" << nbok << 
"/" << nb << 
") " << endl;
 
   92    aValue = 1; tiledImage.setValue(
Z2i::Point(11,7), aValue);
 
   93    trace.info() << 
"Write value for Point 11,7: " << aValue << endl;
 
   94    nbok += (tiledImage(
Z2i::Point(11,7)) == 1) ? 1 : 0;
 
   97    trace.info() << 
"(" << nbok << 
"/" << nb << 
") " << endl;
 
   99    trace.info() << 
"Read value for Point 2,3: " << tiledImage(
Z2i::Point(2,3)) << endl;
 
  100    nbok += (tiledImage(
Z2i::Point(2,3)) == 34) ? 1 : 0;
 
  103    trace.info() << 
"(" << nbok << 
"/" << nb << 
") " << endl;
 
  105    trace.info() << 
"Read value for Point 16,1: " << tiledImage(
Z2i::Point(16,1)) << endl;
 
  106    nbok += (tiledImage(
Z2i::Point(16,1)) == 16) ? 1 : 0;
 
  109    trace.info() << 
"(" << nbok << 
"/" << nb << 
") " << endl;
 
  111    aValue = 128; tiledImage.setValue(
Z2i::Point(16,1), aValue);
 
  112    trace.info() << 
"Write value for Point 16,1: " << aValue << endl;
 
  113    nbok += (tiledImage(
Z2i::Point(16,1)) == 128) ? 1 : 0;
 
  116    trace.info() << 
"(" << nbok << 
"/" << nb << 
") " << endl;
 
  122    trace.info() << 
"(" << nbok << 
"/" << nb << 
") " << endl;
 
 
  131    unsigned int nbok = 0;
 
  134    trace.beginBlock(
"Testing 3d TiledImage");
 
  140    for (VImage::Iterator it = 
image.begin(); it != 
image.end(); ++it)
 
  143    trace.info() << 
"ORIGINAL image: " << 
image << endl;
 
  146    typedef MyImageFactoryFromImage::OutputImage OutputImage;
 
  147    MyImageFactoryFromImage imageFactoryFromImage(
image);
 
  151    MyImageCacheReadPolicyFIFO imageCacheReadPolicyFIFO(imageFactoryFromImage, 2);
 
  152    MyImageCacheWritePolicyWT imageCacheWritePolicyWT(imageFactoryFromImage);
 
  156    MyTiledImage tiledImage(imageFactoryFromImage, imageCacheReadPolicyFIFO, imageCacheWritePolicyWT, 4);
 
  158    typedef MyTiledImage::OutputImage OutputImage;
 
  160    trace.info() << 
"Read value for Point 1,1,1: " << tiledImage(
Z3i::Point(1,1,1)) << endl;
 
  161    nbok += (tiledImage(
Z3i::Point(1,1,1)) == 1) ? 1 : 0;
 
  164    trace.info() << 
"(" << nbok << 
"/" << nb << 
") " << endl;
 
  166    trace.info() << 
"Read value for Point 4,4,4: " << tiledImage(
Z3i::Point(4,4,4)) << endl;
 
  167    nbok += (tiledImage(
Z3i::Point(4,4,4)) == 64) ? 1 : 0;
 
  170    trace.info() << 
"(" << nbok << 
"/" << nb << 
") " << endl;
 
  172    trace.info() << 
"Read value for Point 4,3,2: " << tiledImage(
Z3i::Point(4,3,2)) << endl;
 
  173    nbok += (tiledImage(
Z3i::Point(4,3,2)) == 28) ? 1 : 0;
 
  176    trace.info() << 
"(" << nbok << 
"/" << nb << 
") " << endl;
 
 
  185  unsigned int nbok = 0;
 
  188  trace.beginBlock(
"Testing iterators with TiledImage");
 
  192  for (VImage::Iterator it = 
image.begin(); it != 
image.end(); ++it)
 
  194  trace.info() << 
"ORIGINAL image: " << 
image << endl;
 
  196  typedef MyImageFactoryFromImage::OutputImage OutputImage;
 
  197  MyImageFactoryFromImage imageFactoryFromImage(
image);
 
  201  MyImageCacheReadPolicyFIFO imageCacheReadPolicyFIFO(imageFactoryFromImage, 2);
 
  202  MyImageCacheWritePolicyWT imageCacheWritePolicyWT(imageFactoryFromImage);
 
  206  MyTiledImage tiledImage(imageFactoryFromImage, imageCacheReadPolicyFIFO, imageCacheWritePolicyWT, 4);
 
  213  typedef MyTiledImage::OutputIterator OutputIterator;
 
  216  trace.info() << 
"Value at range begin (1) = "<< *itbegin << std::endl;
 
  217  nbok += (*itbegin == 1) ? 1 : 0; nb++;
 
  218  trace.info() << 
"(" << nbok << 
"/" << nb << 
") " << endl;
 
  221  trace.info() << 
"Value at range begin from point (42) = "<< *itbegin2 << std::endl;
 
  222  nbok += (*itbegin2 == 42) ? 1 : 0; nb++;
 
  223  trace.info() << 
"(" << nbok << 
"/" << nb << 
") " << endl;
 
  225  OutputIterator itbegino = tiledImage.range().begin();
 
  226  trace.info() << 
"Value at range begin (1) = "<< *itbegino << std::endl;
 
  227  nbok += (*itbegino == 1) ? 1 : 0; nb++;
 
  228  trace.info() << 
"(" << nbok << 
"/" << nb << 
") " << endl;
 
  231  trace.info() << 
"Value at range begin after writing (5) = "<< *itbegino << std::endl;
 
  232  nbok += (*itbegino == 5) ? 1 : 0; nb++;
 
  233  trace.info() << 
"(" << nbok << 
"/" << nb << 
") " << endl;
 
 
  242    unsigned int nbok = 0;
 
  245    trace.beginBlock(
"Testing range/constRange with TiledImage");
 
  250    for (VImage::Iterator it = 
image.begin(); it != 
image.end(); ++it)
 
  253    trace.info() << 
"ORIGINAL image: " << 
image << endl;
 
  256    typedef MyImageFactoryFromImage::OutputImage OutputImage;
 
  257    MyImageFactoryFromImage imageFactoryFromImage(
image);
 
  262    MyImageCacheReadPolicyFIFO imageCacheReadPolicyFIFO(imageFactoryFromImage, 2);
 
  264    MyImageCacheWritePolicyWB imageCacheWritePolicyWB(imageFactoryFromImage);
 
  268    MyTiledImage tiledImage(imageFactoryFromImage, imageCacheReadPolicyFIFO, imageCacheWritePolicyWB, 4);
 
  271    const auto maximalValue = tiledImage.domain().size();
 
  272    MyTiledImage::Range::OutputIterator it = tiledImage.range().outputIterator();
 
  273    for (
size_t i = 0; i < maximalValue; ++i)
 
  279    MyTiledImage::ConstRange r = tiledImage.constRange();
 
  280    std::copy( r.begin(), r.end(), std::ostream_iterator<int>(cout,
", ") );
 
  283    std::vector<int> to_vector(100);
 
  284    std::copy(r.begin(), r.end(), to_vector.begin());
 
  285    for (
int i = 0; i < 100; i++)
 
  295        cout << 
"!ok -> " << to_vector[i] << 
", "; 
 
  304    std::copy( r.begin(
Z2i::Point(7,7)), r.end(), std::ostream_iterator<int>(cout,
", ") );
 
  307    std::vector<int> to_vector2(28);
 
  308    std::copy(r.begin(
Z2i::Point(7,7)), r.end(), to_vector2.begin());
 
  309    for (
int i = 0; i < 28; i++)
 
  311      if (to_vector2[i]==i+72)
 
  319        cout << 
"!ok -> " << to_vector2[i] << 
", ";