58  unsigned int nbok = 0; 
 
   62  typedef std::vector<Point3>::iterator Iterator3;
 
   74  std::vector<Point3> r;
 
   75  r.push_back(Point3(0,0,0));
 
   76  r.push_back(Point3(1,0,0));
 
   77  r.push_back(Point3(2,0,0));
 
   78  r.push_back(Point3(2,1,0));
 
   79  r.push_back(Point3(2,1,1));
 
   80  r.push_back(Point3(3,1,1));
 
   81  r.push_back(Point3(4,1,1));
 
   82  r.push_back(Point3(4,2,1));
 
   83  r.push_back(Point3(4,2,2));
 
   84  r.push_back(Point3(5,2,2));
 
   85  r.push_back(Point3(6,2,2));
 
   86  r.push_back(Point3(6,3,2));
 
   87  r.push_back(Point3(6,3,3));
 
   88  r.push_back(Point3(6,4,3));
 
   89  r.push_back(Point3(6,4,4));
 
   90  r.push_back(Point3(6,5,4));
 
   93  std::vector<Point2> rtrue;
 
   94  rtrue.push_back(Point2(0,0));
 
   95  rtrue.push_back(Point2(1,0));
 
   96  rtrue.push_back(Point2(2,0));
 
   97  rtrue.push_back(Point2(2,1));
 
   98  rtrue.push_back(Point2(2,1));
 
   99  rtrue.push_back(Point2(3,1));
 
  100  rtrue.push_back(Point2(4,1));
 
  101  rtrue.push_back(Point2(4,2));
 
  102  rtrue.push_back(Point2(4,2));
 
  103  rtrue.push_back(Point2(5,2));
 
  104  rtrue.push_back(Point2(6,2));
 
  105  rtrue.push_back(Point2(6,3));
 
  106  rtrue.push_back(Point2(6,3));
 
  107  rtrue.push_back(Point2(6,4));
 
  108  rtrue.push_back(Point2(6,4));
 
  109  rtrue.push_back(Point2(6,5));
 
  111  trace.beginBlock ( 
"Testing block ..." );
 
  113  trace.info() << 
"2d points after projection (XY)" << endl; 
 
  117  Adapter aitBegin(r.begin(),proj);
 
  118  Adapter ait = aitBegin;    
 
  119  Adapter aitEnd(r.end(),proj); 
 
  121  for ( ; ait != aitEnd; ++ait) 
 
  123      trace.info() << *(ait.base()); 
 
  124      trace.info() << *ait; 
 
  125      trace.info() << 
"(" << ait->operator[](0) << 
", " << ait->operator[](1) << 
")" << endl;
 
  129  if ( std::equal( rtrue.begin(), rtrue.end(), aitBegin ) == 
true )
 
  132  trace.info() << nbok << 
"/" << nb << std::endl;   
 
  135  trace.info() << 
"basic operators (operator==)" << endl; 
 
  136  if ( ( ait != aitBegin ) && ( ait == aitEnd ) )
 
  139  trace.info() << nbok << 
"/" << nb << std::endl;   
 
  142  ait = (aitBegin + 3);
 
  145  trace.info() << 
"random access operators (operator+)" << endl; 
 
  146  trace.info() << *(aitBegin.base()) << *aitBegin << endl; 
 
  147  trace.info() << 
"+5" << std::endl; 
 
  148  trace.info() << *(ait.base()) << *ait << endl; 
 
  149  if ( ( *ait == Point2(3,1) ) == 
true )
 
  152  trace.info() << nbok << 
"/" << nb << std::endl;   
 
  154  trace.info() << 
"backward scanning" << endl; 
 
  155  boost::reverse_iterator<Adapter> raitBegin( aitEnd ); 
 
  156  if ( std::equal( rtrue.rbegin(), rtrue.rend(), raitBegin ) == 
true )
 
  159  trace.info() << nbok << 
"/" << nb << std::endl;   
 
  161  trace.info() << 
"circular scanning" << endl; 
 
  163  if ( std::equal( rtrue.begin(), rtrue.end(), caitBegin ) == 
true )
 
  166  trace.info() << nbok << 
"/" << nb << std::endl;