VTK ( 003) 基础 QVTKOpenGLNativeWidget

VTK ( 003) 基础 QVTKOpenGLNativeWidget

QVTKOpenGLNativeWidget

QVTKOpenGLNativeWidget 是 Qt 显示 3D 图像的一个控件。

    // 添加窗口
    qvtkWidget = new QVTKOpenGLNativeWidget();
    renderWindow = vtkGenericOpenGLRenderWindow::New();
    qvtkWidget->setRenderWindow(renderWindow);
    ui->verticalLayout->addWidget(qvtkWidget, 2);

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

    // 创建一个简单的 VTK 场景
    vtkSmartPointer<vtkConeSource> coneSource = vtkSmartPointer<vtkConeSource>::New();
    vtkSmartPointer<vtkPolyDataMapper> coneMapper = vtkSmartPointer<vtkPolyDataMapper>::New();
    coneMapper->SetInputConnection(coneSource->GetOutputPort());
    
    // 创建一个圆锥体
    vtkSmartPointer<vtkActor> coneActor = vtkSmartPointer<vtkActor>::New();
    coneActor->SetMapper(coneMapper);

    // 设置圆锥体颜色
    vtkSmartPointer<vtkNamedColors> colors = vtkSmartPointer<vtkNamedColors>::New();
    coneActor->GetProperty()->SetColor(colors->GetColor3d("Tomato").GetData());

    // 添加演员到渲染器
    renderer->AddActor(actor);

    // 设置背景颜色
    renderer->SetBackground(colors->GetColor3d("SlateGray").GetData()); 

    // 重置相机
    renderer->ResetCamera();
    qvtkWidget->hide(); // 隐藏默认的 QVTKWidget
posted @ 2025-01-13 16:39  ReRound  阅读(225)  评论(0)    收藏  举报