09 - 删除vtkDataObject中的ShouldIReleaseData() and ReleaseDataFlag 方法 VTK 6.0 迁移

VTK6 引入了许多不兼容的变。其中之一是删除vtkDataObject中所有有关管道的方法。下面列出来的就是其中的一些方法:

  • ShouldIReleaseData()
  • SetReleaseDataFlag()
  • GetReleaseDataFlag()
  • ReleaseDataFlagToOn()
  • ReleaseDataFlagToOff()

所有上面的方法(排除ShouldIReleaseData)都被迁移到vtkDemandDrivenPipeline中,任何先前的代码都可以使用vtkDemandDrivenPipeline的方法来替换。ShouldIReleaseData是个方便的方法被管道执行过程使用,现在变成私有的内部方法。

vtkDataObject* dobj = anAlgorithm->GetOutput();
dobj->SetReleaseDataFlag(1);

 

替换成:

vtkDemandDrivenPipeline* executive =
        vtkDemandDrivenPipeline::SafeDownCast(
             anAlgorithm->GetExecutive());
if (executive)
  {
  executive->SetReleaseDataFlag(0, 1); // where 0 is the port index
  }

 

 

 

 

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

导航