VTK
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 
38 class VTKIOSEGY_EXPORT vtkSegYReader : public vtkDataSetAlgorithm
39 {
40 public:
41  static vtkSegYReader* New();
43  void PrintSelf(ostream& os, vtkIndent indent) override;
44  vtkSegYReader();
45  ~vtkSegYReader() override;
46 
47  vtkSetStringMacro(FileName);
48  vtkGetStringMacro(FileName);
49 
51  {
52  VTK_SEGY_SOURCE = 0, // default
53  VTK_SEGY_CDP = 1,
54  VTK_SEGY_CUSTOM = 2
55  };
56 
58 
67  vtkSetClampMacro(XYCoordMode, int, VTK_SEGY_SOURCE, VTK_SEGY_CUSTOM);
68  vtkGetMacro(XYCoordMode, int);
69  void SetXYCoordModeToSource();
70  void SetXYCoordModeToCDP();
71  void SetXYCoordModeToCustom();
73 
75 
81  vtkSetMacro(XCoordByte, int);
82  vtkGetMacro(XCoordByte, int);
83  vtkSetMacro(YCoordByte, int);
84  vtkGetMacro(YCoordByte, int);
86 
88  {
89  VTK_SEGY_VERTICAL_HEIGHTS = 0, // default
90  VTK_SEGY_VERTICAL_DEPTHS
91  };
92 
94 
104  vtkSetMacro(VerticalCRS, int);
105  vtkGetMacro(VerticalCRS, int);
107 
109 
116  vtkSetMacro(StructuredGrid, int);
117  vtkGetMacro(StructuredGrid, int);
118  vtkBooleanMacro(StructuredGrid, int);
120 
121 protected:
122  int RequestData(vtkInformation* request,
123  vtkInformationVector** inputVector,
124  vtkInformationVector* outputVector) override;
125 
126  int RequestInformation(vtkInformation* request,
127  vtkInformationVector** inputVector,
128  vtkInformationVector* outputVector) override;
129  int RequestDataObject(vtkInformation* request,
130  vtkInformationVector** inputVector,
131  vtkInformationVector* outputVector) override;
132 
133 protected:
135  char *FileName;
136  bool Is3D;
137  double DataOrigin[3];
138  double DataSpacing[3];
139  int DataSpacingSign[3];
140  int DataExtent[6];
141 
144 
145  // Custom XY coordinate byte positions
148 
150 
151 
152 private:
153  vtkSegYReader(const vtkSegYReader&) = delete;
154  void operator=(const vtkSegYReader&) = delete;
155 };
156 
157 #endif // vtkSegYReader_h
Store vtkAlgorithm input/output information.
vtkSegYReaderInternal * Reader
Reads SegY data files.
Definition: vtkSegYReader.h:38
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:33
topologically and geometrically regular array of data
Definition: vtkImageData.h:39
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 to when a request asks the algorithm to create empty output data...
static vtkDataSetAlgorithm * New()