0029589: Configuration - allow MFC samples to be built when OCCT is linked statically
[occt.git] / samples / mfc / standard / Common / OCC_3dBaseDoc.h
1 // OCC_3dBaseDoc.h: interface for the OCC_3dBaseDoc class.
2 //
3 //////////////////////////////////////////////////////////////////////
4
5 #if !defined(AFX_OCC_3DBASEDOC_H__02CE7BD9_39BE_11D7_8611_0060B0EE281E__INCLUDED_)
6 #define AFX_OCC_3DBASEDOC_H__02CE7BD9_39BE_11D7_8611_0060B0EE281E__INCLUDED_
7
8 #if _MSC_VER > 1000
9 #pragma once
10 #endif // _MSC_VER > 1000
11
12 #include "OCC_BaseDoc.h"
13 #include "DimensionDlg.h"
14 #include <Standard_Macro.hxx>
15
16 class Standard_EXPORT OCC_3dBaseDoc : public OCC_BaseDoc
17 {
18 public:
19
20   OCC_3dBaseDoc();
21   ~OCC_3dBaseDoc();
22
23   void SetMaterial(Graphic3d_NameOfMaterial Material);
24
25
26   virtual void DragEvent (const Standard_Integer theMouseX,
27                           const Standard_Integer theMouseY,
28                           const Standard_Integer theState,
29                           const Handle(V3d_View)& theView);
30
31   virtual void InputEvent (const Standard_Integer theMouseX,
32                            const Standard_Integer theMouseY,
33                            const Handle(V3d_View)& theView);
34
35   virtual void MoveEvent (const Standard_Integer theMouseX,
36                           const Standard_Integer theMouseY,
37                           const Handle(V3d_View)& theView);
38
39   virtual void ShiftMoveEvent (const Standard_Integer theMouseX,
40                                const Standard_Integer theMouseY,
41                                const Handle(V3d_View)& theView);
42
43   virtual void ShiftDragEvent (const Standard_Integer theMouseX,
44                                const Standard_Integer theMouseY,
45                                const Standard_Integer theState,
46                                const Handle(V3d_View)& theView);
47
48   virtual void ShiftInputEvent (const Standard_Integer theMouseX,
49                                 const Standard_Integer theMouseY,
50                                 const Handle(V3d_View)& theView);
51
52   virtual void Popup (const Standard_Integer theMouseX,
53                       const Standard_Integer theMouseY,
54                       const Handle(V3d_View)& theView);
55
56   static void Fit();
57
58   int  OnFileImportBrep_WithInitDir (const wchar_t* InitialDir);
59
60   void OnObjectRayTracingAction();
61
62   // Generated message map functions
63 protected:
64   //{{AFX_MSG(OCC_3dBaseDoc)
65   afx_msg void OnFileImportBrep();
66   afx_msg void OnFileExportBrep();
67   afx_msg void OnObjectErase();
68   afx_msg void OnUpdateObjectErase(CCmdUI* pCmdUI);
69   afx_msg void OnObjectColor();
70   afx_msg void OnUpdateObjectColor(CCmdUI* pCmdUI);
71   afx_msg void OnObjectShading();
72   afx_msg void OnUpdateObjectShading(CCmdUI* pCmdUI);
73   afx_msg void OnObjectWireframe();
74   afx_msg void OnUpdateObjectWireframe(CCmdUI* pCmdUI);
75   afx_msg void OnObjectTransparency();
76   afx_msg void OnUpdateObjectTransparency(CCmdUI* pCmdUI) ;
77   afx_msg void OnObjectMaterial();
78   afx_msg void OnUpdateObjectMaterial(CCmdUI* pCmdUI);
79   afx_msg BOOL OnObjectMaterialRange(UINT nID);
80   afx_msg void OnUpdateObjectMaterialRange(CCmdUI* pCmdUI);
81   afx_msg void OnObjectDisplayall();
82   afx_msg void OnUpdateObjectDisplayall(CCmdUI* pCmdUI);
83   afx_msg void OnObjectRemove();
84   afx_msg void OnUpdateObjectRemove(CCmdUI* pCmdUI);
85
86   afx_msg void OnUpdateV3dButtons(CCmdUI* pCmdUI);
87   afx_msg void OnObjectRayTracing();
88   afx_msg void OnObjectShadows();
89   afx_msg void OnObjectReflections();
90   afx_msg void OnObjectAntiAliasing();
91
92   //}}AFX_MSG
93   DECLARE_MESSAGE_MAP()
94
95 protected:
96   bool myRayTracingIsOn;
97   bool myRaytracedShadowsIsOn;
98   bool myRaytracedReflectionsIsOn;
99   bool myRaytracedAntialiasingIsOn;
100   int myPopupMenuNumber;
101 };
102
103 #endif // !defined(AFX_OCC_3dBaseDoc_H__02CE7BD9_39BE_11D7_8611_0060B0EE281E__INCLUDED_)