X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=src%2Fdlgprojections.cpp;h=1d8c5bf6d3af966e433dda9fa7b07245ae5d3320;hp=4971292359e4f9134ee8b5f043f527eaaf5ad87a;hb=23f5654dacb1952c15bda92c2606fae3a55e48ad;hpb=f46d464bb065716c6738c23a4d7e7dbedd0b93b9 diff --git a/src/dlgprojections.cpp b/src/dlgprojections.cpp index 4971292..1d8c5bf 100644 --- a/src/dlgprojections.cpp +++ b/src/dlgprojections.cpp @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: dlgprojections.cpp,v 1.11 2000/12/18 06:32:13 kevin Exp $ +** $Id: dlgprojections.cpp,v 1.16 2001/01/04 21:28:41 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 @@ -68,7 +68,8 @@ IMPLEMENT_CLASS(ProjectionsDialog, wxDialog) ProjectionsDialog::ProjectionsDialog (Scanner& rScanner, Projections& rProj, const Phantom& rPhantom, const int iTrace, wxWindow *parent) -: wxDialog(parent, -1, "Collect Projections", wxDefaultPosition), m_rScanner(rScanner), m_rProjections(rProj), m_rPhantom(rPhantom), m_pSGPDriver(NULL), m_pSGP(NULL), m_iTrace(iTrace), m_pDC(NULL), m_btnAbort(0), m_btnPause(0), m_btnStep(0) +: wxDialog(parent, -1, "Collect Projections", wxDefaultPosition), m_rScanner(rScanner), m_rProjections(rProj), m_rPhantom(rPhantom), + 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; @@ -126,7 +127,7 @@ ProjectionsDialog::ProjectionsDialog (Scanner& rScanner, Projections& rProj, con Show(TRUE); Enable(TRUE); // enable this window - m_bitmap.Create (m_iClientX, m_iClientY); // save a copy of screen + m_bitmap.Create (m_iClientX, m_iClientY); // save a copy of screen m_pDC = dynamic_cast (new wxClientDC (this)); int x, y; this->GetClientSize(&x, &y); @@ -135,7 +136,7 @@ ProjectionsDialog::ProjectionsDialog (Scanner& rScanner, Projections& rProj, con wxYield(); // Update the display - m_pSGPDriver->idWX()->SetFont(*wxSWISS_FONT); + m_pSGP->setTextPointSize(10); #ifdef __WXMAC__ MacUpdateImmediately(); #endif @@ -145,14 +146,16 @@ void ProjectionsDialog::showView (int iViewNumber) { if ( iViewNumber < m_rProjections.nView() ) { - m_iLastView = iViewNumber; - ::wxYield(); // update the display - m_pSGP->eraseWindow(); - Refresh(); + m_iLastView = iViewNumber; + ::wxYield(); // update the display + m_pSGP->eraseWindow(); + m_btnPause->Refresh(); + m_btnStep->Refresh(); + m_btnAbort->Refresh(); if (m_iTrace >= Trace::TRACE_PLOT) m_pSGP->setViewport (0, 0, 0.66, 1); - ::wxYield(); // update the display + ::wxYield(); // update the display m_rScanner.collectProjections (m_rProjections, m_rPhantom, iViewNumber, 1, true, m_iTrace, m_pSGP); ::wxYield(); // update the display if (m_iTrace >= Trace::TRACE_PLOT) { @@ -161,12 +164,13 @@ ProjectionsDialog::showView (int iViewNumber) double* detPos = new double [detArray.nDet()]; for (int i = 0; i < detArray.nDet(); i++) detPos[i] = i; - EZPlot ezplot (*m_pSGP); - ezplot.ezset("grid"); - ezplot.ezset("box"); - ezplot.addCurve (detValues, detPos, detArray.nDet()); + EZPlot ezplot; + ezplot.ezset ("grid"); + ezplot.ezset ("box"); + ezplot.ezset ("yticks left"); + ezplot.addCurve (detValues, detPos, detArray.nDet()); m_pSGP->setViewport (0.67, 0.1, 1., 1.); - ezplot.plot(); + ezplot.plot (m_pSGP); delete detPos; } } @@ -225,12 +229,11 @@ ProjectionsDialog::OnPause (wxCommandEvent& event) } else if (m_state == Continue) { m_memoryDC.SelectObject (m_bitmap); // in memoryDC m_pSGP->setDC (&m_memoryDC); - m_memoryDC.SetFont (*wxSWISS_FONT); showView (m_iLastView); m_state = Paused; m_btnPause->SetLabel (wxString("Resume")); - m_pSGP->setDC (m_pDC); - m_memoryDC.SelectObject(wxNullBitmap); + m_pSGP->setDC (m_pDC); + m_memoryDC.SelectObject(wxNullBitmap); } else if (m_state == Paused) { m_state = Continue; m_btnPause->SetLabel (wxString("Pause")); @@ -245,22 +248,20 @@ ProjectionsDialog::OnStep (wxCommandEvent& event) } else if (m_state == Continue) { m_memoryDC.SelectObject (m_bitmap); // in memoryDC m_pSGP->setDC (&m_memoryDC); - m_memoryDC.SetFont (*wxSWISS_FONT); showView (m_iLastView); // m_rScanner.collectProjections (m_rProjections, m_rPhantom, m_iLastView, 1, true, m_iTrace, m_pSGP); m_state = Paused; m_btnPause->SetLabel (wxString("Resume")); - m_pSGP->setDC (m_pDC); - m_memoryDC.SelectObject(wxNullBitmap); - Refresh(); + m_pSGP->setDC (m_pDC); + m_memoryDC.SelectObject(wxNullBitmap); + Refresh(); } else if (m_state == Paused) { - m_memoryDC.SelectObject (m_bitmap); // in memoryDC - m_pSGP->setDC (&m_memoryDC); - m_memoryDC.SetFont (*wxSWISS_FONT); + m_memoryDC.SelectObject (m_bitmap); // in memoryDC + m_pSGP->setDC (&m_memoryDC); projectView (m_iLastView + 1); - m_pSGP->setDC (m_pDC); - m_memoryDC.SelectObject(wxNullBitmap); - Refresh(); + m_pSGP->setDC (m_pDC); + m_memoryDC.SelectObject(wxNullBitmap); + Refresh(); } } @@ -277,7 +278,7 @@ void ProjectionsDialog::OnClose(wxCloseEvent& event) void ProjectionsDialog::OnPaint (wxPaintEvent& event) { - wxPaintDC paintDC (this); + wxPaintDC paintDC (this); if (m_state == Paused) { paintDC.DrawBitmap (m_bitmap, 0, 0, false); }