VTK  9.2.5
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
24class vtkImageData;
26
42class VTKIOSEGY_EXPORT vtkSegYReader : public vtkDataSetAlgorithm
43{
44public:
45 static vtkSegYReader* New();
47 void PrintSelf(ostream& os, vtkIndent indent) override;
49 ~vtkSegYReader() override;
50
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);
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
138protected:
140 vtkInformationVector* outputVector) override;
141
143 vtkInformationVector* outputVector) override;
145 vtkInformationVector* outputVector) override;
146
147protected:
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
166
167private:
168 vtkSegYReader(const vtkSegYReader&) = delete;
169 void operator=(const vtkSegYReader&) = delete;
170};
171
172#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:54
a simple class to control print indentation
Definition: vtkIndent.h:40
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Reads SegY data files.
Definition: vtkSegYReader.h:43
vtkSegYReaderInternal * Reader
void SetXYCoordModeToCustom()
Specify whether to use source x/y coordinates or CDP coordinates or custom byte positions for data po...
void SetXYCoordModeToSource()
Specify whether to use source x/y coordinates or CDP coordinates or custom byte positions for data po...
int RequestDataObject(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called within ProcessRequest when a request asks the algorithm to create empty output data ob...
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.
static vtkSegYReader * New()
void SetXYCoordModeToCDP()
Specify whether to use source x/y coordinates or CDP coordinates or custom byte positions for data po...
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
~vtkSegYReader() override
vtkGetFilePathMacro(FileName)
vtkSetFilePathMacro(FileName)