NorMIT-nav  2023.01.05-dev+develop.0da12
An IGT application
QVTKWidget3.h
Go to the documentation of this file.
1 #ifndef QVTKWIDGET3_H
2 #define QVTKWIDGET3_H
3 
4 #include "vtkSmartPointer.h"
5 #include "vtkGenericOpenGLRenderWindow.h"
6 #include "vtkEventQtSlotConnect.h"
7 
8 #include "QVTKInteractorAdapter.h"
9 #include "QVTKInteractor.h"
10 
11 #include <QOpenGLWidget>
12 #include <QSurfaceFormat>
13 
14 class QVTKWidget3 : public QOpenGLWidget
15 {
16  Q_OBJECT
17 
18 public:
19  QVTKWidget3(QWidget *parent = NULL, Qt::WindowFlags f = 0, QSurfaceFormat format = QSurfaceFormat::defaultFormat());
20  virtual ~QVTKWidget3();
21 
23  virtual void SetRenderWindow(vtkGenericOpenGLRenderWindow*);
25  virtual vtkGenericOpenGLRenderWindow* GetRenderWindow();
26 
28  virtual QVTKInteractor* GetInteractor();
29 
30 public slots:
32  virtual void MakeCurrent();
34  virtual void IsCurrent(vtkObject* caller, unsigned long vtk_event, void* client_data, void* call_data);
36  virtual void Frame();
38  virtual void Start();
40  virtual void End();
42  virtual void IsDirect(vtkObject* caller, unsigned long vtk_event, void* client_data, void* call_data);
44  virtual void SupportsOpenGL(vtkObject* caller, unsigned long vtk_event, void* client_data, void* call_data);
45 
46 protected:
48  virtual void initializeGL();
50  virtual void paintGL();
52  virtual void resizeGL(int, int);
54  virtual void moveEvent(QMoveEvent* event);
55 
56  virtual void mousePressEvent(QMouseEvent* event);
57  virtual void mouseMoveEvent(QMouseEvent* event);
58  virtual void mouseReleaseEvent(QMouseEvent* event);
59  virtual void keyPressEvent(QKeyEvent* event);
60  virtual void keyReleaseEvent(QKeyEvent* event);
61  virtual void enterEvent(QEvent*);
62  virtual void leaveEvent(QEvent*);
63  virtual void wheelEvent(QWheelEvent*);
64 
65  virtual void contextMenuEvent(QContextMenuEvent*);
66  virtual void dragEnterEvent(QDragEnterEvent*);
67  virtual void dragMoveEvent(QDragMoveEvent*);
68  virtual void dragLeaveEvent(QDragLeaveEvent*);
69  virtual void dropEvent(QDropEvent*);
70 
71  virtual bool focusNextPrevChild(bool);
72 
73  // Members
74  vtkGenericOpenGLRenderWindow* m_renWin;
75  QVTKInteractorAdapter* m_irenAdapter;
76  vtkSmartPointer<vtkEventQtSlotConnect> m_connect;
77 
78 private:
80  QVTKWidget3 const& operator=(QVTKWidget3 const&);
82  QVTKWidget3(const QVTKWidget3&);
83 };
84 
85 
86 #endif // QVTKWIDGET3_H
QVTKWidget3::dragLeaveEvent
virtual void dragLeaveEvent(QDragLeaveEvent *)
Definition: QVTKWidget3.cpp:333
QVTKWidget3::contextMenuEvent
virtual void contextMenuEvent(QContextMenuEvent *)
Definition: QVTKWidget3.cpp:309
QVTKWidget3::keyPressEvent
virtual void keyPressEvent(QKeyEvent *event)
Definition: QVTKWidget3.cpp:283
QVTKWidget3::mousePressEvent
virtual void mousePressEvent(QMouseEvent *event)
Definition: QVTKWidget3.cpp:232
QVTKWidget3::initializeGL
virtual void initializeGL()
Initialize handler.
Definition: QVTKWidget3.cpp:114
QVTKWidget3::dragEnterEvent
virtual void dragEnterEvent(QDragEnterEvent *)
Definition: QVTKWidget3.cpp:317
QVTKWidget3::GetInteractor
virtual QVTKInteractor * GetInteractor()
Returns interactor of the current render window.
Definition: QVTKWidget3.cpp:108
QVTKWidget3::resizeGL
virtual void resizeGL(int, int)
Resize handler.
Definition: QVTKWidget3.cpp:139
QVTKWidget3::Start
virtual void Start()
Slot called when vtk wants to start the render.
Definition: QVTKWidget3.cpp:171
QVTKWidget3::SetRenderWindow
virtual void SetRenderWindow(vtkGenericOpenGLRenderWindow *)
Set a custom render window.
Definition: QVTKWidget3.cpp:44
QVTKWidget3::m_connect
vtkSmartPointer< vtkEventQtSlotConnect > m_connect
Definition: QVTKWidget3.h:76
QVTKWidget3::dragMoveEvent
virtual void dragMoveEvent(QDragMoveEvent *)
Definition: QVTKWidget3.cpp:325
QVTKWidget3::moveEvent
virtual void moveEvent(QMoveEvent *event)
Move handler.
Definition: QVTKWidget3.cpp:155
QVTKWidget3::m_irenAdapter
QVTKInteractorAdapter * m_irenAdapter
Definition: QVTKWidget3.h:75
QVTKWidget3::focusNextPrevChild
virtual bool focusNextPrevChild(bool)
Definition: QVTKWidget3.cpp:349
QVTKWidget3::~QVTKWidget3
virtual ~QVTKWidget3()
Definition: QVTKWidget3.cpp:23
QVTKWidget3
Definition: QVTKWidget3.h:14
QVTKWidget3::End
virtual void End()
Slot called when vtk wants to end the render.
Definition: QVTKWidget3.cpp:178
QVTKWidget3::wheelEvent
virtual void wheelEvent(QWheelEvent *)
Definition: QVTKWidget3.cpp:301
QVTKWidget3::MakeCurrent
virtual void MakeCurrent()
Slot to make this vtk render window current.
Definition: QVTKWidget3.cpp:183
QVTKWidget3::leaveEvent
virtual void leaveEvent(QEvent *)
Definition: QVTKWidget3.cpp:263
QVTKWidget3::SupportsOpenGL
virtual void SupportsOpenGL(vtkObject *caller, unsigned long vtk_event, void *client_data, void *call_data)
Slot called when vtk wants to know if a window supports OpenGL.
Definition: QVTKWidget3.cpp:202
QVTKWidget3::IsDirect
virtual void IsDirect(vtkObject *caller, unsigned long vtk_event, void *client_data, void *call_data)
Slot called when vtk wants to know if a window is direct.
Definition: QVTKWidget3.cpp:196
QVTKWidget3::dropEvent
virtual void dropEvent(QDropEvent *)
Definition: QVTKWidget3.cpp:341
QVTKWidget3::keyReleaseEvent
virtual void keyReleaseEvent(QKeyEvent *event)
Definition: QVTKWidget3.cpp:293
QVTKWidget3::mouseReleaseEvent
virtual void mouseReleaseEvent(QMouseEvent *event)
Definition: QVTKWidget3.cpp:273
QVTKWidget3::paintGL
virtual void paintGL()
Paint handler.
Definition: QVTKWidget3.cpp:124
QVTKWidget3::IsCurrent
virtual void IsCurrent(vtkObject *caller, unsigned long vtk_event, void *client_data, void *call_data)
Slot called when vtk wants to know if the context is current.
Definition: QVTKWidget3.cpp:190
QVTKWidget3::m_renWin
vtkGenericOpenGLRenderWindow * m_renWin
Definition: QVTKWidget3.h:74
QVTKWidget3::mouseMoveEvent
virtual void mouseMoveEvent(QMouseEvent *event)
Definition: QVTKWidget3.cpp:243
QVTKWidget3::QVTKWidget3
QVTKWidget3(QWidget *parent=NULL, Qt::WindowFlags f=0, QSurfaceFormat format=QSurfaceFormat::defaultFormat())
Definition: QVTKWidget3.cpp:9
QVTKWidget3::GetRenderWindow
virtual vtkGenericOpenGLRenderWindow * GetRenderWindow()
Returns the curren render window (creates one if none exists)
Definition: QVTKWidget3.cpp:31
QVTKWidget3::Frame
virtual void Frame()
Slot called when vtk wants to frame the window.
Definition: QVTKWidget3.cpp:208
QVTKWidget3::enterEvent
virtual void enterEvent(QEvent *)
Definition: QVTKWidget3.cpp:253