00001 // 3dvisView.h : interface of the CMy3dvisView class 00002 // 00004 00005 #if !defined(AFX_3DVISVIEW_H__0796859D_1D28_411A_B285_7866E7BD47E3__INCLUDED_) 00006 #define AFX_3DVISVIEW_H__0796859D_1D28_411A_B285_7866E7BD47E3__INCLUDED_ 00007 00008 #if _MSC_VER > 1000 00009 #pragma once 00010 #endif // _MSC_VER > 1000 00011 00012 00013 00014 #include "data.h" 00015 #include "slice.h" 00016 #include "raycaster.h" 00017 extern Data *data3D; 00018 extern Slice *slice; 00019 extern Raycaster *raycaster; 00020 00021 00022 00023 class CMy3dvisView : public CView 00024 { 00025 00026 UINT m_nTimerID; 00027 00028 BOOL SetupWindow(); 00029 BOOL SetupPixelFormat(); 00030 00031 int m_width; 00032 int m_height; 00033 00034 00035 protected: // create from serialization only 00036 CMy3dvisView(); 00037 DECLARE_DYNCREATE(CMy3dvisView) 00038 00039 // Attributes 00040 public: 00041 CMy3dvisDoc* GetDocument(); 00042 00043 // Operations 00044 public: 00045 00046 00047 HGLRC m_hRC; 00048 CDC *m_pDC; 00049 00050 BOOL InitGL(); 00051 00052 void RenderScene(); 00053 00054 00055 bool m_bRendermode; 00056 00057 00058 // Overrides 00059 // ClassWizard generated virtual function overrides 00060 //{{AFX_VIRTUAL(CMy3dvisView) 00061 public: 00062 virtual void OnDraw(CDC* pDC); // overridden to draw this view 00063 virtual BOOL PreCreateWindow(CREATESTRUCT& cs); 00064 protected: 00065 //}}AFX_VIRTUAL 00066 00067 // Implementation 00068 public: 00069 virtual ~CMy3dvisView(); 00070 #ifdef _DEBUG 00071 virtual void AssertValid() const; 00072 virtual void Dump(CDumpContext& dc) const; 00073 #endif 00074 00075 protected: 00076 00077 // Generated message map functions 00078 protected: 00079 //{{AFX_MSG(CMy3dvisView) 00080 afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); 00081 afx_msg void OnSize(UINT nType, int cx, int cy); 00082 afx_msg void OnDestroy(); 00083 afx_msg void OnTimer(UINT nIDEvent); 00084 afx_msg void OnFileSaveImage(); 00085 afx_msg void OnRenderVolume(); 00086 //}}AFX_MSG 00087 DECLARE_MESSAGE_MAP() 00088 }; 00089 00090 #ifndef _DEBUG // debug version in 3dvisView.cpp 00091 inline CMy3dvisDoc* CMy3dvisView::GetDocument() 00092 { return (CMy3dvisDoc*)m_pDocument; } 00093 #endif 00094 00096 00097 //{{AFX_INSERT_LOCATION}} 00098 // Microsoft Visual C++ will insert additional declarations immediately before the previous line. 00099 00100 #endif // !defined(AFX_3DVISVIEW_H__0796859D_1D28_411A_B285_7866E7BD47E3__INCLUDED_)