X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Fctsim.h;h=e33c05cd2f914f3661b9a1a74c5cff21a6c0c9f9;hb=f692b2d39f56ffbafc04283f32233c098aa2978b;hp=b7954f5fc8c7fce33603bfa2182f1912ae53804c;hpb=dfe03b8fc348b60a8f0b012f3f76c24ad29f21ce;p=ctsim.git diff --git a/src/ctsim.h b/src/ctsim.h index b7954f5..e33c05c 100644 --- a/src/ctsim.h +++ b/src/ctsim.h @@ -7,9 +7,9 @@ ** Date Started: July 2000 ** ** This is part of the CTSim program -** Copyright (C) 1983-2000 Kevin Rosenberg +** Copyright (c) 1983-2001 Kevin Rosenberg ** -** $Id: ctsim.h,v 1.31 2001/01/26 05:37:24 kevin Exp $ +** $Id: ctsim.h,v 1.40 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 @@ -59,6 +59,9 @@ class ProjectionFileDocument; class PhantomFileDocument; class PlotFileDocument; class TextFileDocument; +#if wxUSE_GLCANVAS +class Graph3dFileDocument; +#endif #include #include "wx/docview.h" @@ -84,8 +87,10 @@ private: DECLARE_CLASS(MainFrame) DECLARE_EVENT_TABLE() +#ifndef CTSIM_MDI wxMenu* m_pWindowMenu; - +#endif + enum { MAX_WINDOW_MENUITEMS = 20 }; wxMenuItem* m_apWindowMenuItems[MAX_WINDOW_MENUITEMS]; wxDocument* m_apWindowMenuData[MAX_WINDOW_MENUITEMS]; @@ -100,6 +105,8 @@ private: double m_dDefaultFilterInputScale; double m_dDefaultFilterOutputScale; + bool m_bShuttingDown; + #if CTSIM_WINHELP wxWinHelpController m_winHelp; #endif @@ -107,7 +114,7 @@ private: public: MainFrame(wxDocManager *manager, wxFrame *frame, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, const long type); - ~MainFrame(); + virtual ~MainFrame(); #ifdef CTSIM_CUSTOM_MRU void OnMRUFile (wxCommandEvent& event); @@ -159,6 +166,8 @@ public: void OnWindowMenu19 (wxCommandEvent& event); void DoWindowMenu (int iMenuPosition, wxCommandEvent& event); + + bool getShuttingDown() const { return m_bShuttingDown; } }; @@ -178,6 +187,11 @@ private: wxDocTemplate* m_pDocTemplPhantom; wxDocTemplate* m_pDocTemplPlot; wxDocTemplate* m_pDocTemplText; +#if wxUSE_GLCANVAS + wxDocTemplate* m_pDocTemplGraph3d; +#endif + + TextFileDocument* m_pLogDoc; void usage (const char* program); @@ -201,9 +215,6 @@ public: void getCompatibleImages (const ImageFileDocument* pIFDoc, std::vector& vecIF); - bool getSetModifyNewDocs() const - { return true; } - void setIconForFrame (wxFrame* pFrame); wxConfig* getConfig() { return m_pConfig; } @@ -213,13 +224,19 @@ public: wxDocTemplate* getDocTemplPhantom() { return m_pDocTemplPhantom; } wxDocTemplate* getDocTemplPlot() { return m_pDocTemplPlot; } wxDocTemplate* getDocTemplText() { return m_pDocTemplText; } +#if wxUSE_GLCANVAS + wxDocTemplate* getDocTemplGraph3d() { return m_pDocTemplGraph3d; } +#endif + TextFileDocument* getLogDoc() { return m_pLogDoc; } ProjectionFileDocument* newProjectionDoc(); ImageFileDocument* newImageDoc(); PhantomFileDocument* newPhantomDoc(); PlotFileDocument* newPlotDoc(); TextFileDocument* newTextDoc(); - +#if wxUSE_GLCANVAS + Graph3dFileDocument* newGraph3dDoc(); +#endif }; DECLARE_APP(CTSimApp) @@ -264,7 +281,10 @@ enum { IFMENU_IMAGE_SUBTRACT, IFMENU_IMAGE_MULTIPLY, IFMENU_IMAGE_DIVIDE, - +#if wxUSE_GLCANVAS + IFMENU_IMAGE_CONVERT3D, +#endif + IFMENU_FILTER_INVERTVALUES, IFMENU_FILTER_SQRT, IFMENU_FILTER_SQUARE, @@ -290,6 +310,11 @@ enum { PLOTMENU_VIEW_SCALE_MINMAX, PLOTMENU_VIEW_SCALE_AUTO, PLOTMENU_VIEW_SCALE_FULL, + + GRAPH3D_VIEW_SURFACE, + GRAPH3D_VIEW_COLOR, + GRAPH3D_VIEW_LIGHTING, + GRAPH3D_VIEW_SMOOTH, }; #endif