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 }