12#ifndef VTK_IO_ADIOS2_VTX_SCHEMA_VTXSchema_h
13#define VTK_IO_ADIOS2_VTX_SCHEMA_VTXSchema_h
27VTK_ABI_NAMESPACE_BEGIN
57 const std::string& type,
const std::string& schema, adios2::IO& io, adios2::Engine& engine);
77 virtual void ReadPiece(
size_t step,
size_t pieceID) = 0;
79 void GetTimes(
const std::string& variableName =
"");
82#define declare_type(T) \
83 virtual void SetDimensions( \
84 adios2::Variable<T> variable, const types::DataArray& dataArray, size_t step); \
86 virtual void SetBlocks(adios2::Variable<T> variable, types::DataArray& dataArray, size_t step);
93 void GetDataArrayCommon(adios2::Variable<T> variable, types::DataArray& dataArray,
size_t step);
96 void GetDataArrayGlobal(adios2::Variable<T> variable, types::DataArray& dataArray,
size_t step);
99 void GetDataArrayLocal(adios2::Variable<T> variable, types::DataArray& dataArray,
size_t step);
102 void GetDataValueGlobal(adios2::Variable<T> variable, types::DataArray& dataArray,
size_t step);
105 void GetTimesCommon(
const std::string& variableName);
109 const std::string& name,
size_t elements,
size_t components, types::DataArray& dataArray);
#define VTK_IO_ADIOS2_VTX_ARRAY_TYPE(MACRO)
Composite dataset that organizes datasets into blocks.
Abstract common class to supported ADIOS2 schemas.
virtual void ReadPiece(size_t step, size_t pieceID)=0
void GetTimes(const std::string &variableName="")
VTXSchema(const std::string &type, const std::string &schema, adios2::IO &io, adios2::Engine &engine)
Generic base constructor.
virtual void DoFill(vtkMultiBlockDataSet *multiBlock, size_t step)=0
std::string Schema
schema contents as a single string
std::map< double, size_t > Times
Stored times and corresponding steps.
const std::string Type
carries schema type from derived class
void Fill(vtkMultiBlockDataSet *multiBlock, size_t step=0)
Fills multiblock data from request steps.
void GetDataArray(const std::string &variableName, types::DataArray &dataArray, size_t step=0)
virtual void InitTimes()=0