23 #ifndef OCCVIEWER_VIEWWINDOW_H
24 #define OCCVIEWER_VIEWWINDOW_H
30 #include <V3d_Plane.hxx>
31 #include <TopAbs_ShapeEnum.hxx>
143 #pragma warning( disable:4251 )
151 enum ActionId { DumpId, FitAllId, FitRectId, FitSelectionId, ZoomId, PanId, GlobalPanId,
155 TrihedronShowId, AxialScaleId, GraduatedAxesId,
AmbientId,
159 OrthographicId, PerspectiveId, StereoId, RayTracingId,
EnvTextureId, LightSourceId,
166 FRONTVIEW,
BACKVIEW, TOPVIEW, BOTTOMVIEW, LEFTVIEW, RIGHTVIEW,
179 enum StereoType { QuadBuffer,
Anaglyph, RowInterlaced, ColumnInterlaced, ChessBoard, SideBySide, OverUnder, SoftPageFlip, NumberOfModes };
194 virtual void performRestoring(
const viewAspect&,
bool =
false );
196 virtual void initLayout();
198 virtual bool enableDrawMode(
bool );
200 virtual void updateEnabledDrawMode();
202 virtual void setCuttingPlane(
bool on,
const double x = 0 ,
const double y = 0 ,
const double z = 0,
203 const double dx = 0,
const double dy = 0,
const double dz = 1);
205 virtual void setCuttingPlane(
bool on,
const gp_Pln thePln );
207 virtual bool isCuttingPlane();
212 virtual void initSketchers();
215 virtual void activateSketching(
int );
217 virtual int interactionStyle()
const;
218 virtual void setInteractionStyle(
const int );
220 virtual int zoomingStyle()
const;
221 virtual void setZoomingStyle(
const int );
223 virtual bool isPreselectionEnabled()
const;
224 virtual void enablePreselection(
bool );
225 virtual bool isSelectionEnabled()
const;
226 virtual void enableSelection(
bool );
228 virtual int projectionType()
const;
229 virtual void setProjectionType(
int );
231 virtual SelectionStyle selectionStyle()
const;
232 virtual void setSelectionStyle(SelectionStyle);
234 virtual int stereoType()
const;
235 virtual void setStereoType(
const int );
237 virtual int anaglyphFilter()
const;
238 virtual void setAnaglyphFilter(
const int );
240 virtual void setStereographicFocus(
const int,
const double );
241 virtual int stereographicFocusType()
const;
242 virtual double stereographicFocusValue()
const;
244 virtual void setInterocularDistance(
const int,
const double );
245 virtual int interocularDistanceType()
const;
246 virtual double interocularDistanceValue()
const;
248 virtual bool isReverseStereo()
const;
249 virtual void setReverseStereo(
const bool );
251 virtual bool isVSync()
const;
252 virtual void setVSync(
const bool );
254 virtual bool isQuadBufferSupport()
const;
255 virtual void setQuadBufferSupport(
const bool );
257 virtual bool isAutomaticZoom()
const;
258 virtual void setAutomaticZoom(
const bool );
262 void setTransformEnabled(
const OperationType,
const bool );
263 bool transformEnabled(
const OperationType )
const;
265 void set2dMode( Mode2dType );
268 void setMaximized(
bool,
bool =
true );
269 bool isMaximized()
const;
270 void setReturnedTo3dView(
bool =
true );
272 void setSketcherStyle(
bool enable );
273 bool isSketcherStyle()
const;
275 virtual QColor backgroundColor()
const;
276 virtual void setBackgroundColor(
const QColor& );
278 virtual void showStaticTrihedron(
bool );
284 virtual void appendViewAspect(
const viewAspect& );
286 virtual void clearViewAspects();
290 bool isActionVisible( ActionId theId )
const;
291 void setActionVisible( ActionId theId,
bool isVisible );
296 virtual void onFrontView();
297 virtual void onViewFitAll();
298 virtual void onBackView();
299 virtual void onClipping(
bool on);
300 virtual void onTopView();
301 virtual void onBottomView();
302 virtual void onLeftView();
303 virtual void onRightView();
304 virtual void onClockWiseView();
305 virtual void onAntiClockWiseView();
306 virtual void onProjectionType(
QAction* theAction );
307 virtual void onStereoType(
bool activate );
308 virtual void onProjectionType();
309 virtual void onResetView();
310 virtual void onFitAll();
311 virtual void onFitSelection();
312 virtual void activateZoom();
313 virtual void activateWindowFit();
314 virtual void activateRotation();
315 virtual void activatePanning();
316 virtual void activateGlobalPanning();
317 virtual void onSetRotationPoint(
bool on );
318 virtual void onCloneView();
319 virtual void onAxialScale();
320 virtual void onGraduatedAxes();
321 virtual void onAmbientToogle();
322 virtual void onMemorizeView();
323 virtual void onRestoreView();
324 virtual void onTrihedronShow(
bool);
325 virtual void onViewCubeShow(
bool);
326 virtual void setRestoreFlag();
327 virtual void onSwitchInteractionStyle(
bool on );
328 virtual void onSwitchZoomingStyle(
bool on );
329 virtual void onSwitchPreselection(
bool on );
330 virtual void onSwitchSelection(
bool on );
331 virtual void onSwitchSelectionStyle(
QAction* theAction);
332 virtual void onRayTracing();
333 virtual void onEnvTexture();
334 virtual void onLightSource();
335 virtual void onPanning();
337 virtual void activateSetRotationGravity();
338 virtual void activateSetRotationSelected(
double theX,
double theY,
double theZ );
339 virtual void activateStartPointSelection( TopAbs_ShapeEnum );
340 virtual void updateGravityCoords();
342 virtual void showEvent( QShowEvent * );
343 virtual void hideEvent( QHideEvent * );
345 virtual void onMaximizedView();
346 virtual void returnTo3dView();
363 virtual bool dumpViewToFormat(
const QImage&,
const QString& fileName,
const QString& format );
366 virtual QString
filter()
const;
368 bool isOpenGlStereoSupport()
const;
371 bool transformRequested()
const;
375 bool transformInProcess()
const;
376 void setTransformInProcess(
bool );
378 void vpMousePressEvent(QMouseEvent* theEvent);
379 void vpMouseReleaseEvent(QMouseEvent* theEvent);
380 void vpMouseMoveEvent(QMouseEvent* theEvent);
385 void createActions();
386 void createToolBar();
388 virtual OperationType getButtonState(QMouseEvent* theEvent,
int theInteractionStyle);
392 bool computeGravityCenter(
double& theX,
double& theY,
double& theZ );
394 void projAndPanToGravity(V3d_TypeOfOrientation CamOri);
396 virtual void onSketchingStarted();
397 virtual void onSketchingFinished();
467 #pragma warning( default:4251 )
#define OCCVIEWER_EXPORT
Definition: OCCViewer.h:33
QList< viewAspect > viewAspectList
Definition: OCCViewer_ViewWindow.h:140
Definition: OCCViewer_AutoRotate.h:34
Dialog allowing to assign parameters of axes scaling.
Definition: OCCViewer_AxialScaleDlg.h:33
Definition: OCCViewer_CubeAxesDlg.h:71
Definition: OCCViewer_SetRotationPointDlg.h:44
Definition: OCCViewer_ViewPort3d.h:43
Definition: OCCViewer_ViewSketcher.h:47
Definition: OCCViewer_ViewWindow.h:147
StereoType
Definition: OCCViewer_ViewWindow.h:179
@ Anaglyph
Definition: OCCViewer_ViewWindow.h:179
RotationPointType myCurrPointType
Definition: OCCViewer_ViewWindow.h:414
SketchingType
Definition: OCCViewer_ViewWindow.h:171
@ NoSketching
Definition: OCCViewer_ViewWindow.h:171
int myCurrX
Definition: OCCViewer_ViewWindow.h:424
FocusIODType
Definition: OCCViewer_ViewWindow.h:183
@ Absolute
Definition: OCCViewer_ViewWindow.h:183
AnaglyphFilter
Definition: OCCViewer_ViewWindow.h:181
bool myEventStarted
Definition: OCCViewer_ViewWindow.h:428
OCCViewer_ViewPort3d * myViewPort
Definition: OCCViewer_ViewWindow.h:410
OperationType
Definition: OCCViewer_ViewWindow.h:164
@ BACKVIEW
Definition: OCCViewer_ViewWindow.h:166
@ ANTICLOCKWISEVIEW
Definition: OCCViewer_ViewWindow.h:167
@ FITALLVIEW
Definition: OCCViewer_ViewWindow.h:165
@ NOVIEWOP
Definition: OCCViewer_ViewWindow.h:164
QCursor myCursor
Definition: OCCViewer_ViewWindow.h:437
OperationType myOperation
Definition: OCCViewer_ViewWindow.h:408
QList< OCCViewer_ViewSketcher * > mySketchers
Definition: OCCViewer_ViewWindow.h:404
bool myDrawRect
Definition: OCCViewer_ViewWindow.h:430
QMap< OperationType, bool > MapOfTransformStatus
Definition: OCCViewer_ViewWindow.h:455
Mode2dType
Definition: OCCViewer_ViewWindow.h:175
Handle(V3d_Plane) myReserveClipPlane
OCCViewer_AxialScaleDlg * myScalingDlg
Definition: OCCViewer_ViewWindow.h:442
OCCViewer_Viewer * myModel
Definition: OCCViewer_ViewWindow.h:409
bool IsSketcherStyle
Definition: OCCViewer_ViewWindow.h:434
bool myDrawRectEnabled
Definition: OCCViewer_ViewWindow.h:432
Mode2dType my2dMode
Definition: OCCViewer_ViewWindow.h:458
OCCViewer_AutoRotate * myAutoRotate
Definition: OCCViewer_ViewWindow.h:449
OCCViewer_SetRotationPointDlg * mySetRotationPointDlg
Definition: OCCViewer_ViewWindow.h:444
OCCViewer_ViewSketcher * mypSketcher
Definition: OCCViewer_ViewWindow.h:403
bool myIsKeyFree
Definition: OCCViewer_ViewWindow.h:435
MapOfTransformStatus myStatus
Definition: OCCViewer_ViewWindow.h:456
OCCViewer_CubeAxesDlg * myCubeAxesDlg
Definition: OCCViewer_ViewWindow.h:412
bool myRotationPointSelection
Definition: OCCViewer_ViewWindow.h:417
double myCurScale
Definition: OCCViewer_ViewWindow.h:439
Mode2dType get2dMode() const
Definition: OCCViewer_ViewWindow.h:266
gp_Pnt mySelectedPoint
Definition: OCCViewer_ViewWindow.h:416
bool myPreselectionEnabled
Definition: OCCViewer_ViewWindow.h:452
int myStartY
Definition: OCCViewer_ViewWindow.h:422
bool myEnableDrawMode
Definition: OCCViewer_ViewWindow.h:431
ProjectionType
Definition: OCCViewer_ViewWindow.h:177
@ Orthographic
Definition: OCCViewer_ViewWindow.h:177
bool myPaintersRedrawing
Definition: OCCViewer_ViewWindow.h:433
void vpTransformationFinished(OCCViewer_ViewWindow::OperationType type)
bool myAutomaticZoom
Definition: OCCViewer_ViewWindow.h:436
bool myPanningByBtn
Definition: OCCViewer_ViewWindow.h:463
SelectionStyle
Definition: OCCViewer_ViewWindow.h:173
bool mySelectionEnabled
Definition: OCCViewer_ViewWindow.h:451
QtxRectRubberBand * myRectBand
selection rectangle rubber band
Definition: OCCViewer_ViewWindow.h:447
void viewCloned(SUIT_ViewWindow *)
QtxAction * mySetRotationPointAction
Definition: OCCViewer_ViewWindow.h:445
viewAspectList myViewAspects
Definition: OCCViewer_ViewWindow.h:462
int myCurrY
Definition: OCCViewer_ViewWindow.h:425
qint64 myCurrTime
Definition: OCCViewer_ViewWindow.h:426
int myInteractionStyle
Definition: OCCViewer_ViewWindow.h:453
int myStartX
Definition: OCCViewer_ViewWindow.h:421
bool myCursorIsHand
Definition: OCCViewer_ViewWindow.h:429
void vpTransformationStarted(OCCViewer_ViewWindow::OperationType type)
qint64 myStartTime
Definition: OCCViewer_ViewWindow.h:423
int myCurSketch
Definition: OCCViewer_ViewWindow.h:406
RotationPointType myPrevPointType
Definition: OCCViewer_ViewWindow.h:415
ActionId
Definition: OCCViewer_ViewWindow.h:151
@ AntiClockWiseId
Definition: OCCViewer_ViewWindow.h:153
@ SwitchInteractionStyleId
Definition: OCCViewer_ViewWindow.h:156
@ EnvTextureId
Definition: OCCViewer_ViewWindow.h:159
@ ChangeRotationPointId
Definition: OCCViewer_ViewWindow.h:152
@ MaximizedId
Definition: OCCViewer_ViewWindow.h:158
@ ViewCubeShowId
Definition: OCCViewer_ViewWindow.h:161
@ AmbientId
Definition: OCCViewer_ViewWindow.h:155
@ ClippingId
Definition: OCCViewer_ViewWindow.h:154
@ SwitchPreselectionId
Definition: OCCViewer_ViewWindow.h:157
@ CircleSelectionStyleId
Definition: OCCViewer_ViewWindow.h:160
RotationPointType
Definition: OCCViewer_ViewWindow.h:169
@ BBCENTER
Definition: OCCViewer_ViewWindow.h:169
void maximized(OCCViewer_ViewWindow *, bool)
int myRestoreFlag
Definition: OCCViewer_ViewWindow.h:419
Definition: OCCViewer_ViewModel.h:77
For more information see QT documentation.
Definition: SUIT_Application.h:42
Generic action class.
Definition: QtxAction.h:40
Definition: QtxRubberBand.h:61
Stores background data.
Definition: Qtx.h:178
Base class for Camera Properties.
Definition: SUIT_CameraProperties.h:29
Definition: SUIT_Desktop.h:47
Definition: SUIT_ViewWindow.h:42
bool dumpViewToFormat(const QString &fileName, const QString &format)
Definition: SUIT_ViewWindow.cxx:125
virtual void enableAutoRotation(const bool)
Definition: SUIT_ViewWindow.cxx:332
virtual void setVisualParameters(const QString ¶meters)
Definition: SUIT_ViewWindow.cxx:259
virtual QString getVisualParameters()
Definition: SUIT_ViewWindow.cxx:250
virtual SUIT_CameraProperties cameraProperties()
Definition: SUIT_ViewWindow.cxx:358
virtual QImage dumpView()
Definition: SUIT_ViewWindow.cxx:92
virtual void synchronize(SUIT_ViewWindow *)
Definition: SUIT_ViewWindow.cxx:372
virtual QString filter() const
Definition: SUIT_ViewWindow.cxx:175
Definition: OCCViewer_ViewWindow.h:45
int gtNameColorRZ
Definition: OCCViewer_ViewWindow.h:83
viewAspect()
Definition: OCCViewer_ViewWindow.h:112
int gtColorRX
Definition: OCCViewer_ViewWindow.h:95
double atY
Definition: OCCViewer_ViewWindow.h:55
int gtNameColorRX
Definition: OCCViewer_ViewWindow.h:77
int gtNameColorBZ
Definition: OCCViewer_ViewWindow.h:85
double projY
Definition: OCCViewer_ViewWindow.h:51
QString gtNameX
Definition: OCCViewer_ViewWindow.h:74
double twist
Definition: OCCViewer_ViewWindow.h:53
int gtColorGZ
Definition: OCCViewer_ViewWindow.h:102
int gtOffsetY
Definition: OCCViewer_ViewWindow.h:93
int gtNameColorGY
Definition: OCCViewer_ViewWindow.h:81
int gtColorBX
Definition: OCCViewer_ViewWindow.h:97
bool vcIsVisible
Definition: OCCViewer_ViewWindow.h:68
int gtNbValuesX
Definition: OCCViewer_ViewWindow.h:89
bool gtDrawTickmarksX
Definition: OCCViewer_ViewWindow.h:104
double centerX
Definition: OCCViewer_ViewWindow.h:48
bool gtDrawValuesZ
Definition: OCCViewer_ViewWindow.h:88
QString gtNameZ
Definition: OCCViewer_ViewWindow.h:76
double centerY
Definition: OCCViewer_ViewWindow.h:49
bool gtDrawValuesY
Definition: OCCViewer_ViewWindow.h:87
int gtColorBZ
Definition: OCCViewer_ViewWindow.h:103
int gtColorGX
Definition: OCCViewer_ViewWindow.h:96
int gtTickmarkLengthX
Definition: OCCViewer_ViewWindow.h:107
int gtNbValuesY
Definition: OCCViewer_ViewWindow.h:90
int gtNbValuesZ
Definition: OCCViewer_ViewWindow.h:91
bool gtDrawTickmarksZ
Definition: OCCViewer_ViewWindow.h:106
double projZ
Definition: OCCViewer_ViewWindow.h:52
int gtNameColorGZ
Definition: OCCViewer_ViewWindow.h:84
int gtNameColorBY
Definition: OCCViewer_ViewWindow.h:82
int gtNameColorGX
Definition: OCCViewer_ViewWindow.h:78
double scale
Definition: OCCViewer_ViewWindow.h:47
QString name
Definition: OCCViewer_ViewWindow.h:63
int gtNameColorRY
Definition: OCCViewer_ViewWindow.h:80
double eyeX
Definition: OCCViewer_ViewWindow.h:57
double size
Definition: OCCViewer_ViewWindow.h:66
int gtOffsetZ
Definition: OCCViewer_ViewWindow.h:94
int gtColorRZ
Definition: OCCViewer_ViewWindow.h:101
int gtColorBY
Definition: OCCViewer_ViewWindow.h:100
int gtTickmarkLengthZ
Definition: OCCViewer_ViewWindow.h:109
double scaleY
Definition: OCCViewer_ViewWindow.h:61
double eyeY
Definition: OCCViewer_ViewWindow.h:58
int gtTickmarkLengthY
Definition: OCCViewer_ViewWindow.h:108
double projX
Definition: OCCViewer_ViewWindow.h:50
QString gtNameY
Definition: OCCViewer_ViewWindow.h:75
int gtNameColorBX
Definition: OCCViewer_ViewWindow.h:79
double eyeZ
Definition: OCCViewer_ViewWindow.h:59
int gtOffsetX
Definition: OCCViewer_ViewWindow.h:92
bool gtIsVisible
Definition: OCCViewer_ViewWindow.h:70
bool gtDrawNameY
Definition: OCCViewer_ViewWindow.h:72
double atZ
Definition: OCCViewer_ViewWindow.h:56
double scaleX
Definition: OCCViewer_ViewWindow.h:60
int gtColorRY
Definition: OCCViewer_ViewWindow.h:98
bool gtDrawTickmarksY
Definition: OCCViewer_ViewWindow.h:105
bool gtDrawNameX
Definition: OCCViewer_ViewWindow.h:71
int gtColorGY
Definition: OCCViewer_ViewWindow.h:99
double atX
Definition: OCCViewer_ViewWindow.h:54
double scaleZ
Definition: OCCViewer_ViewWindow.h:62
bool isVisible
Definition: OCCViewer_ViewWindow.h:65
bool gtDrawNameZ
Definition: OCCViewer_ViewWindow.h:73
bool gtDrawValuesX
Definition: OCCViewer_ViewWindow.h:86