Salome HOME
Upgrade to paraview 5.4
[modules/gui.git] / src / SVTK / SVTK_ViewModel.h
index c4a73cf8ec59ac0f361cd96c19f0d3844c10f43c..827b47abae8b5454fe33dabe1b3660732867a222 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2013  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
@@ -6,7 +6,7 @@
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -25,6 +25,7 @@
 
 #include "SVTK.h"
 #include "SVTK_ViewModelBase.h"
+#include "SVTK_Selection.h"
 
 #include "Qtx.h"
 
@@ -59,11 +60,19 @@ public:
     LastGradient = FourthCornerGradient,
   };
 
+  enum {
+    CrystalEyesType, RedBlueType,
+    InterlacedType,  LeftType,
+    RightType,       DresdenType,
+    AnaglyphType,    CheckerboardType,
+    SplitViewPortHorizontalType
+  };
   typedef SVTK_ViewWindow TViewWindow;
   
   //! Define string representation of the viewer type
   static QString           Type() { return "VTKViewer"; }
   static QString           backgroundData( QStringList&, QIntList&, QIntList& );
+  static void              stereoData( QStringList&, QIntList&);
 
   SVTK_Viewer();
   virtual ~SVTK_Viewer();
@@ -113,6 +122,24 @@ public:
   //! Sets projection mode
   void setProjectionMode( const int );
 
+  //! Gets stereo type
+  int stereoType() const;
+
+  //! Sets stereo type
+  void setStereoType( const int );
+
+  //! Gets anaglyph filter
+  int anaglyphFilter() const;
+
+  //! Sets anaglyph filter
+  void setAnaglyphFilter( const int );
+
+  //! Get support quad-buffered stereo
+  bool isQuadBufferSupport() const;
+
+  //! Set support quad-buffered stereo
+  void setQuadBufferSupport( const bool );
+
   //! Gets interaction style
   int interactionStyle() const;
 
@@ -125,12 +152,12 @@ public:
   //! Sets zooming style
   void setZoomingStyle( const int );
 
-  //! Gets dynamic preselection
-  bool dynamicPreSelection() const;
-
-  //! Sets dynamic preselection
-  void setDynamicPreSelection( const bool );
+  //! Gets current preselection mode (standard, dynamic or disabled)
+  Preselection_Mode preSelectionMode() const;
 
+  //! Sets new preselection mode
+  void setPreSelectionMode( Preselection_Mode );
   //! Get incremental speed (see #SVTK_InteractorStyle::ControllerIncrement)
   int incrementalSpeed() const;
 
@@ -163,8 +190,8 @@ public:
   //! See #SALOME_View::Erase( const SALOME_VTKPrs*, const bool = false )
   void Erase( const SALOME_VTKPrs*, const bool = false );
 
-  //! See #SALOME_View::EraseAll( const bool = false )
-  void EraseAll( const bool = false );
+  //! See #SALOME_View::EraseAll( SALOME_Displayer*, const bool = false )
+  void EraseAll( SALOME_Displayer*, const bool = false );
 
   //! See #SALOME_View::getVisible( SALOME_ListIO& )
   virtual void GetVisible( SALOME_ListIO& );
@@ -205,9 +232,12 @@ private:
   int                  myIncrementSpeed;
   int                  myIncrementMode;
   int                  myProjMode;
+  int                  myStereoType;
+  int                  myAnaglyphFilter;
+  bool                 myQuadBufferSupport;
   int                  myStyle;
   int                  myZoomingStyle;
-  bool                 myDynamicPreSelection;
+  Preselection_Mode    myPreSelectionMode;
   int                  mySpaceBtn[3];
 };