Skip to content

Break reference cycles in vtk pipeline

  • With this MR, the VTK pipeline no longer requires garbage collection.
  • Previously an executive stored itself and its consumers in an information object that was shared among the producer and consumer and caused reference loops.
  • Whereas now, a consumer keeps its producers alive by maintaining an internal list of its input algorithms and their output port indices. See vtkAlgorithmInternals::InputAlgorithms.
  • vtkExecutive::PRODUCER() and vtkExecutive::CONSUMERS() are no longer required and those keys are marked deprecated.
  • Aditionally, the vtkInformationExecutivePortKey and vtkInformationExecutivePortVectorKey classes are not used anymore.
  • The algorithm <-> executive reference loop is manually severed in their respective ::UnRegisterInternal methods.
Edited by Jaswant Panchumarti (Kitware)

Merge request reports