VTK  9.0.1
vtkMPIImageReader.h
Go to the documentation of this file.
1 // -*- c++ -*-
2 /*=========================================================================
3 
4  Program: Visualization Toolkit
5  Module: vtkMPIImageReader.h
6 
7  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
8  All rights reserved.
9  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
10 
11  This software is distributed WITHOUT ANY WARRANTY; without even
12  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
13  PURPOSE. See the above copyright notice for more information.
14 
15 =========================================================================*/
16 /*----------------------------------------------------------------------------
17  Copyright (c) Sandia Corporation
18  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
19 ----------------------------------------------------------------------------*/
20 
48 #ifndef vtkMPIImageReader_h
49 #define vtkMPIImageReader_h
50 
51 #include "vtkIOMPIImageModule.h" // For export macro
52 #include "vtkImageReader.h"
53 
54 class vtkMPIOpaqueFileHandle;
56 
57 class VTKIOMPIIMAGE_EXPORT vtkMPIImageReader : public vtkImageReader
58 {
59 public:
61  static vtkMPIImageReader* New();
62  virtual void PrintSelf(ostream& os, vtkIndent indent) override;
63 
65 
69  vtkGetObjectMacro(Controller, vtkMultiProcessController);
70  virtual void SetController(vtkMultiProcessController*);
72 
73 protected:
75  ~vtkMPIImageReader() override;
76 
78 
82  int GetDataScalarTypeSize();
83 
89  virtual void PartitionController(const int extent[6]);
90 
95  virtual unsigned long GetHeaderSize(vtkMPIOpaqueFileHandle& file);
96 
103  virtual void SetupFileView(vtkMPIOpaqueFileHandle& file, const int extent[6]);
104 
111  virtual void ReadSlice(int slice, const int extent[6], void* buffer);
112 
117  virtual void TransformData(vtkImageData* data);
118 
120 
124  void SetGroupedController(vtkMultiProcessController*);
127 
128  virtual void ExecuteDataWithInformation(vtkDataObject* data, vtkInformation* outInfo) override;
129 
130 private:
131  vtkMPIImageReader(const vtkMPIImageReader&) = delete;
132  void operator=(const vtkMPIImageReader&) = delete;
133 };
134 
135 #endif // vtkMPIImageReader_h
vtkImageReader
Superclass of transformable binary file readers.
Definition: vtkImageReader.h:38
vtkImageReader::ExecuteDataWithInformation
void ExecuteDataWithInformation(vtkDataObject *data, vtkInformation *outInfo) override
This is a convenience method that is implemented in many subclasses instead of RequestData.
vtkX3D::data
@ data
Definition: vtkX3D.h:321
vtkMPIImageReader::GroupedController
vtkMultiProcessController * GroupedController
Definition: vtkMPIImageReader.h:125
vtkImageReader::New
static vtkImageReader * New()
vtkMultiProcessController
Multiprocessing communication superclass.
Definition: vtkMultiProcessController.h:75
vtkImageData
topologically and geometrically regular array of data
Definition: vtkImageData.h:41
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkMPIImageReader::Controller
vtkMultiProcessController * Controller
Definition: vtkMPIImageReader.h:77
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:73
vtkImageReader2::GetHeaderSize
unsigned long GetHeaderSize()
Get the size of the header computed by this object.
vtkX3D::extent
@ extent
Definition: vtkX3D.h:351
vtkImageReader.h
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:59
vtkImageReader::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkMPIImageReader
Definition: vtkMPIImageReader.h:57