Salome HOME
updated copyright message
[modules/gui.git] / src / SVTK / SVTK_ViewModel.h
index e8709d5acf55ebf58b655a3d3cb77f064bc5c230..aaea265c514dc5e38dbfca681bc833774a7f5904 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2014  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2023  CEA, EDF, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -44,7 +44,7 @@ class VTKViewer_Actor;
 //! Extends two interfaces #SVTK_ViewModelBase and #SALOME_View 
 class SVTK_EXPORT SVTK_Viewer : public SVTK_ViewModelBase, public SALOME_View 
 {
-  Q_OBJECT;
+  Q_OBJECT
 
 public:
   /*! supported gradient types */
@@ -60,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();
@@ -114,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;
 
@@ -164,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& );
@@ -194,6 +220,8 @@ protected slots:
   void onActorAdded(VTKViewer_Actor*);
   void onActorRemoved(VTKViewer_Actor*);
 
+  void onViewCreated( SUIT_ViewWindow* );
+
 private:
   void updateToolBars();
 
@@ -206,6 +234,9 @@ private:
   int                  myIncrementSpeed;
   int                  myIncrementMode;
   int                  myProjMode;
+  int                  myStereoType;
+  int                  myAnaglyphFilter;
+  bool                 myQuadBufferSupport;
   int                  myStyle;
   int                  myZoomingStyle;
   Preselection_Mode    myPreSelectionMode;