if (dFabs(ccyl.getPointDepth (a) - r) >= tol)
if (testFAILED()) return false;
beta = dRandReal()-0.5;
for (j=0; j<3; j++) a.set(j, p.get(j) + x*R.get(j,0) + y*R.get(j,1) + l*beta*R.get(j,2) );
if (dFabs(ccyl.getPointDepth (a)) >= tol) if (testFAILED()) return false;
for (j=0; j<3; j++) a.set(j, p.get(j) + a.get(j)*r - l*0.5*R.get(j,2) );
if (dFabs(ccyl.getPointDepth (a)) >= tol) if (testFAILED()) return false;
beta = dRandReal()-0.5;
for (j=0; j<3; j++) a.set(j, p.get(j) + a.get(j)*r*0.99 + l*beta*R.get(j,2) );
if (ccyl.getPointDepth (a) < 0) if (testFAILED()) return false;
beta = dRandReal()-0.5;
for (j=0; j<3; j++) a.set(j, p.get(j) + x*R.get(j,0) + y*R.get(j,1) + l*beta*R.get(j,2) );
if (dFabs(ccyl.getPointDepth (a) - d) >= tol)
if (testFAILED()) return false;
for (j=0; j<3; j++) a.set(j, p.get(j) + a.get(j)*(r-d) - l*0.5*R.get(j,2) );
if (dFabs(ccyl.getPointDepth (a) - d) >= tol)
if (testFAILED()) return false;