Base on couse 2, Changed step 4 to
-
4, Create a QVTKOpenGLWidget
//step 0: set it to a window: auto vw = new QVTKOpenGLWidget(this) ; vtkRenderWindow *renWin = vw->GetRenderWindow(); ui->tabWidget->addTab( vw, __FUNCTION__); vtkRenderer *render= vtkRenderer::New(); render->SetBackground( 0.1, 0.2, 0.4 ); vtkSmartPointer<vtkConeSource> coneSource = vtkSmartPointer<vtkConeSource>::New(); coneSource->SetRadius(.2); coneSource->SetHeight(.5); coneSource->SetCenter(0, 0, 0); vtkSmartPointer<vtkPolyDataMapper> coneMapper = vtkSmartPointer<vtkPolyDataMapper>::New(); coneMapper->SetInputConnection(coneSource->GetOutputPort()); vtkSmartPointer<vtkActor> coneActor = vtkSmartPointer<vtkActor>::New(); coneActor->SetMapper(coneMapper); vtkSmartPointer<vtkActor> oriConeActor = vtkSmartPointer<vtkActor>::New(); oriConeActor->SetMapper(coneMapper); // added outline vtkSmartPointer<vtkOutlineFilter> outline = vtkSmartPointer<vtkOutlineFilter>::New(); outline->SetInputConnection(coneSource->GetOutputPort()); vtkSmartPointer<vtkPolyDataMapper> outlineMapper = vtkSmartPointer<vtkPolyDataMapper>::New(); outlineMapper->SetInputConnection(outline->GetOutputPort()); vtkSmartPointer<vtkActor> outlineActor = vtkSmartPointer<vtkActor>::New(); outlineActor->SetMapper(outlineMapper); outlineActor->GetProperty()->SetColor(0, 0, 0); render->AddActor(oriConeActor); render->AddActor(outlineActor); renWin->AddRenderer( render );
-
5, Build and run You will get:
You can download the whole source code from Course-3