VTK  9.3.20240418
vtkSegYTraceReader.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
3 
4 #ifndef vtkSegYTraceReader_h
5 #define vtkSegYTraceReader_h
6 
7 #include "vtkABINamespace.h"
8 
9 #include <fstream>
10 #include <vector>
11 
13 
14 /*
15  * Single Seg-Y trace
16  */
17 VTK_ABI_NAMESPACE_BEGIN
19 {
20 public:
24  std::vector<float> Data;
28 };
29 
30 /*
31  * Single Seg-Y trace reader
32  */
34 {
35 private:
36  vtkSegYTraceHeaderBytesPositions traceHeaderBytesPos;
37 
38  int XCoordinate;
39  int YCoordinate;
40 
41 public:
43 
44  void SetXYCoordBytePositions(int x, int y);
45  void PrintTraceHeader(std::istream& in, int startPos);
46  void ReadTrace(std::streamoff& startPos, std::istream& in, int formatCode, vtkSegYTrace* trace);
47  void ReadInlineCrossline(std::streamoff& startPos, std::istream& in, int formatCode,
48  int* inlineNumber, int* crosslineNumber, int* xCoord, int* yCoord, short* coordMultiplier);
49 
50  int GetTraceSize(int numSamples, int formatCode);
51 };
52 
53 VTK_ABI_NAMESPACE_END
54 #endif // vtkSegYTraceReader_h
55 // VTK-HeaderTest-Exclude: vtkSegYTraceReader.h
int GetTraceSize(int numSamples, int formatCode)
void ReadInlineCrossline(std::streamoff &startPos, std::istream &in, int formatCode, int *inlineNumber, int *crosslineNumber, int *xCoord, int *yCoord, short *coordMultiplier)
void SetXYCoordBytePositions(int x, int y)
void PrintTraceHeader(std::istream &in, int startPos)
void ReadTrace(std::streamoff &startPos, std::istream &in, int formatCode, vtkSegYTrace *trace)
short CoordinateMultiplier
std::vector< float > Data