r468: Fixed shutdown error (i hope!)
[ctsim.git] / src / dlgreconstruct.cpp
index d0be191674e6315011cdd02a9058bc22c91c39c5..1c467c1728977f3f176df27a546b68b487398c72 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: dlgreconstruct.cpp,v 1.15 2001/01/28 19:10:18 kevin Exp $
+**  $Id: dlgreconstruct.cpp,v 1.16 2001/01/29 23:11:32 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
@@ -74,8 +74,11 @@ END_EVENT_TABLE()
 IMPLEMENT_CLASS(ReconstructDialog, wxDialog)
 
 
-ReconstructDialog::ReconstructDialog (Reconstructor& rReconstruct, const Projections& rProj, ImageFile& rIF, const int iTrace, wxWindow *parent)
-: wxDialog(parent, -1, "Reconstruction", wxDefaultPosition), m_rReconstructor(rReconstruct), m_rProjections(rProj), m_rImageFile(rIF), m_pSGPDriver(NULL), m_pSGP(NULL), m_iTrace(iTrace), m_pDC(NULL), m_btnAbort(0), m_btnPause(0), m_btnStep(0)
+ReconstructDialog::ReconstructDialog (Reconstructor& rReconstruct, const Projections& rProj, 
+                                      ImageFile& rIF, const int iTrace, wxWindow *parent)
+: wxDialog(parent, -1, "Reconstruction", wxDefaultPosition), m_rReconstructor(rReconstruct), 
+           m_rProjections(rProj), m_rImageFile(rIF), m_pSGPDriver(NULL), m_pSGP(NULL), 
+  m_iTrace(iTrace), m_pDC(NULL), m_btnAbort(0), m_btnPause(0), m_btnStep(0)
 {
     m_state = Continue;
     m_iLastView = -1;
@@ -118,10 +121,10 @@ ReconstructDialog::ReconstructDialog (Reconstructor& rReconstruct, const Project
     wxSize sizeDlg (m_nxGraph, m_nyGraph);
     m_nxImage = m_rImageFile.nx();
     if (m_nxImage > MAX_IMAGE_X)
-               m_nxImage = MAX_IMAGE_X;
+                  m_nxImage = MAX_IMAGE_X;
     m_nyImage = m_rImageFile.ny();
     if (m_nyImage > MAX_IMAGE_Y)
-               m_nyImage = MAX_IMAGE_Y;
+                  m_nyImage = MAX_IMAGE_Y;
        
     sizeDlg.x += m_nxImage;
     sizeDlg.y = max (sizeDlg.y, m_nyImage);
@@ -172,8 +175,11 @@ ReconstructDialog::showView (int iViewNumber, bool bBackprojectView)
                m_pSGP->drawText (szProgress);
                m_pSGP->setTextSize (dCharHeight);
                
-               // m_pSGP->setViewport (0.0, 0.1, 0.66, 1.); // viewport equiv now done in subroutine
-               m_rReconstructor.reconstructView (iViewNumber, 1, m_pSGP, bBackprojectView);
+    int iXDialog, iYDialog;
+    GetClientSize (&iXDialog, &iYDialog);
+    double dGraphWidth = (iXDialog - m_nxImage) / static_cast<double>(iXDialog);
+
+               m_rReconstructor.reconstructView (iViewNumber, 1, m_pSGP, bBackprojectView, dGraphWidth);
                
                ImageFileArrayConst v = m_rImageFile.getArray();
                int xBase = m_nxGraph;