1

私は の新しいユーザーです。 のに を入力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();

しかし、どうやって入れることができますRenderWindowInteractorQVTKWidget?? 私はこれを試しましたが、うまくいきませんでした。

this->qvtkWidget->GetRenderWindow()->AddRenderer(renderer);

私の英語で申し訳ありません、私はコロンビアから来ました。

4

2 に答える 2

1

QVTKWidgetにはSetRenderWindow、QVTK エンジンで renderwindow を設定できるメソッドがあります。同じ renderWindow を RenderWindowInteractor に設定した場合は、機能するはずです。

これは、カスタム 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();
于 2014-08-15T03:02:26.127 に答える