裁剪VTK表面渲染输出

时间:2019-02-22 10:07:46

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

我已经使用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//

我正在获取剪切的输出。但是问题是我需要创建一个滑动条,并且拖动滑块时,剪切应在轴向视图中来回显示。我的问题清楚吗?有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

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

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