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( /*piece*/, /*number of pieces*/);
dobj->Update();
替换成:
aFilter->UpdateInformation();
aFilter->SetUpdateExtent( /*piece*/, /*number of pieces*/, /*ghost levels*/);
aFilter->Update();
例子2:
vtkDataObject* dobj = aFilter->GetOutput();
dobj->UpdateInformation();
int updateExtent[] = {, , , , , };
dobj->SetUpdateExtent(updateExtent);
dobj->Update();
替换成:
aFilter->UpdateInformation();
int updateExtent[] = {, , , , , };
aFilter->SetUpdateExtent(updateExtent);
aFilter->Update();