gpt4 book ai didi

c++ - QVTKWidget中的renderWindowInteractor

转载 作者:行者123 更新时间:2023-12-02 10:25:50 25 4
gpt4 key购买 nike

我是VTK的新用户,我需要在其中添加renderWindowInteractorQVTKWidgetQTCreator。我有这个:

vtkSmartPointer<vtkRenderer> renderer = vtkSmartPointer<vtkRenderer>::New();
vtkSmartPointer<vtkRenderWindow> renderWindow =
vtkSmartPointer<vtkRenderWindow>::New();
renderWindow->AddRenderer(renderer);

vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
vtkSmartPointer<vtkRenderWindowInteractor>::New();

renderWindowInteractor->SetRenderWindow(renderWindow);

renderer->AddActor(actor);
renderWindow->Render();
renderWindowInteractor->Initialize();

但是如何将 RenderWindowInteractor放在 QVTKWidget中呢?我尝试了这个但是
不工作。
this->qvtkWidget->GetRenderWindow()->AddRenderer(renderer);

对不起,我的英语,我来自哥伦比亚。

最佳答案

QVTKWidget具有SetRenderWindow方法,可让您在QVTK引擎中设置渲染窗口。如果您已经为RenderWindowInteractor设置了相同的renderWindow,它应该可以工作。

这是我与自定义InteractionStyle一起使用的代码示例

QVTKWidget *engine = new QVTKWidget ();

// Setup window
vtkSmartPointer<vtkRenderWindow> renderWindow =
vtkSmartPointer<vtkRenderWindow>::New();

// Setup renderer
vtkSmartPointer<vtkRenderer> renderer =
vtkSmartPointer<vtkRenderer>::New();
renderWindow->AddRenderer(renderer);

engine->SetRenderWindow(renderWindow); // make the link between VTK and QT

// create stuff for user interaction
vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor =
vtkSmartPointer<vtkRenderWindowInteractor>::New();
/*
vtkSmartPointer<vtkUserInteractionStyle> inter = vtkUserInteractionStyle::New ();
inter->SetDefaultRenderer(renderer);
renderWindowInteractor->SetInteractorStyle( inter );
*/

// make the link between the renderwindow and the interactor
renderWindowInteractor->SetRenderWindow ( renderWindow );

engine->show();
renderWindow->Render ();
renderWindowInteractor->Initialize();

关于c++ - QVTKWidget中的renderWindowInteractor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25318210/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com