在 vtk 表面渲染输出中裁剪
Clipping in vtk surface rendered output
我已经使用 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//
我得到了剪裁 output.but 问题是我需要创建一个滑块,当拖动滑块时,剪裁应该出现在轴向视图中来回。我的问题清楚吗?有人可以帮忙吗?
您可以尝试使用 vtkSliderWidget. There's an example of how to use it here。在其回调中,您可以设置裁剪平面的位置。
另一种选择:您可以使用 vtkImplicitPlaneWidget2(注意:2 是因为有一个新版本和一个旧版本 - 尽可能使用“2”版本)。
我已经使用 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//
我得到了剪裁 output.but 问题是我需要创建一个滑块,当拖动滑块时,剪裁应该出现在轴向视图中来回。我的问题清楚吗?有人可以帮忙吗?
您可以尝试使用 vtkSliderWidget. There's an example of how to use it here。在其回调中,您可以设置裁剪平面的位置。
另一种选择:您可以使用 vtkImplicitPlaneWidget2(注意:2 是因为有一个新版本和一个旧版本 - 尽可能使用“2”版本)。