VTK
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 
47 #ifndef vtkMPIImageReader_h
48 #define vtkMPIImageReader_h
49 
50 #include "vtkIOMPIImageModule.h" // For export macro
51 #include "vtkImageReader.h"
52 
53 class vtkMPIOpaqueFileHandle;
55 
56 class VTKIOMPIIMAGE_EXPORT vtkMPIImageReader : public vtkImageReader
57 {
58 public:
60  static vtkMPIImageReader *New();
61  virtual void PrintSelf(ostream &os, vtkIndent indent);
62 
64 
66  vtkGetObjectMacro(Controller, vtkMultiProcessController);
67  virtual void SetController(vtkMultiProcessController *);
69 
70 protected:
73 
75 
78  int GetDataScalarTypeSize();
79 
84  virtual void PartitionController(const int extent[6]);
85 
88  virtual unsigned long GetHeaderSize(vtkMPIOpaqueFileHandle &file);
89 
94  virtual void SetupFileView(vtkMPIOpaqueFileHandle &file, const int extent[6]);
95 
100  virtual void ReadSlice(int slice, const int extent[6], void *buffer);
101 
104  virtual void TransformData(vtkImageData *data);
105 
107 
109  void SetGroupedController(vtkMultiProcessController *);
112 
114  vtkInformation *outInfo);
115 
116 private:
117  vtkMPIImageReader(const vtkMPIImageReader &); // Not implemented
118  void operator=(const vtkMPIImageReader &); // Not implemented
119 };
120 
121 #endif //vtkMPIImageReader_h
Store vtkAlgorithm input/output information.
vtkMultiProcessController * GroupedController
unsigned long GetHeaderSize()
static vtkImageReader * New()
a simple class to control print indentation
Definition: vtkIndent.h:38
void ExecuteDataWithInformation(vtkDataObject *data, vtkInformation *outInfo)
Superclass of transformable binary file readers.
topologically and geometrically regular array of data
Definition: vtkImageData.h:44
vtkMultiProcessController * Controller
general representation of visualization data
Definition: vtkDataObject.h:64
void PrintSelf(ostream &os, vtkIndent indent)
Multiprocessing communication superclass.