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

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

例子1


 

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

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

替换成:

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

例子2


 

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

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

 替换成:

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

 

 

posted on 2013-07-03 08:34  |残阳|露  阅读(829)  评论(0编辑  收藏  举报

导航