VTK  9.4.20241226
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 */
17VTK_ABI_NAMESPACE_BEGIN
19{
20public:
24 std::vector<float> Data;
28};
29
30/*
31 * Single Seg-Y trace reader
32 */
34{
35private:
36 vtkSegYTraceHeaderBytesPositions traceHeaderBytesPos;
37
38 int XCoordinate;
39 int YCoordinate;
40
41public:
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
53VTK_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)
std::vector< float > Data