** Date Started: February 2001
**
** 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 $
+** Copyright (C) 1983-2009 Kevin Rosenberg
**
** 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
#ifndef _THREADPROJ_H
#define _THREADPROJ_H
+#ifdef HAVE_WXTHREADS
+
#include <vector>
#include <wx/thread.h>
#include <wx/progdlg.h>
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();
private:
std::vector<Projections*> 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);
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
};
-#endif
-
+#endif // HAVE_WXTHREADS
+#endif // _THREADPROJ_H_
+