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=ef6eb8a55bb196ec57e382afe6af95cb6fe9bb11;hpb=43d6157a180d90a91a00e9086bbbe4c1ea5c7ab0;p=modules%2Fgui.git diff --git a/src/SVTK/SVTK_ViewWindow.h b/src/SVTK/SVTK_ViewWindow.h index ef6eb8a55..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 ); @@ -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,6 +378,9 @@ 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(bool); @@ -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: