我希望能够在ParaView中显示时独立切换属于不同区域的非结构化网格的显示。因此,使用vtkMultiBlockDataSet输出vtm文件,如下所示。 但是当试图用PraView显示时,在两个vtkcells重叠的地方发生了闪烁。 如果你能告诉我如何消除闪烁,我会很高兴的。
vtkSmartPointer<vtkMultiBlockDataSet> mb =
vtkSmartPointer<vtkMultiBlockDataSet>::New();
int numRegions = 2;
mb->SetNumberOfBlocks(numRegions);
mb->SetBlock(0, MakeHexahedron());
mb->SetBlock(1, MakeHexagonalPrism());
vtkSmartPointer<vtkXMLMultiBlockDataWriter> writer =
vtkSmartPointer<vtkXMLMultiBlockDataWriter>::New();
writer->SetFileName(filename);
writer->SetInputData(mb);
writer->Write();
MakeHexahedron()
和MakeHexagonalPrism()
返回vtkSmartPointer<vtkUnstructuredGrid>
,两个vtkcells的表面相互接触。
我使用的是vtk 7,ubuntu 16.04,paraview 5.2。
答案 0 :(得分:1)
当您使用vtkMultiBlockDataSet
时,我认为您可能希望通过在ParaView中使用vtkExtractBlock类或其相应的过滤器来独立地与每个元素进行交互。但在我看来,只要数据集共享公共单元格,渲染就会出现闪烁。
解决此问题的另一种方法是使用vtkAppendFilter附加数据集并使用Clean to grid
ParaView过滤器,通过这样做来消除常见单元格,从而消除闪烁。