84( PlaneComputer & computer,
unsigned int nbplanes,
int diameter )
86 typedef typename PlaneComputer::Space
Space;
91 unsigned int nbok = 0;
93 Point( diameter, diameter, diameter ) );
95 std::random_device rd;
98 for (
unsigned int p = 0; p < nbplanes; ++p )
105 while ( ( a == 0 ) && ( b == 0 ) && ( c == 0 ) );
108 computer.init( 1, 1 );
110 nbok += computer.extend( pts.begin(), pts.end() ) ? 1 : 0;
111 trace.
info() <<
"Primitive=" << computer.primitive() << std::endl;
112 trace.
info() <<
"(" << nbok <<
"/" << nb <<
") extend "
113 << pts.size() <<
" points of plane "
114 << mu <<
" <= " << a <<
"*x+" << b <<
"*y+" << c <<
"*z+"
115 <<
" < " << (mu+a+b+c) << std::endl;
116 computer.init( 1, 1 );
117 std::shuffle( pts.begin(), pts.end(), g );
119 nbok += computer.extend( pts.begin(), pts.end() ) ? 1 : 0;
120 trace.
info() <<
"Primitive=" << computer.primitive() << std::endl;
121 trace.
info() <<
"(" << nbok <<
"/" << nb <<
") extend "
122 << pts.size() <<
" shuffled points of plane "
123 << mu <<
" <= " << a <<
"*x+" << b <<
"*y+" << c <<
"*z+"
124 <<
" < " << (mu+a+b+c) << std::endl;
140 ok = plane.extend(
Point(0,0,0) );
141 trace.
info() <<
"Point(0,0,0) is " << ( ok ?
"ok" :
"ko" ) << std::endl;
143 ok = plane.extend(
Point(1,0,0) );
144 trace.
info() <<
"Point(1,0,0) is " << ( ok ?
"ok" :
"ko" ) << std::endl;
146 ok = plane.extend(
Point(0,1,0) );
147 trace.
info() <<
"Point(0,1,0) is " << ( ok ?
"ok" :
"ko" ) << std::endl;
149 ok = plane.extend(
Point(1,1,0) );
150 trace.
info() <<
"Point(1,1,0) is " << ( ok ?
"ok" :
"ko" ) << std::endl;
152 ok = plane.extend(
Point(2,0,0) );
153 trace.
info() <<
"Point(2,0,0) is " << ( ok ?
"ok" :
"ko" ) << std::endl;
155 ok = plane.extend(
Point(0,2,0) );
156 trace.
info() <<
"Point(0,2,0) is " << ( ok ?
"ok" :
"ko" ) << std::endl;
158 ok = plane.extend(
Point(0,2,0) );
159 trace.
info() <<
"Point(0,2,0) is " << ( ok ?
"ok" :
"ko" ) << std::endl;
161 ok = plane.extend(
Point(1,1,1) );
162 trace.
info() <<
"Point(1,1,1) is " << ( ok ?
"ok" :
"ko" ) << std::endl;
Iterator for HyperRectDomain.
const ConstIterator & begin() const
const ConstIterator & end() const