21#ifndef vtkADIOS2CoreImageReader_h
22#define vtkADIOS2CoreImageReader_h
33#include "vtkIOADIOS2Module.h"
35VTK_ABI_NAMESPACE_BEGIN
57 using Params = std::map<std::string, std::string>;
76 vtkSetMacro(FileName, std::string);
77 vtkGetMacro(FileName, std::string);
87 vtkSetVector3Macro(Origin,
double);
88 vtkGetVector3Macro(Origin,
double);
96 vtkSetVector3Macro(Spacing,
double);
97 vtkGetVector3Macro(Spacing,
double);
107 vtkSetMacro(DimensionArray, std::string);
108 vtkGetMacro(DimensionArray, std::string);
116 vtkSetMacro(DimensionArrayAsCell,
bool);
117 vtkGetMacro(DimensionArrayAsCell,
bool);
118 vtkBooleanMacro(DimensionArrayAsCell,
bool);
127 vtkSetMacro(TimeStepArray, std::string);
128 vtkGetMacro(TimeStepArray, std::string);
166 vtkSetMacro(IsColumnMajor,
bool);
167 vtkGetMacro(IsColumnMajor,
bool);
168 vtkBooleanMacro(IsColumnMajor,
bool);
235 template <
typename T>
239 template <
typename T,
template <
typename...>
class U>
241 const std::string& varName,
size_t blockIndex);
244 template <
typename T>
263 struct vtkADIOS2CoreImageReaderImpl;
264 std::unique_ptr<vtkADIOS2CoreImageReaderImpl>
Impl;
void CalculateWorkDistribution(const std::string &varName)
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.
static vtkADIOS2CoreImageReader * New()
int RequestDataObjectInternal(vtkInformationVector *)
~vtkADIOS2CoreImageReader() override
int ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
The main interface which triggers the reader to start.
std::map< std::string, VarType > InquireVariablesType
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.
int RequestInformation(vtkInformation *request, vtkInformationVector **input, vtkInformationVector *output) override
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.
vtkMTimeType GetMTime() override
Overridden to take into account mtimes for vtkDataArraySelection instances.
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.
int RequestData(vtkInformation *request, vtkInformationVector **input, vtkInformationVector *output) override
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.
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)
void ConvertArraySelectionToInqVar()
object to represent cell connectivity
abstract superclass for arrays of numeric data
Superclass for algorithms that produce only data object as output.
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
vtkTypeUInt32 vtkMTimeType