33#ifndef vtkADIOS2CoreImageReader_h
34#define vtkADIOS2CoreImageReader_h
45#include "vtkIOADIOS2Module.h"
68 using Params = std::map<std::string, std::string>;
242 template <
typename T>
246 template <
typename T,
template <
typename...>
class U>
248 const std::string& varName,
size_t blockIndex);
251 template <
typename T>
270 struct vtkADIOS2CoreImageReaderImpl;
271 std::unique_ptr<vtkADIOS2CoreImageReaderImpl>
Impl;
void CalculateWorkDistribution(const std::string &varName)
virtual int RequestData(vtkInformation *request, vtkInformationVector **input, vtkInformationVector *output) override
bool InitWorkDistribution()
StringToParams & GetAvilableVariables()
Get the available variables.
std::unique_ptr< vtkADIOS2CoreImageReaderImpl > Impl
bool OpenAndReadMetaData()
virtual int CanReadFile(VTK_FILEPATH const char *filename)
void ReadImageBlocks(vtkMultiBlockDataSet *mbds)
void GatherTimeStepsFromADIOSTimeArray()
const StringToParams & GetAvailableAttributes() const
Get/Set the active scalar on each image block.
int RequestDataObjectInternal(vtkInformationVector *)
~vtkADIOS2CoreImageReader() override
const char * GetArrayName(int index)
Get information about arrays.
const std::pair< std::string, VarType > & GetActiveScalar() const
Get/Set the active scalar on each image block.
void UpdateDimensionFromDimensionArray()
void SetController(vtkMultiProcessController *)
Set the MPI controller.
void SetActiveScalar(const std::pair< std::string, VarType > &inqVars)
Get/Set the active scalar on each image block.
vtkADIOS2CoreImageReader()
vtkSmartPointer< vtkMultiProcessController > Controller
int CanReadFile(VTK_FILEPATH const std::string &name)
Test whether or not a given file should even be attempted for use with this reader.
virtual int ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
The main interface which triggers the reader to start.
static vtkADIOS2CoreImageReader * New(void)
std::map< std::string, std::string > Params
void SetArrayStatus(const char *name, int status)
Set the array that should be read in.
const StringToParams & GetAvilableVariables() const
Get/Set the active scalar on each image block.
vtkStringArray * GetAllTimeStepArrays()
StringToParams & GetAvailableAttributes()
Get the available attributes.
void SetFileName(VTK_FILEPATH const char *filename)
std::string DimensionArray
std::pair< std::string, VarType > & GetActiveScalar()
Get/Set the active scalar on each image block.
vtkStringArray * GetAllDimensionArrays()
Get/Set the name of the array to deduce the dimension of vtkImageData.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int GetNumberOfArrays()
Get information about arrays.
std::vector< std::pair< std::string, VarType > > InquireVariablesType
int GetArrayStatus(const char *name)
Get information about arrays.
std::string TimeStepArray
std::string FetchTypeStringFromVarName(const std::string &name)
bool DimensionArrayAsCell
std::map< std::string, Params > StringToParams
vtkSmartPointer< vtkAbstractArray > PopulateDataArrayFromVar(const std::string &varName, size_t blockIndex)
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **input, vtkInformationVector *output) override
void ConvertArraySelectionToInqVar()
object to represent cell connectivity
general representation of visualization data
represent and manipulate attribute data in a dataset
abstract class to specify dataset behavior
represent and manipulate fields of data
topologically and geometrically regular array of data
a simple class to control print indentation
Composite dataset that organizes datasets into blocks.
Multiprocessing communication superclass.
Hold a reference to a vtkObjectBase instance.
a vtkAbstractArray subclass for strings