08 - 删除vtkDataObject中的SetWholeExtent() 方法 VTK 6.0 迁移

时间:2022-01-22 15:59:56

VTK6 引入了许多不兼容的变。其中之一是删除vtkDataObject中所有有关管道的方法。其中之一就是SetWholeExtent()。SetWholeExtent()方法先前被用来管理结构话数据的所有可能的元数据片数,但是不能被正确的用来设置结构话数据的extent。

例子1


在output information中,我们可以简单的替换成WHOLE_EXTENT()设置。

int vtkMyReader::RequestInformation(vtkInformation*, vtkInformationVector**,
vtkInformationVector* outInfoVec)
{
vtkImageData* image = this->GetOutput();
int wext[] = {, , , , , };
image->SetWholeExtent(wext);
return ;
}

替换成:

int vtkMyReader::RequestInformation(vtkInformation*, vtkInformationVector**,
vtkInformationVector* outInfoVec)
{
vtkInformation* outInfo = outInfoVec->GetInformationObject();
int wext[] = {, , , , , };
outInfo->Set(vtkStreamingDemandDrivenPipeline::WHOLE_EXTENT(), wext, );
return ;
}

例子2


下面这种,可以安全的移除。

int wext[] = {, , , , , };
image->SetExtent(wext);
image->SetWholeExtent(wext);

替换成:

int wext[] = {, , , , , };
image->SetExtent(wext);