Skip to content
  • Utkarsh Ayachit's avatar
    Filter API enhancements. · 0af0271f
    Utkarsh Ayachit authored
    This revamps Filter API to improve support for multiblock dataset and
    distributed use-cases. Filters now operate on MultiBlock alone thus
    `Filter::Execute(MultiBlock&)` is the primary method.
    `Filter::Execute(DataSet*)` is only provided as an convenience that
    internally puts the dataset into a MultiBlock and calls the primary
    method.
    
    Subclasses can provides PreExecute and PostExecute overrides to handle
    init/reduction operations for filters with operating on multiple blocks.
    Since blocks can be distributed, filters are expected to handle that as
    well.
    
    Subclasses can provide `PrepareForExecution(MultiBlock*..)` to customize
    behavior for handling multiblock inputs. Default is to simply loop
    over blocks.
    0af0271f