0031445: Advanced wrappers, C# wrapper - provide device info in About dialog of WPF...
[occt.git] / samples / mfc / occtdemo / Common / WNT / OCCDemoView.h
CommitLineData
7fd59977 1// OCCDemoView.h : interface of the COCCDemoView class
2//
3/////////////////////////////////////////////////////////////////////////////
4
5#if !defined(AFX_OCCDEMOVIEW_H__57A6A230_7B4F_11D5_BA4A_0060B0EE18EA__INCLUDED_)
6#define AFX_OCCDEMOVIEW_H__57A6A230_7B4F_11D5_BA4A_0060B0EE18EA__INCLUDED_
7
8#if _MSC_VER > 1000
9#pragma once
10#endif // _MSC_VER > 1000
11
12enum View3D_CurrentAction {
13 CurAction3d_Nothing,
14 CurAction3d_DynamicZooming,
15 CurAction3d_WindowZooming,
16 CurAction3d_DynamicPanning,
17 CurAction3d_GlobalPanning,
18 CurAction3d_DynamicRotation
19};
20
21class COCCDemoView : public CView
22{
23protected: // create from serialization only
24 COCCDemoView();
25 DECLARE_DYNCREATE(COCCDemoView)
26
27// Attributes
28public:
29 COCCDemoDoc* GetDocument();
30
31// Operations
32public:
33 void InitButtons();
34 void Reset();
35 void FitAll() { myView->FitAll(); myView->ZFitAll(); };
ee2be2a8 36 void GetViewCenter(Standard_Real& Xc, Standard_Real& Yc);
37 void SetViewCenter(const Standard_Real Xc, const Standard_Real Yc);
38 void GetViewEye(Standard_Real& X, Standard_Real& Y, Standard_Real& Z);
39 void SetViewEye(const Standard_Real X,const Standard_Real Y,const Standard_Real Z);
40 Standard_Real GetViewScale();
41 void SetViewScale(const Standard_Real Coef);
7fd59977 42
43
44// Overrides
45 // ClassWizard generated virtual function overrides
46 //{{AFX_VIRTUAL(COCCDemoView)
47 public:
48 virtual void OnDraw(CDC* pDC); // overridden to draw this view
49 virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
50 virtual void OnInitialUpdate();
51 protected:
52 //}}AFX_VIRTUAL
53
54// Implementation
55public:
56 virtual ~COCCDemoView();
57#ifdef _DEBUG
58 virtual void AssertValid() const;
59 virtual void Dump(CDumpContext& dc) const;
60#endif
61
62protected:
63
64// Generated message map functions
65protected:
66 //{{AFX_MSG(COCCDemoView)
67 afx_msg void OnBUTTONAxo();
68 afx_msg void OnBUTTONBack();
69 afx_msg void OnBUTTONBottom();
70 afx_msg void OnBUTTONFront();
71 afx_msg void OnBUTTONHlrOn();
72 afx_msg void OnBUTTONLeft();
73 afx_msg void OnBUTTONPan();
74 afx_msg void OnBUTTONPanGlo();
75 afx_msg void OnBUTTONReset();
76 afx_msg void OnBUTTONRight();
77 afx_msg void OnBUTTONRot();
78 afx_msg void OnBUTTONTop();
79 afx_msg void OnBUTTONZoomAll();
80 afx_msg void OnSize(UINT nType, int cx, int cy);
81 afx_msg void OnBUTTONZoomProg();
82 afx_msg void OnBUTTONZoomWin();
83 afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
84 afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
85 afx_msg void OnMouseMove(UINT nFlags, CPoint point);
86 afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
87 afx_msg void OnRButtonUp(UINT nFlags, CPoint point);
88 afx_msg void OnUpdateBUTTONPanGlo(CCmdUI* pCmdUI);
89 afx_msg void OnUpdateBUTTONPan(CCmdUI* pCmdUI);
90 afx_msg void OnUpdateBUTTONZoomProg(CCmdUI* pCmdUI);
91 afx_msg void OnUpdateBUTTONZoomWin(CCmdUI* pCmdUI);
92 afx_msg void OnUpdateBUTTONRot(CCmdUI* pCmdUI);
93 afx_msg void OnBUTTONWire();
94 afx_msg void OnBUTTONShade();
95 afx_msg void OnUpdateBUTTONHlrOn(CCmdUI* pCmdUI);
96 afx_msg void OnUpdateBUTTONShade(CCmdUI* pCmdUI);
97 afx_msg void OnUpdateBUTTONWire(CCmdUI* pCmdUI);
98 //}}AFX_MSG
99 DECLARE_MESSAGE_MAP()
100
101private:
102 void RedrawVisMode();
103
104private:
105 enum VisMode { VIS_WIREFRAME, VIS_SHADE, VIS_HLR };
92efcf78 106 Handle(V3d_View) myView;
107 Handle(Graphic3d_GraphicDriver) myGraphicDriver;
7fd59977 108 View3D_CurrentAction myCurrentMode;
109 VisMode myVisMode;
110 Standard_Integer myXmin;
111 Standard_Integer myYmin;
112 Standard_Integer myXmax;
113 Standard_Integer myYmax;
ee2be2a8 114 Standard_Real myCurZoom;
7fd59977 115
116private:
117 enum LineStyle { Solid, Dot, ShortDash, LongDash, Default };
118 CPen* m_Pen;
119 virtual void DrawRectangle (const Standard_Integer MinX ,
120 const Standard_Integer MinY ,
121 const Standard_Integer MaxX ,
122 const Standard_Integer MaxY ,
123 const Standard_Boolean Draw ,
124 const LineStyle aLineStyle = Default );
125
126};
127
128#ifndef _DEBUG // debug version in OCCDemoView.cpp
129inline COCCDemoDoc* COCCDemoView::GetDocument()
130 { return (COCCDemoDoc*)m_pDocument; }
131#endif
132
133/////////////////////////////////////////////////////////////////////////////
134
135//{{AFX_INSERT_LOCATION}}
136// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
137
138#endif // !defined(AFX_OCCDEMOVIEW_H__57A6A230_7B4F_11D5_BA4A_0060B0EE18EA__INCLUDED_)