VTK
vtkPNrrdReader.h
Go to the documentation of this file.
1 // -*- c++ -*-
2 /*=========================================================================
3 
4  Program: Visualization Toolkit
5  Module: vtkPNrrdReader.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 
40 #ifndef vtkPNrrdReader_h
41 #define vtkPNrrdReader_h
42 
43 #include "vtkIOMPIImageModule.h" // For export macro
44 #include "vtkNrrdReader.h"
45 
46 class vtkCharArray;
48 class vtkMPIOpaqueFileHandle;
49 
50 class VTKIOMPIIMAGE_EXPORT vtkPNrrdReader : public vtkNrrdReader
51 {
52 public:
53  vtkTypeMacro(vtkPNrrdReader, vtkNrrdReader);
54  static vtkPNrrdReader *New();
55  virtual void PrintSelf(ostream &os, vtkIndent indent) override;
56 
58 
62  vtkGetObjectMacro(Controller, vtkMultiProcessController);
63  virtual void SetController(vtkMultiProcessController *);
65 
66 protected:
68  ~vtkPNrrdReader();
69 
70  virtual int ReadHeader() override;
71  virtual int ReadHeader(vtkCharArray *headerBuffer) override;
72 
76  int GetDataScalarTypeSize();
77 
83  virtual void PartitionController(const int extent[6]);
84 
89  virtual unsigned long GetHeaderSize(vtkMPIOpaqueFileHandle &file);
90 
97  virtual void SetupFileView(vtkMPIOpaqueFileHandle &file, const int extent[6]);
98 
105  virtual void ReadSlice(int slice, const int extent[6], void *buffer);
106 
111  virtual void TransformData(vtkImageData *data);
112 
114 
118  void SetGroupedController(vtkMultiProcessController *);
121 
123  vtkInformation *outInfo) override;
124 
126 
127 private:
128  vtkPNrrdReader(const vtkPNrrdReader &) = delete;
129  void operator=(const vtkPNrrdReader &) = delete;
130 };
131 
132 #endif //vtkPNrrdReader_h
vtkPNrrdReader::GroupedController
vtkMultiProcessController * GroupedController
Definition: vtkPNrrdReader.h:119
vtkNrrdReader::ReadHeader
virtual int ReadHeader()
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
Definition: vtkX3D.h:315
vtkPNrrdReader
Read nrrd files efficiently from parallel file systems (and reasonably well elsewhere).
Definition: vtkPNrrdReader.h:50
vtkNrrdReader::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkCharArray
dynamic, self-adjusting array of char
Definition: vtkCharArray.h:35
vtkPNrrdReader::Controller
vtkMultiProcessController * Controller
Definition: vtkPNrrdReader.h:125
vtkMultiProcessController
Multiprocessing communication superclass.
Definition: vtkMultiProcessController.h:76
vtkImageData
topologically and geometrically regular array of data
Definition: vtkImageData.h:39
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkNrrdReader
Read nrrd files file system.
Definition: vtkNrrdReader.h:44
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:80
vtkImageReader2::GetHeaderSize
unsigned long GetHeaderSize()
Get the size of the header computed by this object.
vtkNrrdReader::New
static vtkNrrdReader * New()
vtkX3D::extent
Definition: vtkX3D.h:345
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:58
vtkNrrdReader.h