【问题标题】:Clipping in vtk surface rendered output裁剪 vtk 表面渲染输出
【发布时间】:2019-02-22 10:07:46
【问题描述】:

我已经使用 vtk 行进立方体完成了表面渲染,现在我需要在其中进行剪辑。

我搜索并找到了如何在体积渲染输出中进行剪辑(即;使用光线投射方法)。但我需要在表面渲染输出中进行剪辑。 所以我创建了一个 vtkClipPolyData

plane->SetOrigin(0.0, 0.0, pDoc->fBounds[4]);
plane->SetNormal(1.0, -1.0, -1.0);




clipper->SetInputConnection(//marchingcubes variable here//->GetOutputPort());
clipper->SetClipFunction(plane);
clipper->SetValue(.5);
clipper->Update();
polydata = clipper->GetOutput();//vtkPolyData//

mapper->SetInput(polydata);//vtkPolyDataMapper//
actor->SetMapper(mapper);//vtkActor//

我得到了剪辑的输出。但问题是我需要创建一个滑块,当拖动滑块时,剪辑应该来回出现在轴向视图中。我的问题清楚吗?有人可以帮忙吗?

【问题讨论】:

    标签: c++ visual-studio-2008 vtk


    【解决方案1】:

    您可以尝试使用vtkSliderWidget。有一个如何使用它的示例here。在它的回调中,你可以设置剪切平面的位置。

    另一种选择:您可以使用 vtkImplicitPlaneWidget2(注意:这里的 2 是因为有新版本和旧版本 - 尽可能使用“2”版本)。

    【讨论】:

    • 我已经使用 CScrollBar 类创建了滑块。现在我需要使用该滑块来使用 vtk
    • 然后,您需要做的就是,在滑块的值更改事件中,设置您的平面原点,在 polydata 上调用 Update,为映射器设置新输入并调用 Render。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-09
    • 1970-01-01
    相关资源
    最近更新 更多