forked from eryar/occQt
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathoccQt.h
146 lines (109 loc) · 2.94 KB
/
occQt.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
/*
* Copyright (c) 2013 to current year. All Rights Reserved.
*
* File : occQt.cpp
* Author : [email protected]
* Date : 2014-11-29 10:18
* Version : OpenCASCADE6.8.0 & Qt5.4
*
* Description : OpenCASCADE in Qt.
*
*/
#ifndef OCCQT_H
#define OCCQT_H
#include "ui_occQt.h"
#include <AIS_InteractiveContext.hxx>
class OccView;
//! Qt main window which include OpenCASCADE for its central widget.
class occQt : public QMainWindow
{
Q_OBJECT
public:
//! constructor/destructor.
occQt(QWidget *parent = 0);
~occQt();
protected:
//! create all the actions.
void createActions(void);
//! create all the menus.
void createMenus(void);
//! create the toolbar.
void createToolBars(void);
// initialize the OpenCASCADE modeler.
void InitializeModeler(void);
private slots:
//! show about box.
void about(void);
//! make box test.
void makeBox(void);
//! make cone test.
void makeCone(void);
//! make sphere test.
void makeSphere(void);
//! make cylinder test.
void makeCylinder(void);
//! make torus test.
void makeTorus(void);
//! fillet test.
void makeFillet(void);
//! chamfer test.
void makeChamfer(void);
//! test extrude algorithm.
void makeExtrude(void);
//! test revol algorithm.
void makeRevol(void);
//! test loft algorithm.
void makeLoft(void);
//! test boolean operation cut.
void testCut(void);
//! test boolean operation fuse.
void testFuse(void);
//! test boolean operation common.
void testCommon(void);
private:
Ui::occQtClass ui;
private:
//! the exit action.
QAction* mExitAction;
//! the actions for the view: pan, reset, fitall.
QAction* mViewZoomAction;
QAction* mViewPanAction;
QAction* mViewRotateAction;
QAction* mViewResetAction;
QAction* mViewFitallAction;
//! the actions to test the OpenCASCADE modeling algorithms.
QAction* mMakeBoxAction;
QAction* mMakeConeAction;
QAction* mMakeSphereAction;
QAction* mMakeCylinderAction;
QAction* mMakeTorusAction;
//! make a fillet box.
QAction* mFilletAction;
QAction* mChamferAction;
QAction* mExtrudeAction;
QAction* mRevolveAction;
QAction* mLoftAction;
//! boolean operations.
QAction* mCutAction;
QAction* mFuseAction;
QAction* mCommonAction;
//! show the about info action.
QAction* mAboutAction;
//! the menus of the application.
QMenu* mFileMenu;
QMenu* mViewMenu;
QMenu* mPrimitiveMenu;
QMenu* mModelingMenu;
QMenu* mHelpMenu;
//! the toolbars of the application.
QToolBar* mViewToolBar;
QToolBar* mNavigateToolBar;
QToolBar* mPrimitiveToolBar;
QToolBar* mModelingToolBar;
QToolBar* mHelpToolBar;
// wrapped the widget for occ.
OccView* mOccView;
//! the interactive context.
Handle_AIS_InteractiveContext mContext;
};
#endif // OCCQT_H