17 #ifdef _MSC_VER  // Microsoft Visual C++ -- warning level 4 
   18 #pragma warning( disable : 4611)  // interaction between '_setjmp' and C++ object destruction is non-portable 
   19 #pragma warning( disable : 4996)  // function was declared deprecated(strcpy, localtime, etc.) 
   26 s_empty_ridge= {0,0,0,0,0,
 
   32 : qh_ridge(&s_empty_ridge)
 
   38 : qh_ridge(
r ? 
r : &s_empty_ridge)
 
   71             throw QhullError(10030, 
"Qhull error nextRidge3d:  missing next ridge for facet %d ridge %d.  Does facet contain ridge?", f.
id(), 
id());
 
   98 operator<<(ostream &os, 
const QhullRidge::PrintRidge &pr)
 
  100     if(*pr.print_message){
 
  101         os << pr.print_message << 
" ";
 
  107     if(
r.getRidgeT()->tested){
 
  110     if(
r.getRidgeT()->nonconvex){
 
  114     os << 
r.vertices().print(
"           vertices:");
 
  115     if(
r.getRidgeT()->top && 
r.getRidgeT()->bottom){
 
  116         os << 
"           between f" << 
r.topFacet().id() << 
" and f" << 
r.bottomFacet().id() << endl;
 
  117     }
else if(
r.getRidgeT()->top){
 
  118         os << 
"           top f" << 
r.topFacet().id() << endl;
 
  119     }
else if(
r.getRidgeT()->bottom){
 
  120         os << 
"           bottom f" << 
r.bottomFacet().id() << endl;