24 #ifndef vtkADIOSReader_h
25 #define vtkADIOSReader_h
34 #include "vtkSetGet.h"
37 #include "ADIOSDefs.h"
39 #include "vtkIOADIOSModule.h"
70 int CanReadFile(
const char*
name);
74 vtkSetStringMacro(FileName);
75 vtkGetStringMacro(FileName);
80 vtkGetMacro(ReadMethod,
int);
81 vtkSetClampMacro(ReadMethod,
int,
82 static_cast<int>(ADIOS::ReadMethod_BP),
83 static_cast<int>(ADIOS::ReadMethod_FlexPath));
84 void SetReadMethodBP() { this->SetReadMethod(static_cast<int>(ADIOS::ReadMethod_BP)); }
94 vtkSetStringMacro(ReadMethodArguments);
95 vtkGetStringMacro(ReadMethodArguments);
113 bool OpenAndReadMetadata(
void);
116 void WaitForReads(
void);
122 T* ReadObject(
const std::string& path,
int blockId);
168 std::map<std::pair<int, size_t>,
169 std::pair<int, vtkSmartPointer<vtkObject> > >
199 template<
typename TObjectFun,
typename TObjectData,
typename TReturn>
200 void AddPostReadOperation(TObjectData*, TReturn (TObjectFun::*)());
202 template<
typename TObjectFun,
typename TObjectData,
typename TReturn,
203 typename TArg1Fun,
typename TArg1Data>
204 void AddPostReadOperation(TObjectData*,
205 TReturn (TObjectFun::*)(TArg1Fun), TArg1Data);
207 template<
typename TObjectFun,
typename TObjectData,
typename TReturn,
208 typename TArg1Fun,
typename TArg1Data,
209 typename TArg2Fun,
typename TArg2Data>
210 void AddPostReadOperation(TObjectData*,
211 TReturn (TObjectFun::*)(TArg1Fun, TArg2Fun),
212 TArg1Data, TArg2Data);
214 template<
typename TObjectFun,
typename TObjectData,
typename TReturn,
215 typename TArg1Fun,
typename TArg1Data,
216 typename TArg2Fun,
typename TArg2Data,
217 typename TArg3Fun,
typename TArg3Data>
218 void AddPostReadOperation(TObjectData*,
219 TReturn (TObjectFun::*)(TArg1Fun, TArg2Fun, TArg3Fun),
220 TArg1Data, TArg2Data, TArg3Data);
250 #define DECLARE_EXPLICIT(T) \
251 template<> T* vtkADIOSReader::ReadObject<T>(const std::string& path, \
256 #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()
void PrintSelf(ostream &os, vtkIndent indent)
concrete dataset represents vertices, lines, polygons, and triangle strips
char * ReadMethodArguments
std::vector< std::vector< std::vector< int > > > BlockStepIndex
a simple class to control print indentation
topologically and geometrically regular array of data
dataset represents arbitrary combinations of all possible cell types
void SetReadMethodDataSpaces()
abstract superclass for arrays of numeric data
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
represent and manipulate attribute data in a dataset
void SetReadMethodFlexPath()
std::map< double, size_t > TimeStepsIndex
void SetReadMethodDIMES()
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 ProcessRequest(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
std::vector< double > TimeSteps
general representation of visualization data
virtual int FillOutputPortInformation(int port, vtkInformation *info)
represent and manipulate fields of data
Multiprocessing communication superclass.
std::vector< std::map< std::string, size_t > > BlockStepIndexIdMap