X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Fgraph3dview.h;h=bcd40ca3580a1201c32d77249a37feda130826a9;hb=f68afdf6eee93eb1080b6f85a2bb66610cfff5be;hp=1cb68cf48d8d341ba94ee485728ca1e793087c25;hpb=f692b2d39f56ffbafc04283f32233c098aa2978b;p=ctsim.git diff --git a/src/graph3dview.h b/src/graph3dview.h index 1cb68cf..bcd40ca 100644 --- a/src/graph3dview.h +++ b/src/graph3dview.h @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (c) 1983-2001 Kevin Rosenberg ** -** $Id: graph3dview.h,v 1.3 2001/02/02 00:46:38 kevin Exp $ +** $Id: graph3dview.h,v 1.10 2002/06/02 19:01:58 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 @@ -39,7 +39,7 @@ class Graph3dFileCanvas; class Graph3dFileView : public wxView { - friend Graph3dFileCanvas; + friend class Graph3dFileCanvas; private: DECLARE_DYNAMIC_CLASS(Graph3dFileView) @@ -47,7 +47,7 @@ private: wxMenu* m_pFileMenu; wxMenu *m_pViewMenu; - wxStatusBar m_statusBar; + wxStatusBar* m_pStatusBar; GLfloat m_dXRotate; GLfloat m_dYRotate; @@ -56,11 +56,23 @@ private: bool m_bDoubleBuffer; bool m_bSmooth; bool m_bLighting; - bool m_bSurface; + bool m_bWireframe; bool m_bColor; + enum { + 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(); @@ -82,6 +94,8 @@ private: { return m_pFrame; } #endif + void intensityToColor (double dIntensity, GLfloat* vecColor); + public: Graph3dFileView(); virtual ~Graph3dFileView(); @@ -94,10 +108,13 @@ public: 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); + #if CTSIM_MDI wxDocMDIChildFrame* getFrame() { return m_pFrame; } #else @@ -119,10 +136,11 @@ private: 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); + virtual wxSize GetBestSize() const; void OnSize(wxSizeEvent& event); void OnEraseBackground(wxEraseEvent& event); void OnChar(wxKeyEvent& event);