X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=src%2Fthreadproj.h;h=b3e048e0ac84682ad0dda77f275d64a7b4b55fb7;hp=02afffde2225af8e4e4486d33bd350ce6f5ac156;hb=f7ee98f7d964ed361068179f0e7ea4475ed1abdf;hpb=df521cfe14a9e0b47bdcd98d1f67d03acf242162 diff --git a/src/threadproj.h b/src/threadproj.h index 02afffd..b3e048e 100644 --- a/src/threadproj.h +++ b/src/threadproj.h @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2001 Kevin Rosenberg ** -** $Id: threadproj.h,v 1.1 2001/02/25 10:52:55 kevin Exp $ +** $Id$ ** ** 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 @@ -28,6 +28,8 @@ #ifndef _THREADPROJ_H #define _THREADPROJ_H +#ifdef HAVE_WXTHREADS + #include #include #include @@ -46,18 +48,20 @@ private: PhantomFileView* m_pPhantomView; const int m_iNDet; const int m_iNView; + const int m_iOffsetView; const std::string m_strGeometry; const int m_iNSample; const double m_dRotation; const double m_dFocalLength; + const double m_dCenterDetectorLength; const double m_dViewRatio; const double m_dScanRatio; - const std::string m_strLabel; + const wxString m_strLabel; public: - ProjectorSupervisorThread(PhantomFileView* pProjView, int iNDet, int iNView, - const char* pszGeometry, int iNSample, double dRotation, double dFocalLength, double dViewRatio, - double dScanRatio, const char* const pszLabel); + ProjectorSupervisorThread(PhantomFileView* pProjView, int iNDet, int iNView, int iOffsetView, + const char* pszGeometry, int iNSample, double dRotation, double dFocalLength, double dCenterDetectorLength, + double dViewRatio, double dScanRatio, wxChar const* strLabel); virtual wxThread::ExitCode Entry(); @@ -70,24 +74,27 @@ class ProjectorSupervisor : public BackgroundSupervisor { private: std::vector m_vecpChildProjections; - PhantomFileDocument* m_pPhantomDoc; PhantomFileView* m_pPhantomView; - + PhantomFileDocument* m_pPhantomDoc; + Scanner* m_pScanner; + const int m_iNDet; const int m_iNView; + const int m_iOffsetView; const char* const m_pszGeometry; const int m_iNSample; const double m_dRotation; const double m_dFocalLength; + const double m_dCenterDetectorLength; const double m_dViewRatio; const double m_dScanRatio; - const char* const m_pszLabel; + const wxString m_strLabel; public: - ProjectorSupervisor (PhantomFileView* pProjView, int iNDet, int iNView, - const char* pszGeometry, int iNSample, double dRotation, double dFocalLength, double dViewRatio, - double dScanRatio, const char* const pszLabel); + ProjectorSupervisor (SupervisorThread* pThread, PhantomFileView* pProjView, int iNDet, int iNView, int iOffsetView, + const char* pszGeometry, int iNSample, double dRotation, double dFocalLength, double dCenterDetectorLength, + double dViewRatio, double dScanRatio, wxChar const* pszLabel); virtual BackgroundWorkerThread* createWorker (int iThread, int iStartUnit, int iNumUnits); @@ -106,24 +113,28 @@ class ProjectorWorker : public BackgroundWorkerThread { private: PhantomFileView* m_pPhantomView; Projections* m_pProjections; + Scanner* m_pScanner; int m_iNDet; int m_iNView; + int m_iOffsetView; const char* m_pszGeometry; int m_iNSample; double m_dRotation; double m_dFocalLength; + double m_dCenterDetectorLength; double m_dViewRatio; double m_dScanRatio; public: - ProjectorWorker (ProjectorSupervisor* pSupervisor, int iThread, int iStartView, int iNumViews) + ProjectorWorker (ProjectorSupervisor* pSupervisor, int iThread, int iStartView, int iNumViews) : BackgroundWorkerThread (pSupervisor, iThread, iStartView, iNumViews) {} - - void SetParameters (PhantomFileView* pPhantomFile, Projections* pProjections, int iNDet, int iView, - const char* const pszGeometry, int iNSample, double dRotation, double dFocalLength, double dViewRatio, - double dScanRatio); + + void SetParameters (PhantomFileView* pPhantomFile, Projections* pProjections, Scanner* pScanner, + int iNDet, int iView, int iOffsetView, + const char* const pszGeometry, int iNSample, double dRotation, double dFocalLength, double dCenterDetectorLength, + double dViewRatio, double dScanRatio); virtual wxThread::ExitCode Entry(); // thread execution starts here @@ -131,5 +142,6 @@ public: }; -#endif - +#endif // HAVE_WXTHREADS +#endif // _THREADPROJ_H_ +