Go to the documentation of this file.
25 #ifndef vtkADIOSReader_h
26 #define vtkADIOSReader_h
35 #include "vtkSetGet.h"
40 #include "vtkIOADIOSModule.h"
79 vtkSetStringMacro(FileName);
80 vtkGetStringMacro(FileName);
103 vtkSetStringMacro(ReadMethodArguments);
104 vtkGetStringMacro(ReadMethodArguments);
185 std::map<std::pair<int, size_t>,
186 std::pair<int, vtkSmartPointer<vtkObject> > >
216 template<
typename TObjectFun,
typename TObjectData,
typename TReturn>
219 template<
typename TObjectFun,
typename TObjectData,
typename TReturn,
220 typename TArg1Fun,
typename TArg1Data>
222 TReturn (TObjectFun::*)(TArg1Fun), TArg1Data);
224 template<
typename TObjectFun,
typename TObjectData,
typename TReturn,
225 typename TArg1Fun,
typename TArg1Data,
226 typename TArg2Fun,
typename TArg2Data>
228 TReturn (TObjectFun::*)(TArg1Fun, TArg2Fun),
229 TArg1Data, TArg2Data);
231 template<
typename TObjectFun,
typename TObjectData,
typename TReturn,
232 typename TArg1Fun,
typename TArg1Data,
233 typename TArg2Fun,
typename TArg2Data,
234 typename TArg3Fun,
typename TArg3Data>
236 TReturn (TObjectFun::*)(TArg1Fun, TArg2Fun, TArg3Fun),
237 TArg1Data, TArg2Data, TArg3Data);
267 #define DECLARE_EXPLICIT(T) \
268 template<> T* vtkADIOSReader::ReadObject<T>(const std::string& path, \
273 #undef DECLARE_EXPLICIT
virtual int RequestUpdateExtent(vtkInformation *request, vtkInformationVector **input, vtkInformationVector *output)
This is called by the superclass.
vtkMultiProcessController * Controller
virtual int ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
The main interface which triggers the reader to start.
std::vector< std::map< std::string, size_t > > BlockStepIndexIdMap
void ReadObject(const vtkADIOSDirTree *dir, vtkCellArray *data, int blockId)
void SetReadMethodDIMES()
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **input, vtkInformationVector *output)
represent and manipulate attribute data in a dataset
void SetReadMethodBPAggregate()
Superclass for algorithms that produce only data object as output.
char * ReadMethodArguments
abstract superclass for arrays of numeric data
void ReadObject(const vtkADIOSDirTree *dir, vtkPolyData *data, int blockId)
void ReadObject(const vtkADIOSDirTree *dir, vtkUnstructuredGrid *data, int blockId)
void ReadObject(const vtkADIOSDirTree *dir, vtkDataSetAttributes *data, int blockId)
void ReadObject(const vtkADIOSDirTree *dir, vtkFieldData *data, int blockId)
void ReadObject(const vtkADIOSDirTree *dir, vtkImageData *data, int blockId)
virtual ~vtkADIOSReader()
represent and manipulate fields of data
void ReadObject(const ADIOS::VarInfo *info, const vtkADIOSDirTree *subDir, vtkDataArray *data, int blockId)
Initialize a pre-allocated object with it's appropriate scalars.
void SetReadMethodFlexPath()
std::vector< double > TimeSteps
virtual int RequestData(vtkInformation *request, vtkInformationVector **input, vtkInformationVector *output)
void WaitForReads(void)
Wait for all scheduled array reads to finish.
T * ReadObject(const std::string &path, int blockId)
Create a VTK object with it's scalar values and allocate any arrays, and schedule them for reading.
Multiprocessing communication superclass.
A directory tree structure holding ADIOS data.
topologically and geometrically regular array of data
a simple class to control print indentation
void SetController(vtkMultiProcessController *)
Set the MPI controller.
object to represent cell connectivity
std::map< double, size_t > TimeStepsIndex
void AddPostReadOperation(TObjectData *, TReturn(TObjectFun::*)(TArg1Fun, TArg2Fun), TArg1Data, TArg2Data)
#define DECLARE_EXPLICIT(T)
void AddPostReadOperation(TObjectData *, TReturn(TObjectFun::*)(TArg1Fun), TArg1Data)
std::map< std::pair< int, size_t >, std::pair< int, vtkSmartPointer< vtkObject > > > ObjectCache
abstract class to specify dataset behavior
void ReadObject(const vtkADIOSDirTree *dir, vtkDataSet *data, int blockId)
void AddPostReadOperation(TObjectData *, TReturn(TObjectFun::*)())
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkADIOSReader * New(void)
concrete dataset represents vertices, lines, polygons, and triangle strips
int CanReadFile(const char *name)
Test whether or not a given file should even be attempted for use with this reader.
int FillOutputPortInformation(int, vtkInformation *)
Fill the output port information objects for this algorithm.
dataset represents arbitrary combinations of all possible cell types
void SetReadMethodDataSpaces()
int RequestNumberOfPieces
@ ReadMethod_BP_AGGREGATE
bool OpenAndReadMetadata(void)
Open an ADIOS file and build the directory structure.
general representation of visualization data
std::vector< std::vector< std::vector< int > > > BlockStepIndex
std::queue< BaseFunctor * > PostReadOperations
void AddPostReadOperation(TObjectData *, TReturn(TObjectFun::*)(TArg1Fun, TArg2Fun, TArg3Fun), TArg1Data, TArg2Data, TArg3Data)