Applied initial patches for wx2.8 compatibility
[ctsim.git] / src / threadproj.h
index 02afffde2225af8e4e4486d33bd350ce6f5ac156..b3e048e0ac84682ad0dda77f275d64a7b4b55fb7 100644 (file)
@@ -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 <vector>
 #include <wx/thread.h>
 #include <wx/progdlg.h>
@@ -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<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);
 
@@ -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_
+