25 #ifndef vtkADIOSReader_h
26 #define vtkADIOSReader_h
35 #include "vtkSetGet.h"
40 #include "vtkIOADIOSModule.h"
73 int CanReadFile(
const char*
name);
79 vtkSetStringMacro(FileName);
103 vtkSetStringMacro(ReadMethodArguments);
126 bool OpenAndReadMetadata(
void);
131 void WaitForReads(
void);
138 T* ReadObject(
const std::string& path,
int blockId);
185 std::map<std::pair<int, size_t>,
186 std::pair<int, vtkSmartPointer<vtkObject> > >
216 template<
typename TObjectFun,
typename TObjectData,
typename TReturn>
217 void AddPostReadOperation(TObjectData*, TReturn (TObjectFun::*)());
219 template<
typename TObjectFun,
typename TObjectData,
typename TReturn,
220 typename TArg1Fun,
typename TArg1Data>
221 void AddPostReadOperation(TObjectData*,
222 TReturn (TObjectFun::*)(TArg1Fun), TArg1Data);
224 template<
typename TObjectFun,
typename TObjectData,
typename TReturn,
225 typename TArg1Fun,
typename TArg1Data,
226 typename TArg2Fun,
typename TArg2Data>
227 void AddPostReadOperation(TObjectData*,
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>
235 void AddPostReadOperation(TObjectData*,
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
std::queue< BaseFunctor * > PostReadOperations
int RequestNumberOfPieces
#define DECLARE_EXPLICIT(T)
abstract class to specify dataset behavior
static vtkDataObjectAlgorithm * New()
std::map< std::pair< int, size_t >, std::pair< int, vtkSmartPointer< vtkObject > > > ObjectCache
void SetReadMethodBPAggregate()
Get/Set the ADIOS read method.
concrete dataset represents vertices, lines, polygons, and triangle strips
char * ReadMethodArguments
int FillOutputPortInformation(int port, vtkInformation *info) override
Fill the output port information objects for this algorithm.
std::vector< std::vector< std::vector< int > > > BlockStepIndex
a simple class to control print indentation
topologically and geometrically regular array of data
int ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
see vtkAlgorithm for details
dataset represents arbitrary combinations of all possible cell types
void SetReadMethodDataSpaces()
Get/Set the ADIOS read method.
abstract superclass for arrays of numeric data
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.
represent and manipulate attribute data in a dataset
void SetReadMethodFlexPath()
Get/Set the ADIOS read method.
std::map< double, size_t > TimeStepsIndex
void SetReadMethodDIMES()
Get/Set the ADIOS read method.
vtkMultiProcessController * Controller
A directory tree structure holding ADIOS data.
Superclass for algorithms that produce only data object as output.
object to represent cell connectivity
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
void SetReadMethodBP()
Get/Set the ADIOS read method.
std::vector< double > TimeSteps
general representation of visualization data
represent and manipulate fields of data
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Multiprocessing communication superclass.
std::vector< std::map< std::string, size_t > > BlockStepIndexIdMap