OpendTect  6.6
seisimporter.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: A.H. Bril
8  Date: Nov 2006
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "seismod.h"
15 #include "seistype.h"
16 #include "executor.h"
17 #include "bufstring.h"
18 class IOObj;
19 class Scaler;
20 class SeisTrc;
21 class SeisTrcBuf;
22 class BinIDSorting;
23 class SeisTrcReader;
24 class SeisTrcWriter;
25 class SeisResampler;
27 namespace Seis { class SelData; }
28 
33 public:
34 
44  mStruct(Seis) Reader
45  {
46  virtual ~Reader() {}
47 
48  virtual const char* name() const = 0;
49  virtual const char* implName() const = 0;
50  virtual bool fetch(SeisTrc&) = 0;
51  virtual int totalNr() const { return -1; }
52 
54  };
55 
56 
59  virtual ~SeisImporter();
60 
62  od_int64 nrDone() const;
64  od_int64 totalNr() const;
65  int nextStep();
66 
67  int nrSkipped() const { return nrskipped_; }
68  Reader& reader() { return *rdr_; }
69  SeisTrcWriter& writer() { return wrr_; }
70 
71 protected:
72 
73  enum State { ReadBuf, WriteBuf, ReadWrite };
74 
75  Reader* rdr_;
77  int queueid_;
88  int nrread_;
91 
92  bool sortingOk(const SeisTrc&);
94  int readIntoBuf();
95 
96  friend class SeisImporterWriterTask;
97  void reportWrite(const uiString&);
98 
99  mutable uiString errmsg_;
101 };
102 
103 
104 mExpClass(Seis) SeisStdImporterReader : public SeisImporter::Reader
106 public:
107  SeisStdImporterReader(const IOObj&,const char* nm);
109 
110  SeisTrcReader& reader() { return rdr_; }
111 
112  const char* name() const { return name_; }
113  const char* implName() const;
114  bool fetch(SeisTrc&);
115 
116  void removeNull( bool yn ) { remnull_ = yn; }
118  void setScaler(Scaler*);
120 
121  int totalNr() const;
122 
123 protected:
124 
127  bool remnull_;
130 
131 };
132 
133 
SeisImporter::uiMessage
uiString uiMessage() const
will be message() again in 7.x
SeisImporter::trc_
SeisTrc & trc_
Definition: seisimporter.h:81
SeisImporter::prevbid_
BinID & prevbid_
Definition: seisimporter.h:82
SeisStdImporterReader::removeNull
void removeNull(bool yn)
Definition: seisimporter.h:116
SeisImporter::reader
Reader & reader()
Definition: seisimporter.h:68
SeisImporter::nextStep
int nextStep()
SeisTrcReader
reads from a seismic data store.
Definition: seisread.h:50
SeisImporter::state_
State state_
Definition: seisimporter.h:87
SeisImporter::geomtype_
Seis::GeomType geomtype_
Definition: seisimporter.h:86
SeisResampler
will sub-sample in inl and crl, and re-sample in Z
Definition: seisresampler.h:29
Seis
Summary for a Seismic object.
Definition: segydirectdef.h:22
SeisStdImporterReader::~SeisStdImporterReader
~SeisStdImporterReader()
BinIDSorting
BinID sorting parameters.
Definition: binidsorting.h:27
od_int64
#define od_int64
Definition: plftypes.h:35
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
SeisStdImporterReader::reader
SeisTrcReader & reader()
Definition: seisimporter.h:110
SeisTrc
Seismic trace.
Definition: seistrc.h:34
SeisImporter::mODTextTranslationClass
mODTextTranslationClass(SeisImporter)
SeisImporter::writer
SeisTrcWriter & writer()
Definition: seisimporter.h:69
SeisImporter::nrread_
int nrread_
Definition: seisimporter.h:88
SeisImporter::hndlmsg_
uiString hndlmsg_
Definition: seisimporter.h:100
SeisImporter::WriteBuf
@ WriteBuf
Definition: seisimporter.h:73
SeisStdImporterReader::rdr_
SeisTrcReader & rdr_
Definition: seisimporter.h:126
SeisStdImporterReader::totalNr
int totalNr() const
SeisImporter::sorting_
BinIDSorting * sorting_
Definition: seisimporter.h:84
SeisStdImporterReader::scaler_
Scaler * scaler_
Definition: seisimporter.h:129
SeisStdImporterReader::setScaler
void setScaler(Scaler *)
becomes mine
SeisTrcBuf
set of seismic traces.
Definition: seisbuf.h:31
bufstring.h
SeisStdImporterReader::fetch
bool fetch(SeisTrc &)
SeisImporter::sortingOk
bool sortingOk(const SeisTrc &)
SeisStdImporterReader::setResampler
void setResampler(SeisResampler *)
becomes mine
BinID
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:31
SeisStdImporterReader::resampler_
SeisResampler * resampler_
Definition: seisimporter.h:128
SeisImporter::maxqueuesize_
int maxqueuesize_
Definition: seisimporter.h:78
Scaler
Scaling of floating point numbers.
Definition: scaler.h:33
SeisStdImporterReader::implName
const char * implName() const
SeisImporter::nrSkipped
int nrSkipped() const
Definition: seisimporter.h:67
Seis::SelData
contains input (sub-)selection data from a cube or lineset
Definition: seisselection.h:82
SeisStdImporterReader::SeisStdImporterReader
SeisStdImporterReader(const IOObj &, const char *nm)
SeisImporter::State
State
Definition: seisimporter.h:73
SeisStdImporterReader
Definition: seisimporter.h:105
mStruct
#define mStruct(module)
Definition: commondefs.h:182
Executor
Specification to enable chunkwise execution of a process.
Definition: executor.h:39
SeisImporter::doWrite
int doWrite(SeisTrc &)
Threads::ConditionVar
Is an object that faciliates many threads to wait for something to happen.
Definition: thread.h:110
SeisImporter::queueid_
int queueid_
Definition: seisimporter.h:77
SeisImporter::reportWrite
void reportWrite(const uiString &)
SeisImporter::rdr_
Reader * rdr_
Definition: seisimporter.h:75
IOObj
Definition: ioobj.h:58
executor.h
SeisImporter
Helps import or export of seismic data.
Definition: seisimporter.h:32
SeisImporter::SeisImporter
SeisImporter(Reader *, SeisTrcWriter &, Seis::GeomType)
Reader becomes mine. Has to be non-null.
SeisImporter::sort2ddir_
int sort2ddir_
Definition: seisimporter.h:83
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
SeisImporter::sortanal_
BinIDSortingAnalyser * sortanal_
Definition: seisimporter.h:85
SeisImporter::wrr_
SeisTrcWriter & wrr_
Definition: seisimporter.h:76
SeisImporter::errmsg_
uiString errmsg_
Definition: seisimporter.h:99
BinIDSortingAnalyser
Analyses whether input BinIDs are sorted.
Definition: binidsorting.h:68
SeisImporter::readIntoBuf
int readIntoBuf()
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
SeisImporter::buf_
SeisTrcBuf & buf_
Definition: seisimporter.h:80
SeisStdImporterReader::name
const char * name() const
Definition: seisimporter.h:112
MPE::errmsg_
BufferString errmsg_
Definition: horizontracker.h:118
SeisImporter::~SeisImporter
virtual ~SeisImporter()
SeisStdImporterReader::remnull_
bool remnull_
Definition: seisimporter.h:127
SeisImporter::nrwritten_
int nrwritten_
Definition: seisimporter.h:89
seistype.h
SeisImporter::nrDone
od_int64 nrDone() const
SeisStdImporterReader::setSelData
void setSelData(Seis::SelData *)
becomes mine
SeisImporter::uiNrDoneText
uiString uiNrDoneText() const
will be nrDoneText() in 7.x
SeisStdImporterReader::mODTextTranslationClass
mODTextTranslationClass(SeisStdImporterReader)
Seis::GeomType
GeomType
Definition: seistype.h:32
SeisStdImporterReader::name_
const BufferString name_
Definition: seisimporter.h:125
SeisTrcWriter
Definition: seiswrite.h:41
SeisImporter::totalNr
od_int64 totalNr() const
SeisImporter::lock_
Threads::ConditionVar & lock_
Definition: seisimporter.h:79
SeisImporter::nrskipped_
int nrskipped_
Definition: seisimporter.h:90

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