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

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