** Date Started: Jan 2001
**
** This is part of the CTSim program
-** Copyright (c) 1983-2001 Kevin Rosenberg
-**
-** $Id: graph3dview.h,v 1.6 2001/02/04 22:58:41 kevin Exp $
+** Copyright (c) 1983-2009 Kevin Rosenberg
**
** 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
class Graph3dFileCanvas;
-class Graph3dFileView : public wxView
+class Graph3dFileView : public wxView
{
- friend Graph3dFileCanvas;
+ friend class Graph3dFileCanvas;
private:
- DECLARE_DYNAMIC_CLASS(Graph3dFileView)
+ DECLARE_DYNAMIC_CLASS(Graph3dFileView)
DECLARE_EVENT_TABLE()
-
+
wxMenu* m_pFileMenu;
wxMenu *m_pViewMenu;
wxStatusBar* m_pStatusBar;
+ Graph3dFileCanvas* m_pCanvas;
GLfloat m_dXRotate;
GLfloat m_dYRotate;
GLfloat m_dZRotate;
- bool m_bUseVertexArrays;
bool m_bDoubleBuffer;
bool m_bSmooth;
+ bool m_bWireframe;
bool m_bLighting;
- bool m_bSurface;
bool m_bColor;
+ bool m_bColorScaleMinSet;
+ bool m_bColorScaleMaxSet;
enum {
- DISPLAYLIST_SURFACE = 1,
+ DISPLAYLIST_COLOR = 1,
+ DISPLAYLIST_NO_COLOR = 2,
};
double m_dGraphMin;
double m_dGraphMax;
double m_dColorScaleMin;
double m_dColorScaleMax;
- bool m_bColorScaleMinSet;
- bool m_bColorScaleMaxSet;
-
- void Draw();
- void DrawSurface();
- void CreateDisplayList();
- void InitMaterials();
- void InitGL();
-
- Graph3dFileCanvas* m_pCanvas;
- Graph3dFileCanvas *CreateCanvas (wxFrame* parent);
+ wxGLContext *m_pGLContext;
#if CTSIM_MDI
wxDocMDIChildFrame* m_pFrame;
wxDocChildFrame* CreateChildFrame(wxDocument *doc, wxView *view);
#endif
- wxWindow* getFrameForChild()
+ void Draw();
+ void DrawSurface();
+ void CreateDisplayList();
+ void InitMaterials();
+ void InitGL();
+
+ Graph3dFileCanvas *CreateCanvas (wxFrame* parent);
+
+ wxWindow* getFrameForChild()
#if CTSIM_MDI
{ return theApp->getMainFrame(); }
#else
bool OnClose (bool deleteWindow = true);
void OnProperties (wxCommandEvent& event);
void OnLighting (wxCommandEvent& event);
- void OnSurface (wxCommandEvent& event);
+ void OnWireframe (wxCommandEvent& event);
void OnColor (wxCommandEvent& event);
void OnSmooth (wxCommandEvent& event);
void OnScaleSet (wxCommandEvent& event);
void OnScaleAuto (wxCommandEvent& event);
void OnScaleFull (wxCommandEvent& event);
+ void setInitialClientSize();
+
#if CTSIM_MDI
wxDocMDIChildFrame* getFrame() { return m_pFrame; }
#else
wxDocChildFrame* getFrame() { return m_pFrame; }
#endif
Graph3dFileCanvas* getCanvas() { return m_pCanvas; }
- Graph3dFileDocument* GetDocument()
+ Graph3dFileDocument* GetDocument()
{ return dynamic_cast<Graph3dFileDocument*>(wxView::GetDocument()); }
};
Graph3dFileView* m_pView;
public:
- Graph3dFileCanvas (Graph3dFileView* view, wxWindow *parent, const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize, long style = 0);
+ Graph3dFileCanvas (Graph3dFileView* view, wxWindow *parent,
+ int* attribList,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize, long style = 0);
virtual ~Graph3dFileCanvas();
- virtual void OnDraw(wxDC& dc);
+ void OnPaint(wxPaintEvent& event);
+ virtual wxSize GetBestSize() const;
void OnSize(wxSizeEvent& event);
void OnEraseBackground(wxEraseEvent& event);
void OnChar(wxKeyEvent& event);