X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSVTK%2FSVTK_ViewWindow.h;h=d43e7678376e82f04da6bab8c9e336dda19ef865;hb=refs%2Fheads%2Fngr%2Fpython3_dev_pv5.4;hp=b648af301508a28fa18008e33bfa66a6e550aeca;hpb=d26f738c9c427a45409bacf3848fd8c224edf6ed;p=modules%2Fgui.git diff --git a/src/SVTK/SVTK_ViewWindow.h b/src/SVTK/SVTK_ViewWindow.h index b648af301..d43e76783 100755 --- a/src/SVTK/SVTK_ViewWindow.h +++ b/src/SVTK/SVTK_ViewWindow.h @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2014 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -66,7 +66,10 @@ class SVTK_KeyFreeInteractorStyle; class SVTK_ViewParameterDlg; class SVTK_Recorder; -class vtkPVAxesWidget; +namespace salomevtk +{ + class vtkPVAxesWidget; +} class vtkObject; class QtxAction; @@ -227,6 +230,15 @@ class SVTK_EXPORT SVTK_ViewWindow : public SUIT_ViewWindow //! Set current projection mode virtual void SetProjectionMode( const int ); + //! Sets stereo type + virtual void SetStereoType( const int ); + + //! Sets anaglyph filter + virtual void SetAnaglyphFilter( const int ); + + //! Set support quad-buffered stereo + virtual void SetQuadBufferSupport( const bool ); + //! Set interactive style virtual void SetInteractionStyle( const int ); @@ -294,7 +306,7 @@ public slots: void activateSetRotationGravity(); void activateSetRotationSelected(void* theData); - void activateStartPointSelection(); + void activateStartPointSelection( Selection_Mode ); void onUpdateRate(bool theIsActivate); void onNonIsometric(bool theIsActivate); @@ -306,7 +318,9 @@ public slots: void activatePanning(); void activateGlobalPanning(); - void onPerspectiveMode(); + void onProjectionMode( QAction* theAction ); + void onStereoMode( bool activate ); + void onProjectionMode(); void activateProjectionMode(int); @@ -364,8 +378,11 @@ public slots: //! Redirect the request to #SVTK_Renderer::OnFitAll virtual void onFitAll(); + //! Redirect the request to #SVTK_Renderer::OnFitSelection + virtual void onFitSelection(); + //! Redirect the request to #SVTK_Renderer::OnViewTrihedron - virtual void onViewTrihedron(); + virtual void onViewTrihedron(bool); //! Redirect the request to #SVTK_Renderer::OnViewCubeAxes virtual void onViewCubeAxes(); @@ -387,6 +404,13 @@ protected slots: void onMouseReleased(QMouseEvent* event); void onMouseMoving(QMouseEvent* event); +public: + enum ProjectionType { Parallel, Projection, Stereo }; + + enum StereoType { CrystalEyes, RedBlue, Interlaced, Left, Right, Dresden, Anaglyph, Checkerboard, SplitViewPortHorizontal }; + + enum AnaglyphFilter { RedCyan, YellowBlue, GreenMagenta }; + protected: virtual void Initialize(SVTK_View* theView, SVTK_ViewModelBase* theModel); @@ -397,6 +421,8 @@ protected: void* clientdata, void* calldata); + bool isOpenGlStereoSupport() const; + void doSetVisualParameters( const QString&, bool = false ); void SetEventDispatcher(vtkObject* theDispatcher); @@ -411,11 +437,11 @@ protected: void createToolBar(); void createActions(SUIT_ResourceMgr* theResourceMgr); - enum { DumpId, FitAllId, FitRectId, ZoomId, PanId, GlobalPanId, + enum { DumpId, FitAllId, FitRectId, FitSelectionId, ZoomId, PanId, GlobalPanId, ChangeRotationPointId, RotationId, FrontId, BackId, TopId, BottomId, LeftId, RightId, ClockWiseId, AntiClockWiseId, ResetId, - ViewTrihedronId, NonIsometric, GraduatedAxes, UpdateRate, - ParallelModeId, ProjectionModeId, ViewParametersId, SynchronizeId, SwitchInteractionStyleId, + ViewTrihedronId, NonIsometric, GraduatedAxes, UpdateRate, + ParallelModeId, ProjectionModeId, StereoModeId, ViewParametersId, SynchronizeId, SwitchInteractionStyleId, SwitchZoomingStyleId, PreselectionId, StandardPreselectionId, DynamicPreselectionId, DisablePreselectionId, EnableSelectionId, @@ -453,7 +479,7 @@ protected: int myToolBar; int myRecordingToolBar; - vtkPVAxesWidget* myAxesWidget; + salomevtk::vtkPVAxesWidget* myAxesWidget; Qtx::BackgroundData myBackground; private: