Open Inventor Release 2023.2.3
 
Loading...
Searching...
No Matches
SoGuiFullViewer.h
Go to the documentation of this file.
1/*=======================================================================
2 *** THE CONTENT OF THIS WORK IS PROPRIETARY TO FEI S.A.S, (FEI S.A.S.), ***
3 *** AND IS DISTRIBUTED UNDER A LICENSE AGREEMENT. ***
4 *** ***
5 *** REPRODUCTION, DISCLOSURE, OR USE, IN WHOLE OR IN PART, OTHER THAN AS ***
6 *** SPECIFIED IN THE LICENSE ARE NOT TO BE UNDERTAKEN EXCEPT WITH PRIOR ***
7 *** WRITTEN AUTHORIZATION OF FEI S.A.S. ***
8 *** ***
9 *** RESTRICTED RIGHTS LEGEND ***
10 *** USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT OF THE CONTENT OF THIS ***
11 *** WORK OR RELATED DOCUMENTATION IS SUBJECT TO RESTRICTIONS AS SET FORTH IN ***
12 *** SUBPARAGRAPH (C)(1) OF THE COMMERCIAL COMPUTER SOFTWARE RESTRICTED RIGHT ***
13 *** CLAUSE AT FAR 52.227-19 OR SUBPARAGRAPH (C)(1)(II) OF THE RIGHTS IN ***
14 *** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 52.227-7013. ***
15 *** ***
16 *** COPYRIGHT (C) 1996-2020 BY FEI S.A.S, ***
17 *** BORDEAUX, FRANCE ***
18 *** ALL RIGHTS RESERVED ***
19**=======================================================================*/
20/*=======================================================================
21** Author : T.MEHAMLI (Jun 2007)
22**=======================================================================*/
23
24#ifndef SO_GUI_FULL_VIEWER
25#define SO_GUI_FULL_VIEWER
26
28//
29// Class: SoGuiFullViewer
30//
31// SoXXFullViewer implementation class
32//
33//
35
37
38// classes used
39class SoFieldSensor;
40class SoStereoDialog;
42
43
45{
46#ifndef HIDDEN_FROM_DOC
48#endif
49
50private:
51 // This specifies what should be build by default in the constructor
52 enum BuildFlag
53 {
57 BUILD_NONE = 0x00,
61 BUILD_DECORATION = 0x01,
65 BUILD_POPUP = 0x02,
69 BUILD_ALL = 0xff
70 };
71
72 /*
73 * Defines
74 */
75 // list of the different popup choices
76 enum popupChoices
77 {
78 VIEW_ALL = 20, // enables the same menu routine to be used
79 SET_HOME, // as the draw style entrie (can't overlap
80 HOME, // with SoWinViewerDrawStyle values)
81 HEADLIGHT,
82 SEEK,
83 PREF,
84 VIEWING,
85 DECORATION,
86 FULLSCREEN,
87 COPY_VIEW,
88 PASTE_VIEW,
89 HELP
90 };
91
92 enum drawChoices
93 {
94 AS_IS,
95 HIDDEN_LINE,
96 NO_TXT,
97 LOW_RES,
98 LINE,
99 POINT,
100 BBOX,
101
102 MOVE_SAME_AS,
103 MOVE_NO_TXT,
104 MOVE_LOW_RES,
105 MOVE_LINE,
106 MOVE_LOW_LINE,
107 MOVE_POINT,
108 MOVE_LOW_POINT,
109 MOVE_BBOX,
110
111 DRAW_STYLE_NUM // specify the length
112 };
113
114 // list of the toggle buttons in the popumenu
115 enum popupToggles
116 {
117 HEADLIGHT_WIDGET = 0, // very convenient to start at 0
118 VIEWING_WIDGET,
119 DECORATION_WIDGET,
120 FULLSCREEN_WIDGET,
121 POPUP_TOGGLE_NUM // specify the length
122 };
123
124 // list of custom push buttons
125 enum ViewerPushButtons
126 {
127 PICK_PUSH,
128 VIEW_PUSH,
129 HELP_PUSH,
130 HOME_PUSH,
131 SET_HOME_PUSH,
132 VIEW_ALL_PUSH,
133 SEEK_PUSH,
134 PUSH_NUM
135 };
136
141
149 void setDecoration( SbBool onOrOff );
150
154 SbBool isDecoration();
155
185 void setPopupMenuEnabled( SbBool trueOrFalse );
186
190 SbBool isPopupMenuEnabled();
191
201 bool toggleAntiAliasing();
202
203 // Accessors and mutators for xxWheelVals
204 void setRightWheelVal( float newVal );
205 float getRightWheelVal() const;
206
207 void setBottomWheelVal( float newVal );
208 float getBottomWheelVal() const;
209
210 void setLeftWheelVal( float newVal );
211 float getLeftWheelVal() const;
212
213 void initVars( BuildFlag buildFlag ); // Initialize m_popupEnabled & m_decorationFlag
214
215 // ----------------------- Extension usage -----------------------------------
216
217 // Subclasses can redefine these to add viewer functionality. They
218 // by default call start and finish interactive viewing methods.
219 // (defined in the base class).
220 virtual void rightWheelStart();
221 virtual void bottomWheelStart();
222 virtual void leftWheelStart();
223 virtual void rightWheelFinish();
224 virtual void bottomWheelFinish();
225 virtual void leftWheelFinish();
226
227 int SO_WHEEL_DELTA;
228
229 private:
233 virtual ~SoGuiFullViewer();
234
235 // ----------------------- Private usage -------------------------------------
236 private:
237
238 SbBool m_decorationFlag;
239 SbBool m_popupEnabled;
240 float m_rightWheelVal, m_bottomWheelVal, m_leftWheelVal;
241
242 // Antialiasing parameters to restore after toggling AA OFF with the GUI button
243 float m_savedAAQuality;
244 SoAntialiasingParameters* m_savedAAParams;
245};
246
247#endif // SO_GUI_FULL_VIEWER
248
249
#define SO_FIELDCONTAINER_HEADER(className)
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Antialiasing par...
Sensor class that can be attached to Open Inventor fields.
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Component that l...
int SbBool
Boolean type.
Definition SbBase.h:87