OpendTect  6.6
seisblocksreader.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*
4 ________________________________________________________________________
5 
6  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7  Author: Bert
8  Date: Apr 2017
9 ________________________________________________________________________
10 
11 */
12 
13 #include "seisblocks.h"
14 #include "ranges.h"
15 #include "threadlock.h"
16 #include "typeset.h"
17 #include "uistring.h"
18 
19 class od_istream;
20 class SeisTrc;
21 class SeisTrcInfo;
22 namespace PosInfo { class CubeData; class CubeDataPos; }
23 
24 
25 namespace Seis
26 {
27 
28 class SelData;
29 
30 namespace Blocks
31 {
32 
33 class FileColumn;
34 class OffsetTable;
35 
40 public:
41 
43 
44  Reader(const char* fnm);
47 
48  const uiRetVal& state() const { return state_; }
49 
50  BufferString surveyName() const { return survname_; }
51  const CubeData& positions() const { return cubedata_; }
52  inline int nrComponents() const
53  { return componentNames().size(); }
54  BoolTypeSet& compSelected() { return compsel_; }
55  bool depthInFeet() const { return depthinfeet_; }
56 
57  void setSelData(const SelData*);
58 
59  bool goTo(const BinID&) const;
60  uiRetVal skip(int) const;
63  uiRetVal get(const BinID&,SeisTrc&) const;
64 
65  void close();
66 
67 protected:
68 
70 
71  mutable od_istream* strm_;
72  bool strmmine_;
76  OffsetTable& offstbl_;
81 
86  mutable bool lastopwasgetinfo_;
87 
88  void closeStream() const;
89  bool reset(uiRetVal&) const;
90  bool isSelected(const CubeDataPos&) const;
91  bool advancePos(CubeDataPos&) const;
92  bool doGoTo(const BinID&,uiRetVal&) const;
93  void doGet(SeisTrc&,uiRetVal&) const;
94  void fillInfo(const BinID&,SeisTrcInfo&) const;
95  FileColumn* getColumn(const HGlobIdx&,uiRetVal&) const;
96  void readTrace(SeisTrc&,uiRetVal&) const;
97 
98  friend class FileColumn;
99 
100 private:
101 
102  void initFromFileName(const char*);
106 
107 };
108 
109 
110 } // namespace Blocks
111 
112 } // namespace Seis
Seis::Blocks::Reader::skip
uiRetVal skip(int) const
PosInfo::CubeData
Position info for an entire 3D cube. The LineData's are not sorted.
Definition: posinfo.h:95
Seis::Blocks::Reader::close
void close()
early retire
Seis::Blocks::Reader::compSelected
BoolTypeSet & compSelected()
Definition: seisblocksreader.h:54
Seis::Blocks::Reader::doGoTo
bool doGoTo(const BinID &, uiRetVal &) const
Seis::Blocks::Reader::CubeDataPos
PosInfo::CubeDataPos CubeDataPos
Definition: seisblocksreader.h:69
Seis::Blocks::Reader::offstbl_
OffsetTable & offstbl_
Definition: seisblocksreader.h:76
SeisTrcInfo
Information for a seismic trace, AKA trace header info.
Definition: seisinfo.h:27
Seis::Blocks::Reader::getTrcInfo
uiRetVal getTrcInfo(SeisTrcInfo &) const
Seis::Blocks::Reader::Reader
Reader(od_istream &)
data or info
Seis::Blocks::Reader::positions
const CubeData & positions() const
Definition: seisblocksreader.h:51
uistring.h
Seis::Blocks::Reader::scaler_
LinScaler * scaler_
Definition: seisblocksreader.h:74
Seis::Blocks::Reader::zrgintrace_
const Interval< float > zrgintrace_
Definition: seisblocksreader.h:84
Seis::Blocks::Reader::nrComponents
int nrComponents() const
Definition: seisblocksreader.h:52
Seis::Blocks::Reader::mODTextTranslationClass
mODTextTranslationClass(Seis::Blocks::Reader)
Seis::Blocks::Reader::initFromFileName
void initFromFileName(const char *)
Seis::Blocks::Reader::interp_
DataInterp * interp_
Definition: seisblocksreader.h:75
Seis
Summary for a Seismic object.
Definition: segydirectdef.h:22
Seis::Blocks::Reader::reset
bool reset(uiRetVal &) const
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
od_istream
OD class for stream read common access to the std::cin.
Definition: od_istream.h:24
SeisTrc
Seismic trace.
Definition: seistrc.h:34
Seis::Blocks::Reader::state_
uiRetVal state_
Definition: seisblocksreader.h:83
Seis::Blocks::Reader::curcdpos_
CubeDataPos & curcdpos_
Definition: seisblocksreader.h:78
Seis::Blocks::HGlobIdx
Definition: seisblocks.h:80
Seis::Blocks::Reader::getColumn
FileColumn * getColumn(const HGlobIdx &, uiRetVal &) const
typeset.h
uiRetVal
Definition: uistringset.h:105
Seis::Blocks::Reader::setSelData
void setSelData(const SelData *)
Seis::Blocks::Reader::CubeData
PosInfo::CubeData CubeData
Definition: seisblocksreader.h:42
Seis::Blocks::Reader
Reads data from Blocks Storage. For comments see master branch.
Definition: seisblocksreader.h:39
Seis::Blocks::Reader::depthInFeet
bool depthInFeet() const
Definition: seisblocksreader.h:55
Seis::Blocks::Reader::state
const uiRetVal & state() const
Definition: seisblocksreader.h:48
PosInfo::CubeDataPos
Position in a CubeData.
Definition: posinfo.h:73
DataInterpreter< float >
Seis::Blocks::Reader::readTrace
void readTrace(SeisTrc &, uiRetVal &) const
Seis::Blocks::Reader::readInfoFile
void readInfoFile(od_istream &)
Seis::Blocks::Reader::surveyName
BufferString surveyName() const
Definition: seisblocksreader.h:50
Seis::Blocks::Reader::strmmine_
bool strmmine_
Definition: seisblocksreader.h:72
BinID
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:31
Seis::Blocks::Reader::strm_
od_istream * strm_
Definition: seisblocksreader.h:71
LinScaler
Linear scaling.
Definition: scaler.h:58
Seis::Blocks::IOClass
Base class for Reader and Writer. For comments see master branch.
Definition: seisblocks.h:179
Seis::Blocks::Reader::survname_
BufferString survname_
Definition: seisblocksreader.h:79
Seis::Blocks::Reader::doGet
void doGet(SeisTrc &, uiRetVal &) const
Seis::Blocks::Reader::goTo
bool goTo(const BinID &) const
Seis::SelData
contains input (sub-)selection data from a cube or lineset
Definition: seisselection.h:82
Seis::Blocks::Reader::fillInfo
void fillInfo(const BinID &, SeisTrcInfo &) const
Seis::Blocks::Reader::get
uiRetVal get(const BinID &, SeisTrc &) const
Seis::Blocks::Reader::getNext
uiRetVal getNext(SeisTrc &) const
seisblocks.h
Seis::Blocks::Reader::closeStream
void closeStream() const
Seis::Blocks::Reader::cubedata_
CubeData & cubedata_
Definition: seisblocksreader.h:77
Seis::Blocks::Reader::isSelected
bool isSelected(const CubeDataPos &) const
Seis::Blocks::Reader::getGeneralSectionData
bool getGeneralSectionData(const IOPar &)
Seis::Blocks::Reader::depthinfeet_
bool depthinfeet_
Definition: seisblocksreader.h:80
Seis::Blocks::Reader::advancePos
bool advancePos(CubeDataPos &) const
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
Seis::Blocks::Reader::nrcomponentsintrace_
const int nrcomponentsintrace_
Definition: seisblocksreader.h:85
PosInfo
Position info, often segmented.
Definition: posinfo.h:40
threadlock.h
Seis::Blocks::Reader::getOffsetSectionData
bool getOffsetSectionData(const IOPar &)
Seis::Blocks::Reader::~Reader
~Reader()
Seis::Blocks::Reader::Reader
Reader(const char *fnm)
data or info
Seis::Blocks::Reader::seldata_
SelData * seldata_
Definition: seisblocksreader.h:73
Seis::Blocks::Reader::compsel_
BoolTypeSet compsel_
Definition: seisblocksreader.h:82
ranges.h
Interval< float >
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
TypeSet< BoolTypeSetType >
Seis::Blocks::Reader::lastopwasgetinfo_
bool lastopwasgetinfo_
Definition: seisblocksreader.h:86

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2021