r576: no message
[ctsim.git] / src / docs.h
index 9b54e37c53928c81852e0885bb79f9170591b2cb..71ce6e3771eb05de43d1d2912ed5bf6b49aa95bb 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: docs.h,v 1.19 2001/01/30 10:58:13 kevin Exp $
+**  $Id: docs.h,v 1.23 2001/02/23 18:56:56 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
@@ -39,6 +39,7 @@
 #include "phantom.h"
 #include "projections.h"
 #include "plotfile.h"
+#include "threadrecon.h"
 
 class ProjectionFileView;
 class PhantomFileView;
@@ -92,7 +93,11 @@ private:
     DECLARE_DYNAMIC_CLASS(ProjectionFileDocument)
     Projections* m_pProjectionFile;
     bool m_bBadFileOpen;
-
+    typedef BackgroundSupervisor BackgroundObject;
+    typedef std::vector<BackgroundObject*> BackgroundContainer ;
+    BackgroundContainer m_vecpBackgroundSupervisors;
+    wxCriticalSection m_criticalSection;
+    
 public:
     virtual bool OnSaveDocument (const wxString& filename);
     virtual bool OnOpenDocument (const wxString& filename);
@@ -105,10 +110,7 @@ public:
       m_pProjectionFile = new Projections;
     }
 
-    virtual ~ProjectionFileDocument () 
-    {
-      delete m_pProjectionFile;
-    }
+    virtual ~ProjectionFileDocument ();
 
     const Projections& getProjections () const { return *m_pProjectionFile; }
     Projections& getProjections ()     { return *m_pProjectionFile; }
@@ -121,6 +123,14 @@ public:
     ProjectionFileView* getView() const;
     bool getBadFileOpen() const { return m_bBadFileOpen; }
     void setBadFileOpen() { m_bBadFileOpen = true; }
+
+    void OnAddBackground (wxCommandEvent& event);
+    void OnRemoveBackground (wxCommandEvent& event);
+
+    void addReconstructor (BackgroundSupervisor* pRecon);
+    void removeReconstructor (BackgroundSupervisor* pRecon);
+
+    DECLARE_EVENT_TABLE()
 };
 
 
@@ -219,7 +229,7 @@ class TextFileDocument: public wxDocument
 };
 
 
-
+#if wxUSE_GLCANVAS
 #include <GL/gl.h>
 #include <GL/glu.h>
 
@@ -251,6 +261,13 @@ class Graph3dFileDocument: public wxDocument
   bool getBadFileOpen() const { return m_bBadFileOpen; }
   void setBadFileOpen()       { m_bBadFileOpen = true; }
   bool createFromImageFile (const ImageFile& rImageFile);
+
+  int nx() const  { return m_nx; }
+  int ny() const { return m_ny; }
+  ImageFileArray getArray() { return m_array; }
+  ImageFileArrayConst getArray() const { return m_array; }
 };
+#endif // wxUSE_GLCANVAS
+
 
 #endif