VTK  9.2.6
vtkSegYReader.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkSegYReader.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 =========================================================================*/
15 
16 #ifndef vtkSegYReader_h
17 #define vtkSegYReader_h
18 
19 #include "vtkDataSetAlgorithm.h"
20 
21 #include <vtkIOSegYModule.h> // For export macro
22 
23 // Forward declarations
24 class vtkImageData;
26 
42 class VTKIOSEGY_EXPORT vtkSegYReader : public vtkDataSetAlgorithm
43 {
44 public:
45  static vtkSegYReader* New();
47  void PrintSelf(ostream& os, vtkIndent indent) override;
48  vtkSegYReader();
49  ~vtkSegYReader() override;
50 
51  vtkSetFilePathMacro(FileName);
52  vtkGetFilePathMacro(FileName);
53 
55  {
56  VTK_SEGY_SOURCE = 0, // default
57  VTK_SEGY_CDP = 1,
58  VTK_SEGY_CUSTOM = 2
59  };
60 
62 
71  vtkSetClampMacro(XYCoordMode, int, VTK_SEGY_SOURCE, VTK_SEGY_CUSTOM);
72  vtkGetMacro(XYCoordMode, int);
73  void SetXYCoordModeToSource();
74  void SetXYCoordModeToCDP();
75  void SetXYCoordModeToCustom();
77 
79 
85  vtkSetMacro(XCoordByte, int);
86  vtkGetMacro(XCoordByte, int);
87  vtkSetMacro(YCoordByte, int);
88  vtkGetMacro(YCoordByte, int);
90 
92  {
93  VTK_SEGY_VERTICAL_HEIGHTS = 0, // default
94  VTK_SEGY_VERTICAL_DEPTHS
95  };
96 
98 
108  vtkSetMacro(VerticalCRS, int);
109  vtkGetMacro(VerticalCRS, int);
111 
113 
120  vtkSetMacro(StructuredGrid, int);
121  vtkGetMacro(StructuredGrid, int);
122  vtkBooleanMacro(StructuredGrid, int);
124 
126 
133  vtkSetMacro(Force2D, bool);
134  vtkGetMacro(Force2D, bool);
135  vtkBooleanMacro(Force2D, bool);
137 
138 protected:
139  int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
140  vtkInformationVector* outputVector) override;
141 
142  int RequestInformation(vtkInformation* request, vtkInformationVector** inputVector,
143  vtkInformationVector* outputVector) override;
144  int RequestDataObject(vtkInformation* request, vtkInformationVector** inputVector,
145  vtkInformationVector* outputVector) override;
146 
147 protected:
149  char* FileName;
150  bool Is3D;
151  double DataOrigin[3];
152  double DataSpacing[3][3];
153  int DataSpacingSign[3];
154  int DataExtent[6];
155 
158 
159  // Custom XY coordinate byte positions
162 
164 
165  bool Force2D;
166 
167 private:
168  vtkSegYReader(const vtkSegYReader&) = delete;
169  void operator=(const vtkSegYReader&) = delete;
170 };
171 
172 #endif // vtkSegYReader_h
Store vtkAlgorithm input/output information.
vtkSegYReaderInternal * Reader
Reads SegY data files.
Definition: vtkSegYReader.h:42
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a simple class to control print indentation
Definition: vtkIndent.h:39
topologically and geometrically regular array of data
Definition: vtkImageData.h:53
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called within ProcessRequest when a request asks the algorithm to do its work.
virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called within ProcessRequest when a request asks for Information.
Store zero or more vtkInformation instances.
Superclass for algorithms that produce output of the same type as input.
virtual int RequestDataObject(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called within ProcessRequest when a request asks the algorithm to create empty output data ob...
static vtkDataSetAlgorithm * New()