X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Fdocs.h;h=e7b681570164faa8a6e8618921a4f206fa4c9c4e;hb=ca7c001fce978b680543f8338a404b8c0701a935;hp=9d09e879ea61c163edb039e2db4f09977c2fa3ff;hpb=cbcb02ba9b76a82c9a09ce1c7712431bb215575a;p=ctsim.git diff --git a/src/docs.h b/src/docs.h index 9d09e87..e7b6815 100644 --- a/src/docs.h +++ b/src/docs.h @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (c) 1983-2001 Kevin Rosenberg ** -** $Id: docs.h,v 1.16 2001/01/30 02:20:50 kevin Exp $ +** $Id: docs.h,v 1.21 2001/02/02 00:46:38 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 @@ -45,31 +45,44 @@ class PhantomFileView; class ImageFileView; class PlotFileView; class TextFileView; +class Graph3dFileView; class ImageFileDocument: public wxDocument { private: DECLARE_DYNAMIC_CLASS(ImageFileDocument) - ImageFile m_imageFile; + ImageFile* m_pImageFile; bool m_bBadFileOpen; public: virtual bool OnSaveDocument (const wxString& filename); virtual bool OnOpenDocument (const wxString& filename); virtual bool IsModified () const; + virtual bool Revert (); virtual void Modify (bool mod); ImageFileDocument () : m_bBadFileOpen(false) - {} - - virtual ~ImageFileDocument () {} - - const ImageFile& getImageFile() const { return m_imageFile; } + { + m_pImageFile = new ImageFile; + } + + virtual ~ImageFileDocument () + { + delete m_pImageFile; + } + + const ImageFile& getImageFile() const { return *m_pImageFile; } + ImageFile& getImageFile() { return *m_pImageFile; } + void setImageFile (ImageFile* pImageFile) + { + delete m_pImageFile; + m_pImageFile = pImageFile; + } - ImageFile& getImageFile() { return m_imageFile; } ImageFileView* getView() const; bool getBadFileOpen() const { return m_bBadFileOpen; } + void setBadFileOpen() { m_bBadFileOpen = true; } }; @@ -77,7 +90,7 @@ class ProjectionFileDocument: public wxDocument { private: DECLARE_DYNAMIC_CLASS(ProjectionFileDocument) - Projections m_projectionFile; + Projections* m_pProjectionFile; bool m_bBadFileOpen; public: @@ -88,15 +101,26 @@ public: ProjectionFileDocument () : m_bBadFileOpen(false) - {} + { + m_pProjectionFile = new Projections; + } + + virtual ~ProjectionFileDocument () + { + delete m_pProjectionFile; + } - virtual ~ProjectionFileDocument () {} + const Projections& getProjections () const { return *m_pProjectionFile; } + Projections& getProjections () { return *m_pProjectionFile; } - const Projections& getProjections () const { return m_projectionFile; } - Projections& getProjections () { return m_projectionFile; } + void setProjections (Projections* pProjections) + { delete m_pProjectionFile; + m_pProjectionFile = pProjections; + } ProjectionFileView* getView() const; bool getBadFileOpen() const { return m_bBadFileOpen; } + void setBadFileOpen() { m_bBadFileOpen = true; } }; @@ -131,6 +155,7 @@ public: virtual void Modify (bool mod); PhantomFileView* getView() const; bool getBadFileOpen() const { return m_bBadFileOpen; } + void setBadFileOpen() { m_bBadFileOpen = true; } }; @@ -165,6 +190,7 @@ public: virtual void Modify (bool mod); PlotFileView* getView() const; bool getBadFileOpen() const { return m_bBadFileOpen; } + void setBadFileOpen() { m_bBadFileOpen = true; } }; @@ -189,7 +215,49 @@ class TextFileDocument: public wxDocument TextFileView* getView() const; bool getBadFileOpen() const { return m_bBadFileOpen; } + void setBadFileOpen() { m_bBadFileOpen = true; } +}; + + +#if wxUSE_GLCANVAS +#include +#include + +typedef GLfloat glTripleFloat[3]; + +class Graph3dFileDocument: public wxDocument +{ + friend Graph3dFileView; + + private: + DECLARE_DYNAMIC_CLASS(Graph3dFileDocument) + 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); + 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; } + 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