r309: plotfile changes
[ctsim.git] / libctsim / scanner.cpp
index 7d95afd642506bb5eac5f031c69a56fabc6c1b36..c593b0937ca9caa9f80f58e9456c7440d9b3cf42 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (C) 1983-2000 Kevin Rosenberg
 **
-**  $Id: scanner.cpp,v 1.14 2000/09/02 05:10:39 kevin Exp $
+**  $Id: scanner.cpp,v 1.22 2000/12/18 06:32:13 kevin Exp $
 **
 **  This program is free software; you can redistribute it and/or modify
 **  it under the terms of the GNU General Public License (version 2) as
@@ -302,8 +302,7 @@ Scanner::collectProjections (Projections& proj, const Phantom& phm, const int iS
 #ifdef HAVE_SGP 
   if (pSGP && m_trace >= Trace::TRACE_PHANTOM) {
       m_pSGP = pSGP;
-      m_pSGP->eraseWindow();
-      double dWindowSize = max(m_detLen, m_dFocalLength * 2) * SQRT2;
+      double dWindowSize = dmax (m_detLen, m_dFocalLength * 2) * SQRT2;
       double dHalfWindowSize = dWindowSize / 2;
       m_dXMinWin = m_dXCenter - dHalfWindowSize;
       m_dXMaxWin = m_dXCenter + dHalfWindowSize;
@@ -311,7 +310,6 @@ Scanner::collectProjections (Projections& proj, const Phantom& phm, const int iS
       m_dYMaxWin = m_dYCenter + dHalfWindowSize;
       double dHalfPhmLen = m_phmLen /  2;
 
-    m_pSGP->eraseWindow ();
     m_pSGP->setWindow (m_dXMinWin, m_dYMinWin, m_dXMaxWin, m_dYMaxWin);
     m_pSGP->setRasterOp (RO_COPY);
     m_pSGP->setColor (C_RED);
@@ -361,10 +359,12 @@ Scanner::collectProjections (Projections& proj, const Phantom& phm, const int iS
       }
       m_pSGP->setPenWidth (1);
     }
-    if (m_trace >= Trace::TRACE_CONSOLE)
+    if (m_trace > Trace::TRACE_CONSOLE)
       traceShowParam ("Current View:", "%d (%.0f%%)", PROJECTION_TRACE_ROW_CURR_VIEW, C_RED, iView + iStartView, (iView + iStartView) / static_cast<double>(m_nView) * 100.);
 #endif
-           
+    if (m_trace == Trace::TRACE_CONSOLE)
+               std::cout << "Current View: " << iView+iStartView << std::endl;
+
     projectSingleView (phm, detArray, xd1, yd1, xd2, yd2, xs1, ys1, xs2, ys2, viewAngle + 3 * HALFPI);
     detArray.setViewAngle (viewAngle);
       
@@ -504,7 +504,11 @@ Scanner::traceShowParam (const char *szLabel, const char *fmt, int row, int colo
 {  
   va_list arg;
   va_start(arg, color);
+#ifdef HAVE_SGP
   traceShowParamRasterOp (RO_COPY, szLabel, fmt, row, color, arg);
+#else
+  traceShowParamRasterOp (0, szLabel, fmt, row, color, arg);
+#endif  
   va_end(arg);
 }
 
@@ -513,7 +517,11 @@ Scanner::traceShowParamXOR (const char *szLabel, const char *fmt, int row, int c
 {  
   va_list arg;
   va_start(arg, color);
+#ifdef HAVE_SGP
   traceShowParamRasterOp (RO_XOR, szLabel, fmt, row, color, arg);
+#else
+  traceShowParamRasterOp (0, szLabel, fmt, row, color, arg);
+#endif
   va_end(arg);
 }
 
@@ -524,10 +532,7 @@ Scanner::traceShowParamRasterOp (int iRasterOp, const char *szLabel, const char
 
   vsnprintf (szValue, sizeof(szValue), fmt, args);
 
-  //  cio_set_cpos (raysum_trace_menu_column, row);
-  //  cio_set_text_clr (color - 8, 0);
-  //  cio_set_text_clr (color, 0);
-
+#ifdef HAVE_SGP
   if (m_pSGP) {
     m_pSGP->setRasterOp (iRasterOp);
     double dYPos = m_dYMaxWin - (row * m_dTextHeight);
@@ -537,11 +542,13 @@ Scanner::traceShowParamRasterOp (int iRasterOp, const char *szLabel, const char
     double dValueOffset = (m_dXMaxWin - m_dXMinWin) / 4;
     m_pSGP->moveAbs (m_dXMinWin + dValueOffset, dYPos);
     m_pSGP->drawText (szValue);
-  } else {
-    cio_put_str (szLabel);
-    cio_put_str (szValue);
-    cio_put_str ("\n");
-  }
+  } else 
+#endif
+    {
+      cio_put_str (szLabel);
+      cio_put_str (szValue);
+      cio_put_str ("\n");
+    }
 }