QVTK 可视化
2023-12-13 14:39:23
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <vtkNew.h> // 智能指针
#include <QVTKOpenGLNativeWidget.h>
#include <vtkCylinderSource.h> // 圆柱
#include <vtkPolyDataMapper.h>
#include <vtkActor.h>
#include <vtkRenderer.h>
#include <vtkProperty.h>
#include <vtkCamera.h>
#include <vtkGenericOpenGLRenderWindow.h>
#include "vtkAutoInit.h"
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);
VTK_MODULE_INIT(vtkRenderingVolumeOpenGL2);
VTK_MODULE_INIT(vtkRenderingFreeType);
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
vtkNew<vtkCylinderSource> cylinder; // 圆柱
vtkNew<vtkPolyDataMapper> mapper;
vtkNew<vtkActor> actor;
vtkNew<vtkRenderer> renderer;
vtkNew<vtkGenericOpenGLRenderWindow> renWin;
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
#include “mainwindow.h”
#include “./ui_mainwindow.h”
-
MainWindow::MainWindow(QWidget *parent)
-
QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
ui->openGLWidget->setStyleSheet(“background:transparent;border:3px solid black;”);
cylinder->SetResolution(10);
mapper->SetInputConnection(cylinder->GetOutputPort());
actor->SetMapper(mapper);
actor->GetProperty()->SetColor(0.0000, 0.3883, 0.2784);
actor->RotateX(30.0);
actor->RotateY(-45.0);
renderer->AddActor(actor);
renderer->ResetCamera();
renderer->GetActiveCamera()->Zoom(1.5);
renderer->SetBackground(0.1, 0.3, 0.7);
renWin->AddRenderer(renderer);
renWin->SetSize(640, 640);
ui->openGLWidget->setRenderWindow(renWin);
}
MainWindow::~MainWindow()
{
delete ui;
}
`
``
文章来源:https://blog.csdn.net/weixin_43862398/article/details/134970179
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!