10 - 删除vtkDataObject中的Update Extent方法 VTK 6.0 迁移
VTK6 引入了许多不兼容的变。其中之一是删除vtkDataObject中所有有关管道的方法。下面列出来的就是其中的一些方法:
- SetUpdateExtent(int piece, int numPieces, int ghostLevel)
- SetUpdateExtent(int piece, int numPieces)
- SetUpdateExtent(int extent[6])
- SetUpdateExtent(int x0, int x1, int y0, int y1, int z0, int z1)
- int* GetUpdateExtent()
- GetUpdateExtent(int& x0, int& x1, int& y0, int& y1,int& z0, int& z1)
- GetUpdateExtent(int extent[6])
- SetUpdateExtentToWholeExtent()
为了方便,我们给vtkAlgorithm类中加了相似的方法,这样可以方便的过度到VTK6中。这些方法如下:
- SetUpdateExtent(int port, int connection, int piece,int numPieces, int ghostLevel);
- SetUpdateExtent(int piece,int numPieces, int ghostLevel);
- SetUpdateExtent(int port, int connection, int extent[6]);
- SetUpdateExtent(int extent[6]);
- SetUpdateExtentToWholeExtent(int port, int connection);
- SetUpdateExtentToWholeExtent();
- int* GetUpdateExtent()
- GetUpdateExtent(int& x0, int& x1, int& y0, int& y1,int& z0, int& z1)
- GetUpdateExtent(int extent[6])
- GetUpdatePiece()
- GetUpdateNumberOfPieces()
- GetUpdateGhostLeve()
例子1:
vtkDataObject* dobj = aFilter->GetOutput(); dobj->UpdateInformation(); dobj->SetUpdateExtent(0 /*piece*/, 2 /*number of pieces*/); dobj->Update();
替换成:
aFilter->UpdateInformation(); aFilter->SetUpdateExtent(0 /*piece*/, 2 /*number of pieces*/, 0 /*ghost levels*/); aFilter->Update();
例子2:
vtkDataObject* dobj = aFilter->GetOutput(); dobj->UpdateInformation(); int updateExtent[6] = {0, 10, 0, 10, 0, 10}; dobj->SetUpdateExtent(updateExtent); dobj->Update();
替换成:
aFilter->UpdateInformation(); int updateExtent[6] = {0, 10, 0, 10, 0, 10}; aFilter->SetUpdateExtent(updateExtent); aFilter->Update();