VTK  9.1.0
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
39class VTKIOSEGY_EXPORT vtkSegYReader : public vtkDataSetAlgorithm
40{
41public:
42 static vtkSegYReader* New();
44 void PrintSelf(ostream& os, vtkIndent indent) override;
46 ~vtkSegYReader() override;
47
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
135protected:
137 vtkInformationVector* outputVector) override;
138
140 vtkInformationVector* outputVector) override;
142 vtkInformationVector* outputVector) override;
143
144protected:
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
163
164private:
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:157
a simple class to control print indentation
Definition: vtkIndent.h:113
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Reads SegY data files.
Definition: vtkSegYReader.h:40
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)