我有很多线和平面,例如,(0.5,0.5,0.5)点。我也有一个重要的区域,它是一个立方体。线条,平面有可能与这个区域相交,并且在它之外。我可以隐藏所有元素的一部分,以及未包含在我的区域中的元素部分吗? Vtk有机会非常简单吗?或者我需要自己做?我想写一下,例如SetBounds(bounds),之后所有的东西都不包含在cube dissapear中。
答案 0 :(得分:0)
尝试使用vtkClipDataSet并将剪辑功能设置为vtkBox。最后,渲染vtkClipDataSet过滤器的输出。
vtkNew<vtkBox> box;
box->SetBounds(.....); // set the bounds of interest.
vtkNew<vtkClipDataSet> clipper;
clipper->SetInputConnection(....); // set to your data producer
clipper->SetClipFunction(box.GetPointer());
// since clipper will produce an unstructured grid, apply the following to
// extract a polydata from it.
vtkNew<vtkGeometryFilter> geomFilter;
geomFilter->SetInputConnection(clipper->GetOutputPort());
// now, this can be connected to the mapper.
vtkNew<vtkPolyDataMapper> mapper;
mapper->SetInputConnection(geomFilter->GetOutputPort());