X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=src%2Fthreadproj.cpp;h=8384defe2138133f8e36e4c614b4da52689efb6b;hp=57f08b8d710c5595378309fe0c622f0858715bc5;hb=1a050c98763fbbc0662731b0b76953acede6f5d7;hpb=8a7697ce57b56cdc43698cd1241ad98d49f9b5ac diff --git a/src/threadproj.cpp b/src/threadproj.cpp index 57f08b8..8384def 100644 --- a/src/threadproj.cpp +++ b/src/threadproj.cpp @@ -57,7 +57,7 @@ ProjectorSupervisorThread::ProjectorSupervisorThread (PhantomFileView* pProjView, int iNDet, int iNView, int iOffsetView, const char* pszGeometry, int iNSample, double dRotation, double dFocalLength, double dCenterDetectorLength, double dViewRatio, double dScanRatio, const char* const pszLabel) -: SupervisorThread(), m_pPhantomView(pProjView), m_iNDet(iNDet), m_iNView(iNView), m_iOffsetView(iOffsetView), m_strGeometry(pszGeometry), +: SupervisorThread(), m_pPhantomView(pProjView), m_iNDet(iNDet), m_iNView(iNView), m_iOffsetView(iOffsetView), m_strGeometry(pszGeometry), m_iNSample(iNSample), m_dRotation(dRotation), m_dFocalLength(dFocalLength), m_dCenterDetectorLength(dCenterDetectorLength), m_dViewRatio(dViewRatio), m_dScanRatio(dScanRatio), m_strLabel(pszLabel) { @@ -66,7 +66,7 @@ ProjectorSupervisorThread::ProjectorSupervisorThread (PhantomFileView* pProjView wxThread::ExitCode ProjectorSupervisorThread::Entry() { - ProjectorSupervisor projSupervisor (this, m_pPhantomView, m_iNDet, m_iNView, m_iOffsetView, + ProjectorSupervisor projSupervisor (this, m_pPhantomView, m_iNDet, m_iNView, m_iOffsetView, m_strGeometry.c_str(), m_iNSample, m_dRotation, m_dFocalLength, m_dCenterDetectorLength, m_dViewRatio, m_dScanRatio, m_strLabel.c_str()); projSupervisor.start(); @@ -84,7 +84,7 @@ ProjectorSupervisorThread::Entry() } if (! projSupervisor.cancelled()) - projSupervisor.onDone(); + projSupervisor.onDone(); projSupervisor.deleteWorkers(); return static_cast(0); @@ -102,13 +102,13 @@ ProjectorSupervisorThread::OnExit() // ///////////////////////////////////////////////////////////////////// -ProjectorSupervisor::ProjectorSupervisor (SupervisorThread* pThread, PhantomFileView* pPhantomView, int iNDet, int iNView, int iOffsetView, +ProjectorSupervisor::ProjectorSupervisor (SupervisorThread* pThread, PhantomFileView* pPhantomView, int iNDet, int iNView, int iOffsetView, const char* pszGeometry, int iNSample, double dRotation, double dFocalLength, double dCenterDetectorLength, double dViewRatio, double dScanRatio, const char* const pszLabel) : BackgroundSupervisor (pThread, pPhantomView->GetFrame(), pPhantomView->GetDocument(), "Projecting", iNView), - m_pPhantomView(pPhantomView), m_pPhantomDoc(pPhantomView->GetDocument()), - m_iNDet(iNDet), m_iNView(iNView), m_iOffsetView(iOffsetView), m_pszGeometry(pszGeometry), m_iNSample(iNSample), - m_dRotation(dRotation), m_dFocalLength(dFocalLength), m_dCenterDetectorLength(dCenterDetectorLength), + m_pPhantomView(pPhantomView), m_pPhantomDoc(pPhantomView->GetDocument()), + m_iNDet(iNDet), m_iNView(iNView), m_iOffsetView(iOffsetView), m_pszGeometry(pszGeometry), m_iNSample(iNSample), + m_dRotation(dRotation), m_dFocalLength(dFocalLength), m_dCenterDetectorLength(dCenterDetectorLength), m_dViewRatio(dViewRatio), m_dScanRatio(dScanRatio), m_pszLabel(pszLabel) { m_pScanner = new Scanner (m_pPhantomDoc->getPhantom(), m_pszGeometry, m_iNDet, @@ -116,7 +116,7 @@ ProjectorSupervisor::ProjectorSupervisor (SupervisorThread* pThread, PhantomFile m_vecpChildProjections.reserve (getNumWorkers()); for (int iThread = 0; iThread < getNumWorkers(); iThread++) { - m_vecpChildProjections[iThread] = new Projections (*m_pScanner); + m_vecpChildProjections[iThread] = new Projections (*m_pScanner); } @@ -138,7 +138,7 @@ ProjectorSupervisor::createWorker (int iThread, int iStartUnit, int iNumUnits) { ProjectorWorker* pThread = new ProjectorWorker (this, iThread, iStartUnit, iNumUnits); m_vecpChildProjections[iThread]->setNView (iNumUnits); - pThread->SetParameters (m_pPhantomView, m_vecpChildProjections[iThread], m_pScanner, m_iNDet, m_iNView, m_iOffsetView, + pThread->SetParameters (m_pPhantomView, m_vecpChildProjections[iThread], m_pScanner, m_iNDet, m_iNView, m_iOffsetView, m_pszGeometry, m_iNSample, m_dRotation, m_dFocalLength, m_dCenterDetectorLength, m_dViewRatio, m_dScanRatio); return pThread; @@ -163,7 +163,7 @@ ProjectorSupervisor::onDone() wxCommandEvent newProjEvent (wxEVT_COMMAND_MENU_SELECTED, NEW_PROJECTIONFILE_EVENT); newProjEvent.SetClientData (pProjections); wxPostEvent (theApp->getMainFrame(), newProjEvent); - + setDone(); } @@ -198,7 +198,7 @@ ProjectorSupervisor::getProjections() void ProjectorWorker::SetParameters (PhantomFileView* pPhantomView, Projections* pProjections, Scanner* pScanner, - int iNDet, int iView, int iOffsetView, + int iNDet, int iView, int iOffsetView, const char* pszGeometry, int iNSample, double dRotation, double dFocalLength, double dCenterDetectorLength, double dViewRatio, double dScanRatio) { @@ -221,7 +221,7 @@ ProjectorWorker::Entry () std::string failMsg; if (bFail) { failMsg = "Unable to make Projector: "; - failMsg += m_pScanner->failMessage().c_str(); + failMsg += m_pScanner->failMessage().c_str(); wxCommandEvent event( wxEVT_COMMAND_MENU_SELECTED, MAINMENU_LOG_EVENT ); event.SetString( failMsg.c_str() ); wxPostEvent( theApp->getMainFrame(), event ); @@ -234,15 +234,15 @@ ProjectorWorker::Entry () #ifdef DEBUG if (theApp->getVerboseLogging()) { wxString msg; - msg.Printf("Worker thread: Received destroy message at work unit #%d\n", iUnit); + msg.Printf("Worker thread: Received destroy message at work unit #%d\n", iUnit); wxCommandEvent event( wxEVT_COMMAND_MENU_SELECTED, MAINMENU_LOG_EVENT ); event.SetString( msg ); - wxPostEvent( theApp->getMainFrame(), event ); + wxPostEvent( theApp->getMainFrame(), event ); } #endif break; } - m_pScanner->collectProjections (*m_pProjections, rPhantom, iUnit + m_iStartUnit, 1, + m_pScanner->collectProjections (*m_pProjections, rPhantom, iUnit + m_iStartUnit, 1, m_iOffsetView, iUnit, Trace::TRACE_NONE); m_pSupervisor->onWorkerUnitTick(); }