** This is part of the CTSim program
** Copyright (c) 1983-2001 Kevin Rosenberg
**
-** $Id: graph3dview.h,v 1.4 2001/02/02 23:04:06 kevin Exp $
+** $Id$
**
** 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
{
- friend Graph3dFileCanvas;
+ friend class Graph3dFileCanvas;
private:
DECLARE_DYNAMIC_CLASS(Graph3dFileView)
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_bUseVertexArrays;
+ bool m_bColorScaleMinSet;
+ bool m_bColorScaleMaxSet;
+ enum {
+ DISPLAYLIST_COLOR = 1,
+ DISPLAYLIST_NO_COLOR = 2,
+ };
+
+ double m_dGraphMin;
+ double m_dGraphMax;
+ double m_dColorScaleMin;
+ double m_dColorScaleMax;
void Draw();
void DrawSurface();
+ void CreateDisplayList();
void InitMaterials();
void InitGL();
- Graph3dFileCanvas* m_pCanvas;
Graph3dFileCanvas *CreateCanvas (wxFrame* parent);
#if CTSIM_MDI
{ return m_pFrame; }
#endif
+ void intensityToColor (double dIntensity, GLfloat* vecColor);
+
public:
Graph3dFileView();
virtual ~Graph3dFileView();
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; }
public:
Graph3dFileCanvas (Graph3dFileView* view, wxWindow *parent, const wxPoint& pos = wxDefaultPosition,
- const wxSize& size = wxDefaultSize, long style = 0, int* gl_attrib = NULL);
+ 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);