** This is part of the CTSim program
** Copyright (c) 1983-2001 Kevin Rosenberg
**
-** $Id: docs.h,v 1.18 2001/01/30 07:32:13 kevin Exp $
+** $Id: docs.h,v 1.24 2001/02/23 21:58:31 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
#include "phantom.h"
#include "projections.h"
#include "plotfile.h"
+#include "threadrecon.h"
class ProjectionFileView;
class PhantomFileView;
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);
m_pProjectionFile = new Projections;
}
- virtual ~ProjectionFileDocument ()
- {
- delete m_pProjectionFile;
- }
+ virtual ~ProjectionFileDocument ();
const Projections& getProjections () const { return *m_pProjectionFile; }
Projections& getProjections () { return *m_pProjectionFile; }
ProjectionFileView* getView() const;
bool getBadFileOpen() const { return m_bBadFileOpen; }
void setBadFileOpen() { m_bBadFileOpen = true; }
+
+ void OnAddBackground (wxCommandEvent& event);
+ void OnRemoveBackground (wxCommandEvent& event);
+
+ DECLARE_EVENT_TABLE()
};
};
+#if wxUSE_GLCANVAS
+#include <GL/gl.h>
+#include <GL/glu.h>
+
+typedef GLfloat glTripleFloat[3];
class Graph3dFileDocument: public wxDocument
{
+ friend Graph3dFileView;
+
private:
DECLARE_DYNAMIC_CLASS(Graph3dFileDocument)
- ImageFile* m_pImageFile;
bool m_bBadFileOpen;
+ GLint m_nVertices;
+ glTripleFloat* m_pVertices;
+ glTripleFloat* m_pNormals;
+ unsigned int m_nx;
+ unsigned int m_ny;
+ ImageFileArray m_array;
public:
- Graph3dFileDocument(void)
- : m_bBadFileOpen(false)
- {
- m_pImageFile = new ImageFile;
- }
-
- virtual ~Graph3dFileDocument(void)
- {
- delete m_pImageFile;
- }
-
+ Graph3dFileDocument(void);
+ virtual ~Graph3dFileDocument(void);
+
virtual bool OnSaveDocument (const wxString& filename);
virtual bool OnOpenDocument (const wxString& filename);
virtual bool IsModified () const;
Graph3dFileView* getView() const;
bool getBadFileOpen() const { return m_bBadFileOpen; }
void setBadFileOpen() { m_bBadFileOpen = true; }
- void setImageFile (ImageFile* pImageFile) { delete m_pImageFile; m_pImageFile = pImageFile; }
- ImageFile& getImageFile() { return *m_pImageFile; }
- const ImageFile& getImageFile() const { return *m_pImageFile; }
+ 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