21 #ifndef vtkADIOS2CoreImageReader_h
22 #define vtkADIOS2CoreImageReader_h
30 #include "vtkSetGet.h"
33 #include "vtkIOADIOS2Module.h"
35 VTK_ABI_NAMESPACE_BEGIN
57 using Params = std::map<std::string, std::string>;
87 vtkSetVector3Macro(Origin,
double);
88 vtkGetVector3Macro(Origin,
double);
96 vtkSetVector3Macro(Spacing,
double);
97 vtkGetVector3Macro(Spacing,
double);
116 vtkSetMacro(DimensionArrayAsCell,
bool);
117 vtkGetMacro(DimensionArrayAsCell,
bool);
118 vtkBooleanMacro(DimensionArrayAsCell,
bool);
166 vtkSetMacro(IsColumnMajor,
bool);
167 vtkGetMacro(IsColumnMajor,
bool);
168 vtkBooleanMacro(IsColumnMajor,
bool);
235 template <
typename T>
239 template <
typename T,
template <
typename...>
class U>
244 template <
typename T>
263 struct vtkADIOS2CoreImageReaderImpl;
264 std::unique_ptr<vtkADIOS2CoreImageReaderImpl>
Impl;
270 VTK_ABI_NAMESPACE_END
void CalculateWorkDistribution(const std::string &varName)
bool InitWorkDistribution()
std::unique_ptr< vtkADIOS2CoreImageReaderImpl > Impl
bool OpenAndReadMetaData()
virtual int CanReadFile(VTK_FILEPATH const char *filename)
void ReadImageBlocks(vtkMultiBlockDataSet *mbds)
void GatherTimeStepsFromADIOSTimeArray()
vtkStringArray * GetAllDimensionArrays()
Get/Set the name of the array to deduce the dimension of vtkImageData.
int RequestDataObjectInternal(vtkInformationVector *)
~vtkADIOS2CoreImageReader() override
int ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
The main interface which triggers the reader to start.
const char * GetArrayName(int index)
Get information about arrays.
std::map< std::string, VarType > InquireVariablesType
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()
static vtkADIOS2CoreImageReader * New()
vtkSmartPointer< vtkMultiProcessController > Controller
StringToParams & GetAvilableVariables()
Get the available variables.
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 std::pair< std::string, VarType > & GetActiveScalar() const
Get/Set the active scalar on each image block.
vtkMTimeType GetMTime() override
Overridden to take into account mtimes for vtkDataArraySelection instances.
void SetFileName(VTK_FILEPATH const char *filename)
std::string DimensionArray
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.
StringToParams & GetAvailableAttributes()
Get the available attributes.
int GetNumberOfArrays()
Get information about arrays.
int GetArrayStatus(const char *name)
Get information about arrays.
std::string TimeStepArray
const StringToParams & GetAvilableVariables() const
Get/Set the active scalar on each image block.
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()
Get/Set the active scalar on each image block.
const StringToParams & GetAvailableAttributes() const
Get/Set the active scalar on each image block.
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
vtkTypeUInt32 vtkMTimeType