VTK  9.2.6
vtkMPIMultiBlockPLOT3DReader.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkMPIMultiBlockPLOT3DReader.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
25 #ifndef vtkMPIMultiBlockPLOT3DReader_h
26 #define vtkMPIMultiBlockPLOT3DReader_h
27 
28 #include "vtkIOMPIParallelModule.h" // For export macro
30 
31 class VTKIOMPIPARALLEL_EXPORT vtkMPIMultiBlockPLOT3DReader : public vtkMultiBlockPLOT3DReader
32 {
33 public:
36  void PrintSelf(ostream& os, vtkIndent indent) override;
37 
39 
43  vtkSetMacro(UseMPIIO, bool);
44  vtkGetMacro(UseMPIIO, bool);
45  vtkBooleanMacro(UseMPIIO, bool);
47 
48 protected:
50  ~vtkMPIMultiBlockPLOT3DReader() override;
51 
56  bool CanUseMPIIO();
57 
58  int OpenFileForDataRead(void*& fp, const char* fname) override;
59  void CloseFile(void* fp) override;
60 
61  int ReadIntScalar(void* vfp, int extent[6], int wextent[6], vtkDataArray* scalar,
62  vtkTypeUInt64 offset, const vtkMultiBlockPLOT3DReaderRecord& currentRecord) override;
63  int ReadScalar(void* vfp, int extent[6], int wextent[6], vtkDataArray* scalar,
64  vtkTypeUInt64 offset, const vtkMultiBlockPLOT3DReaderRecord& currentRecord) override;
65  int ReadVector(void* vfp, int extent[6], int wextent[6], int numDims, vtkDataArray* vector,
66  vtkTypeUInt64 offset, const vtkMultiBlockPLOT3DReaderRecord& currentRecord) override;
67  bool UseMPIIO;
68 
69 private:
71  void operator=(const vtkMPIMultiBlockPLOT3DReader&) = delete;
72 };
73 
74 #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:39
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:55
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)