VTK  9.0.3
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 
39 class VTKIOSEGY_EXPORT vtkSegYReader : public vtkDataSetAlgorithm
40 {
41 public:
42  static vtkSegYReader* New();
44  void PrintSelf(ostream& os, vtkIndent indent) override;
46  ~vtkSegYReader() override;
47 
48  vtkSetStringMacro(FileName);
49  vtkGetStringMacro(FileName);
50 
52  {
53  VTK_SEGY_SOURCE = 0, // default
54  VTK_SEGY_CDP = 1,
55  VTK_SEGY_CUSTOM = 2
56  };
57 
59 
68  vtkSetClampMacro(XYCoordMode, int, VTK_SEGY_SOURCE, VTK_SEGY_CUSTOM);
69  vtkGetMacro(XYCoordMode, int);
74 
76 
82  vtkSetMacro(XCoordByte, int);
83  vtkGetMacro(XCoordByte, int);
84  vtkSetMacro(YCoordByte, int);
85  vtkGetMacro(YCoordByte, int);
87 
89  {
90  VTK_SEGY_VERTICAL_HEIGHTS = 0, // default
91  VTK_SEGY_VERTICAL_DEPTHS
92  };
93 
95 
105  vtkSetMacro(VerticalCRS, int);
106  vtkGetMacro(VerticalCRS, int);
108 
110 
117  vtkSetMacro(StructuredGrid, int);
118  vtkGetMacro(StructuredGrid, int);
119  vtkBooleanMacro(StructuredGrid, int);
121 
123 
130  vtkSetMacro(Force2D, bool);
131  vtkGetMacro(Force2D, bool);
132  vtkBooleanMacro(Force2D, bool);
134 
135 protected:
136  int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
137  vtkInformationVector* outputVector) override;
138 
140  vtkInformationVector* outputVector) override;
142  vtkInformationVector* outputVector) override;
143 
144 protected:
146  char* FileName;
147  bool Is3D;
148  double DataOrigin[3];
149  double DataSpacing[3][3];
150  int DataSpacingSign[3];
151  int DataExtent[6];
152 
155 
156  // Custom XY coordinate byte positions
159 
161 
162  bool Force2D;
163 
164 private:
165  vtkSegYReader(const vtkSegYReader&) = delete;
166  void operator=(const vtkSegYReader&) = delete;
167 };
168 
169 #endif // vtkSegYReader_h
Superclass for algorithms that produce output of the same type as input.
topologically and geometrically regular array of data
Definition: vtkImageData.h:42
a simple class to control print indentation
Definition: vtkIndent.h:34
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Reads SegY data files.
Definition: vtkSegYReader.h:40
vtkSegYReaderInternal * Reader
static vtkSegYReader * New()
void SetXYCoordModeToCustom()
void SetXYCoordModeToSource()
int RequestDataObject(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called within ProcessRequest to when a request asks the algorithm to create empty output data...
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called within ProcessRequest when a request asks the algorithm to do its work.
int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called within ProcessRequest when a request asks for Information.
void SetXYCoordModeToCDP()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
~vtkSegYReader() override