25 using std::ostringstream;
 
   99         cout << 
" rbox c | qhull Qt QR0 QR" << 
q.rotateRandom() << 
"   distanceEpsilon " << 
q.distanceEpsilon() << endl;
 
  100         QCOMPARE(
q.facetCount(), 12);
 
  101         QCOMPARE(
q.vertexCount(), 8);
 
  105             cout << f.
id() << endl;
 
  107             QVERIFY(f.
id()>0 && f.
id()<=39);
 
  111                 QVERIFY(f.
next()!=f);
 
  120         int tricoplanarCount= 0;
 
  128         QCOMPARE(tricoplanarCount, 2);
 
  129         int tricoplanarCount2= 0;
 
  132             cout << 
"Hyperplane: " << h;
 
  133             QCOMPARE(h.count(), 3);
 
  134             QCOMPARE(h.offset(), -0.5);
 
  138             QCOMPARE(hi.
count(), 3);
 
  139             double innerOffset= hi.
offset()+0.5;
 
  140             cout << 
"InnerPlane: " << hi << 
"   innerOffset+0.5 " << innerOffset << endl;
 
  141             QVERIFY(innerOffset >= 0.0-(2*
q.distanceEpsilon())); 
 
  143             QCOMPARE(ho.
count(), 3);
 
  144             double outerOffset= ho.
offset()+0.5;
 
  145             cout << 
"OuterPlane: " << ho << 
"   outerOffset+0.5 " << outerOffset << endl;
 
  146             QVERIFY(outerOffset <= 0.0+(2*
q.distanceEpsilon())); 
 
  147             QVERIFY(outerOffset-innerOffset < 1e-7);
 
  148             for(
int k= 0; k<3; k++){
 
  149                 QVERIFY(ho[k]==hi[k]);
 
  150                 QVERIFY(ho[k]==h[k]);
 
  153             cout << 
"Center: " << center;
 
  155             QVERIFY(
d < innerOffset-outerOffset);
 
  157             QCOMPARE(center, center2);
 
  163         QCOMPARE(tricoplanarCount2, 2);
 
  165         cout << 
" rbox c | qhull d Qz Qt QR0 QR" << 
q2.rotateRandom() << 
"   distanceEpsilon " << 
q2.distanceEpsilon() << endl;
 
  171         for(
int k= 0; k<3; k++){
 
  172             QVERIFY(center4[k]==center3[k]);
 
  174         Qhull q3(rcube,
"v Qz QR0");  
 
  175         cout << 
" rbox c | qhull v Qz QR0 QR" << q3.rotateRandom() << 
"   distanceEpsilon " << q3.distanceEpsilon() << endl;
 
  184                 cout << p.
print(
"Voronoi vertex: ")
 
  185                     << 
" Is it within " << q3.factorEpsilon() << 
" * distanceEpsilon (" << q3.distanceEpsilon() << 
") of the origin?" << endl;
 
  189         QCOMPARE(voronoiCount, 1);
 
  206             QCOMPARE(facetArea, 1.0);
 
  209                 QVERIFY(maxoutside<1e-7);
 
  221         int coplanarCount= 0;
 
  224             coplanarCount += coplanars.
count();
 
  226             QCOMPARE(neighbors.
count(), 4);
 
  228             QCOMPARE(outsides.
count(), 0);
 
  230             QCOMPARE(ridges.
count(), 4);
 
  232             QCOMPARE(vertices.
count(), 4);
 
  235             for(
int r0= 
r.id(); ridgeCount==0 || 
r.id()!=r0; 
r= 
r.nextRidge3d(f)){
 
  237                 if(!
r.hasNextRidge3d(f)){
 
  238                     QFAIL(
"Unexpected simplicial facet.  They only have ridges to non-simplicial neighbors.");
 
  241             QCOMPARE(ridgeCount, 4);
 
  243         QCOMPARE(coplanarCount, 300);
 
  256         os << f.
print(
"\nWith a message\n");
 
  257         os << 
"\nPrint header for the same facet\n";
 
  258         os << f.printHeader();
 
  259         os << 
"\nPrint each component\n";
 
  260         os << f.printFlags(
"    - flags:");
 
  262         os << f.printRidges();
 
  266         QString facetString2= QString::fromStdString(os2.str());
 
  267         facetString2.replace(QRegExp(
"\\s\\s+"), 
" ");
 
  269         q.qh()->setOutputStream(&os3);
 
  271         QString facetsString= QString::fromStdString(os3.str());
 
  272         QString facetString3= facetsString.mid(facetsString.indexOf(
"- f1\n"));
 
  273         facetString3= facetString3.left(facetString3.indexOf(
"\n- f")+1);
 
  274         facetString3.replace(QRegExp(
"\\s\\s+"), 
" ");
 
  275         QCOMPARE(facetString2, facetString3);
 
  283 #include "moc/QhullFacet_test.moc"