VTK  9.0.1
vtkSegYReaderInternal.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkSegYReaderInternal.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 vtkSegYReaderInternal_h
17 #define vtkSegYReaderInternal_h
18 #ifndef __VTK_WRAP__
19 
20 #include <fstream>
21 #include <string>
22 #include <vector>
23 #include <vtksys/FStream.hxx>
24 
25 // Forward declarations
26 class vtkStructuredGrid;
27 class vtkImageData;
28 class vtkSegYTraceReader;
29 class vtkSegYTrace;
31 
33 {
34 public:
36  vtkSegYReaderInternal(const vtkSegYReaderInternal& other) = delete;
39 
40 public:
42  int* extent, double origin[3], double spacing[3][3], int* spacingSign, bool force2D);
43  void LoadTraces(int* extent);
44 
45  void ExportData(
46  vtkImageData*, int* extent, double origin[3], double spacing[3][3], int* spacingSign);
47  void ExportData(vtkStructuredGrid*, int* extent, double origin[3], double spacing[3][3]);
48 
49  void SetXYCoordBytePositions(int x, int y);
50  void SetVerticalCRS(int);
51 
52  vtksys::ifstream In;
53 
54 protected:
55  bool ReadHeader();
56 
57 private:
58  std::vector<vtkSegYTrace*> Traces;
59  vtkSegYBinaryHeaderBytesPositions* BinaryHeaderBytesPos;
60  vtkSegYTraceReader* TraceReader;
61  int VerticalCRS;
62  // Binary Header
63  short SampleInterval;
64  int FormatCode;
65  int SampleCountPerTrace;
66 };
67 
68 #endif
69 #endif // vtkSegYReaderInternal_h
70 // VTK-HeaderTest-Exclude: vtkSegYReaderInternal.h
vtkSegYReaderInternal::SetXYCoordBytePositions
void SetXYCoordBytePositions(int x, int y)
vtkSegYTraceReader
Definition: vtkSegYTraceReader.h:42
vtkSegYReaderInternal
Definition: vtkSegYReaderInternal.h:32
vtkSegYReaderInternal::ExportData
void ExportData(vtkImageData *, int *extent, double origin[3], double spacing[3][3], int *spacingSign)
vtkSegYReaderInternal::operator=
vtkSegYReaderInternal & operator=(const vtkSegYReaderInternal &other)=delete
vtkStructuredGrid
topologically regular array of data
Definition: vtkStructuredGrid.h:57
vtkSegYReaderInternal::Is3DComputeParameters
bool Is3DComputeParameters(int *extent, double origin[3], double spacing[3][3], int *spacingSign, bool force2D)
vtkImageData
topologically and geometrically regular array of data
Definition: vtkImageData.h:41
vtkSegYReaderInternal::vtkSegYReaderInternal
vtkSegYReaderInternal()
vtkSegYTrace
Definition: vtkSegYTraceReader.h:27
vtkX3D::spacing
@ spacing
Definition: vtkX3D.h:487
vtkSegYReaderInternal::LoadTraces
void LoadTraces(int *extent)
vtkSegYReaderInternal::In
vtksys::ifstream In
Definition: vtkSegYReaderInternal.h:52
vtkSegYReaderInternal::SetVerticalCRS
void SetVerticalCRS(int)
vtkSegYBinaryHeaderBytesPositions
Definition: vtkSegYBinaryHeaderBytesPositions.h:19
vtkX3D::extent
@ extent
Definition: vtkX3D.h:351
vtkSegYReaderInternal::~vtkSegYReaderInternal
~vtkSegYReaderInternal()
vtkSegYReaderInternal::ReadHeader
bool ReadHeader()