Add QVTKOpenGLNativeWidget2 , to fix volume rendering bug after pick.
This commit is contained in:
28
src/src/UI/Window/QVTKOpenGLNativeWidget2.cpp
Normal file
28
src/src/UI/Window/QVTKOpenGLNativeWidget2.cpp
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
//
|
||||||
|
// Created by Krad on 2022/11/4.
|
||||||
|
//
|
||||||
|
|
||||||
|
#include "QVTKOpenGLNativeWidget2.h"
|
||||||
|
|
||||||
|
#include <vtkGenericOpenGLRenderWindow.h>
|
||||||
|
QVTKOpenGLNativeWidget2::QVTKOpenGLNativeWidget2(QWidget *parent, Qt::WindowFlags f) :QVTKOpenGLNativeWidget(parent,f) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
QVTKOpenGLNativeWidget2::~QVTKOpenGLNativeWidget2() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void QVTKOpenGLNativeWidget2::leaveEvent(QEvent *event) {
|
||||||
|
QWidget::leaveEvent(event);
|
||||||
|
if (RenderWindow){
|
||||||
|
RenderWindow->Render();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void QVTKOpenGLNativeWidget2::enterEvent(QEvent *event) {
|
||||||
|
QWidget::enterEvent(event);
|
||||||
|
if (RenderWindow){
|
||||||
|
RenderWindow->Render();
|
||||||
|
}
|
||||||
|
}
|
||||||
22
src/src/UI/Window/QVTKOpenGLNativeWidget2.h
Normal file
22
src/src/UI/Window/QVTKOpenGLNativeWidget2.h
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
//
|
||||||
|
// Created by Krad on 2022/11/4.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef OMEGAV_QVTKOPENGLNATIVEWIDGET2_H
|
||||||
|
#define OMEGAV_QVTKOPENGLNATIVEWIDGET2_H
|
||||||
|
|
||||||
|
#include <QVTKOpenGLNativeWidget.h>
|
||||||
|
|
||||||
|
class QVTKOpenGLNativeWidget2 :public QVTKOpenGLNativeWidget {
|
||||||
|
Q_OBJECT
|
||||||
|
typedef QOpenGLWidget Superclass;
|
||||||
|
public:
|
||||||
|
QVTKOpenGLNativeWidget2(QWidget* parent = Q_NULLPTR, Qt::WindowFlags f = Qt::WindowFlags());
|
||||||
|
~QVTKOpenGLNativeWidget2() override;
|
||||||
|
protected:
|
||||||
|
void leaveEvent(QEvent *event) override;
|
||||||
|
void enterEvent(QEvent *event) override;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif //OMEGAV_QVTKOPENGLNATIVEWIDGET2_H
|
||||||
@@ -6,10 +6,10 @@
|
|||||||
|
|
||||||
#include <QVBoxLayout>
|
#include <QVBoxLayout>
|
||||||
#include <qdebug.h>
|
#include <qdebug.h>
|
||||||
#include <QVTKOpenGLNativeWidget.h>
|
|
||||||
#include <vtkRenderer.h>
|
#include <vtkRenderer.h>
|
||||||
#include <vtkGenericOpenGLRenderWindow.h>
|
#include <vtkGenericOpenGLRenderWindow.h>
|
||||||
|
|
||||||
|
#include "QVTKOpenGLNativeWidget2.h"
|
||||||
#include "Common/SeriesImageSet.h"
|
#include "Common/SeriesImageSet.h"
|
||||||
#include "Rendering/Viewer/VolumeRenderingViewer.h"
|
#include "Rendering/Viewer/VolumeRenderingViewer.h"
|
||||||
#include "UI/Widget/ToolBar/VolumeRenderingToolBar.h"
|
#include "UI/Widget/ToolBar/VolumeRenderingToolBar.h"
|
||||||
@@ -27,8 +27,7 @@ VolumeRenderingWindow::VolumeRenderingWindow(QWidget *parent , Qt::WindowFlags f
|
|||||||
layout->setSpacing(0);
|
layout->setSpacing(0);
|
||||||
auto toolBar = new VolumeRenderingToolBar(this);
|
auto toolBar = new VolumeRenderingToolBar(this);
|
||||||
layout->addWidget(toolBar);
|
layout->addWidget(toolBar);
|
||||||
auto widget = new QVTKOpenGLNativeWidget(this);
|
auto widget = new QVTKOpenGLNativeWidget2(this);
|
||||||
|
|
||||||
vtkNew<vtkRenderer> renderer;
|
vtkNew<vtkRenderer> renderer;
|
||||||
mViewer->SetRenderWindow(mRenderWin);
|
mViewer->SetRenderWindow(mRenderWin);
|
||||||
mViewer->SetRenderer(renderer);
|
mViewer->SetRenderer(renderer);
|
||||||
|
|||||||
Reference in New Issue
Block a user