33 #ifndef vtkADIOS2CoreImageReader_h
34 #define vtkADIOS2CoreImageReader_h
43 #include "vtkSetGet.h"
46 #include "vtkIOADIOS2Module.h"
68 using Params = std::map<std::string, std::string>;
98 vtkSetVector3Macro(Origin,
double);
99 vtkGetVector3Macro(Origin,
double);
107 vtkSetVector3Macro(Spacing,
double);
108 vtkGetVector3Macro(Spacing,
double);
127 vtkSetMacro(DimensionArrayAsCell,
bool);
128 vtkGetMacro(DimensionArrayAsCell,
bool);
129 vtkBooleanMacro(DimensionArrayAsCell,
bool);
172 vtkSetMacro(IsColumnMajor,
bool);
173 vtkGetMacro(IsColumnMajor,
bool);
174 vtkBooleanMacro(IsColumnMajor,
bool);
242 template <
typename T>
246 template <
typename T,
template <
typename...>
class U>
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()
std::unique_ptr< vtkADIOS2CoreImageReaderImpl > Impl
bool OpenAndReadMetaData()
void ReadImageBlocks(vtkMultiBlockDataSet *mbds)
void GatherTimeStepsFromADIOSTimeArray()
void SetFileName(const char *filename)
vtkStringArray * GetAllDimensionArrays()
Get/Set the name of the array to deduce the dimension of vtkImageData.
int RequestDataObjectInternal(vtkInformationVector *)
~vtkADIOS2CoreImageReader() override
const char * GetArrayName(int index)
static vtkADIOS2CoreImageReader * New(void)
void UpdateDimensionFromDimensionArray()
void SetController(vtkMultiProcessController *)
Set the MPI controller.
std::vector< std::pair< std::string, VarType > > InquireVariablesType
void SetActiveScalar(const std::pair< std::string, VarType > &inqVars)
Get/Set the active scalar on each image block.
vtkADIOS2CoreImageReader()
vtkSmartPointer< vtkMultiProcessController > Controller
StringToParams & GetAvilableVariables()
Get the available variables.
virtual int CanReadFile(const char *filename)
virtual int ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
The main interface which triggers the reader to start.
std::map< std::string, std::string > Params
void SetArrayStatus(const char *name, int status)
Set the array that should be read in.
const std::pair< std::string, VarType > & GetActiveScalar() const
std::string DimensionArray
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
StringToParams & GetAvailableAttributes()
Get the available attributes.
int GetNumberOfArrays()
Get information about arrays.
int GetArrayStatus(const char *name)
std::string TimeStepArray
int CanReadFile(const std::string &name)
Test whether or not a given file should even be attempted for use with this reader.
const StringToParams & GetAvilableVariables() const
vtkSmartPointer< vtkAbstractArray > PopulateDataArrayFromVar(const std::string &varName, size_t blockIndex)
std::string FetchTypeStringFromVarName(const std::string &name)
bool DimensionArrayAsCell
std::map< std::string, Params > StringToParams
vtkStringArray * GetAllTimeStepArrays()
std::pair< std::string, VarType > & GetActiveScalar()
const StringToParams & GetAvailableAttributes() const
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **input, vtkInformationVector *output) override
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.
a vtkAbstractArray subclass for strings