VTK
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 
29 #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:
51 
56  bool CanUseMPIIO();
57 
58  virtual int OpenFileForDataRead(void*& fp, const char* fname) override;
59  virtual void CloseFile(void* fp) override;
60 
61  virtual int ReadIntScalar(
62  void* vfp,
63  int extent[6], int wextent[6],
64  vtkDataArray* scalar, vtkTypeUInt64 offset,
65  const vtkMultiBlockPLOT3DReaderRecord& currentRecord) override;
66  virtual int ReadScalar(
67  void* vfp,
68  int extent[6], int wextent[6],
69  vtkDataArray* scalar, vtkTypeUInt64 offset,
70  const vtkMultiBlockPLOT3DReaderRecord& currentRecord) override;
71  virtual int ReadVector(
72  void* vfp,
73  int extent[6], int wextent[6],
74  int numDims, vtkDataArray* vector, vtkTypeUInt64 offset,
75  const vtkMultiBlockPLOT3DReaderRecord& currentRecord) override;
76  bool UseMPIIO;
77 private:
79  void operator=(const vtkMPIMultiBlockPLOT3DReader&) = delete;
80 };
81 
82 #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:54
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)