-// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2021 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
#include "SUIT_ViewWindow.h"
#include "SALOME_InteractiveObject.hxx"
+#include "SALOME_ListIO.hxx"
#include <QImage>
#include <vtkSmartPointer.h>
//! Define a container for SALOME VTK view window
class SVTK_EXPORT SVTK_ViewWindow : public SUIT_ViewWindow
{
- Q_OBJECT;
+ Q_OBJECT
public:
//! To construct #SVTK_ViewWindow instance
//! 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 );
void activatePanning();
void activateGlobalPanning();
- void onPerspectiveMode();
+ void onProjectionMode( QAction* theAction );
+ void onStereoMode( bool activate );
+ void onProjectionMode();
void activateProjectionMode(int);
void activateSetFocalPointGravity();
void activateSetFocalPointSelected();
void activateStartFocalPointSelection();
+ void activateInteractiveSelection();
+ void deactivateCurrectOperation();
void onViewParameters(bool theIsActivate);
//! Redirect the request to #SVTK_Renderer::OnFitSelection
virtual void onFitSelection();
+ //! Redirect the request to #SVTK_Renderer::OnFitIObjects
+ virtual void onFitIObjects(const SALOME_ListIO&);
+
//! Redirect the request to #SVTK_Renderer::OnViewTrihedron
virtual void onViewTrihedron(bool);
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 resizeEvent( QResizeEvent* );
+
virtual void Initialize(SVTK_View* theView,
SVTK_ViewModelBase* theModel);
void* clientdata,
void* calldata);
+ bool isOpenGlStereoSupport() const;
+
void doSetVisualParameters( const QString&, bool = false );
void SetEventDispatcher(vtkObject* theDispatcher);
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,