1 #ifndef VTKVIEWER_VIEWWINDOW_H
2 #define VTKVIEWER_VIEWWINDOW_H
6 #include "SUIT_ViewWindow.h"
12 class VTKViewer_Viewer;
13 class VTKViewer_Trihedron;
14 class VTKViewer_Transform;
15 class VTKViewer_RenderWindow;
16 class VTKViewer_InteractorStyle;
17 class VTKViewer_RenderWindowInteractor;
18 class VTKViewer_Actor;
21 #pragma warning( disable:4251 )
24 class VTKVIEWER_EXPORT VTKViewer_ViewWindow : public SUIT_ViewWindow
29 VTKViewer_ViewWindow( SUIT_Desktop*, VTKViewer_Viewer*,
30 VTKViewer_InteractorStyle* = 0,
31 VTKViewer_RenderWindowInteractor* = 0 );
32 virtual ~VTKViewer_ViewWindow();
35 QToolBar* getToolBar() { return myToolBar; }
37 void setBackgroundColor( const QColor& );
38 QColor backgroundColor() const;
41 vtkRenderer* getRenderer() { return myRenderer; }
42 /*!Gets render window.*/
43 VTKViewer_RenderWindow* getRenderWindow() { return myRenderWindow; }
44 /*!Gets render window interactor.*/
45 VTKViewer_RenderWindowInteractor* getRWInteractor() { return myRWInteractor; }
46 bool isTrihedronDisplayed();
48 void Repaint( bool theUpdateTrihedron = true );
49 void onAdjustTrihedron();
50 void GetScale( double theScale[3] );
51 void SetScale( double theScale[3] );
52 void AddActor( VTKViewer_Actor*, bool update = false );
53 void RemoveActor( VTKViewer_Actor*, bool update = false);
65 void activateWindowFit();
66 void activateRotation();
67 void activatePanning();
68 void activateGlobalPanning();
69 void onTrihedronShow();
75 void onKeyPressed(QKeyEvent* event);
76 void onKeyReleased(QKeyEvent* event);
77 void onMousePressed(QMouseEvent* event);
78 void onMouseDoubleClicked(QMouseEvent* event);
79 void onMouseReleased(QMouseEvent* event);
80 void onMouseMoving(QMouseEvent* event);
83 void InsertActor( VTKViewer_Actor* theActor,
84 bool theMoveInternalActors = false );
85 void MoveActor( VTKViewer_Actor* theActor );
88 enum { DumpId, FitAllId, FitRectId, ZoomId, PanId, GlobalPanId, RotationId,
89 FrontId, BackId, TopId, BottomId, LeftId, RightId, ResetId, TrihedronShowId };
90 typedef QMap<int, QtxAction*> ActionsMap;
95 VTKViewer_Viewer* myModel;
97 vtkRenderer* myRenderer;
98 VTKViewer_RenderWindow* myRenderWindow;
99 VTKViewer_RenderWindowInteractor* myRWInteractor;
101 VTKViewer_Trihedron* myTrihedron;
102 VTKViewer_Transform* myTransform;
105 ActionsMap myActionsMap;
109 friend class VTKViewer_RenderWindowInteractor;
113 #pragma warning( default:4251 )