VTK  9.3.1
vtkMPIMultiBlockPLOT3DReader.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
13 #ifndef vtkMPIMultiBlockPLOT3DReader_h
14 #define vtkMPIMultiBlockPLOT3DReader_h
15 
16 #include "vtkIOMPIParallelModule.h" // For export macro
18 
19 VTK_ABI_NAMESPACE_BEGIN
20 class VTKIOMPIPARALLEL_EXPORT vtkMPIMultiBlockPLOT3DReader : public vtkMultiBlockPLOT3DReader
21 {
22 public:
25  void PrintSelf(ostream& os, vtkIndent indent) override;
26 
28 
32  vtkSetMacro(UseMPIIO, bool);
33  vtkGetMacro(UseMPIIO, bool);
34  vtkBooleanMacro(UseMPIIO, bool);
36 
37 protected:
39  ~vtkMPIMultiBlockPLOT3DReader() override;
40 
45  bool CanUseMPIIO();
46 
47  int OpenFileForDataRead(void*& fp, const char* fname) override;
48  void CloseFile(void* fp) override;
49 
50  int ReadIntScalar(void* vfp, int extent[6], int wextent[6], vtkDataArray* scalar,
51  vtkTypeUInt64 offset, const vtkMultiBlockPLOT3DReaderRecord& currentRecord) override;
52  int ReadScalar(void* vfp, int extent[6], int wextent[6], vtkDataArray* scalar,
53  vtkTypeUInt64 offset, const vtkMultiBlockPLOT3DReaderRecord& currentRecord) override;
54  int ReadVector(void* vfp, int extent[6], int wextent[6], int numDims, vtkDataArray* vector,
55  vtkTypeUInt64 offset, const vtkMultiBlockPLOT3DReaderRecord& currentRecord) override;
56  bool UseMPIIO;
57 
58 private:
60  void operator=(const vtkMPIMultiBlockPLOT3DReader&) = delete;
61 };
62 
63 VTK_ABI_NAMESPACE_END
64 #endif
static vtkMultiBlockPLOT3DReader * New()
virtual int OpenFileForDataRead(void *&fp, const char *fname)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual int ReadIntScalar(void *vfp, int extent[6], int wextent[6], vtkDataArray *scalar, vtkTypeUInt64 offset, const vtkMultiBlockPLOT3DReaderRecord &currentRecord)
a simple class to control print indentation
Definition: vtkIndent.h:28
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:44
virtual int ReadVector(void *vfp, int extent[6], int wextent[6], int numDims, vtkDataArray *vector, vtkTypeUInt64 offset, const vtkMultiBlockPLOT3DReaderRecord &currentRecord)
virtual int ReadScalar(void *vfp, int extent[6], int wextent[6], vtkDataArray *scalar, vtkTypeUInt64 offset, const vtkMultiBlockPLOT3DReaderRecord &currentRecord)
vtkMultiBlockPLOT3DReader subclass that uses MPI-IO to efficiently read binary files for 3D domains i...
virtual void CloseFile(void *fp)