OpendTect  6.3
seisseqio.h
Go to the documentation of this file.
1 #pragma once
2 /*+
3  * (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
4  * AUTHOR : Bert
5  * DATE : Sep 2007
6 -*/
7 
8 #include "seiscommon.h"
9 #include "bufstring.h"
10 #include "factory.h"
11 #include "uistring.h"
12 
13 class SeisTrc;
14 class SeisTrcBuf;
15 class SeisPSReader;
16 class SeisTrcReader;
17 class SeisTrcWriter;
18 class BufferStringSet;
19 namespace Seis { class SelData; }
20 
21 namespace Seis
22 {
23 
24 class Bounds;
25 
30 public:
31 
32  virtual const char* type() const = 0;
33  virtual Seis::GeomType geomType() const = 0;
34  virtual void fillPar(IOPar&) const;
35  virtual bool usePar(const IOPar&) = 0;
36 
37  uiString errMsg() const { return errmsg_; }
38 
39  static const char* sKeyODType;
40 
41 protected:
42 
43  mutable uiString errmsg_;
44 };
45 
46 
51 public:
52 
53  virtual bool get(SeisTrc&) const = 0;
54 
55  virtual void fillPar(IOPar&) const;
56 
57  virtual Seis::Bounds* getBounds() const { return 0; }
58  virtual int estimateTotalNumber() const { return -1; }
59 
61 
62 protected:
63 
64  static Seis::GeomType getGeomType(const IOPar&);
65 
66 };
67 
68 
80 public:
81 
82  ODSeqInp();
83  ~ODSeqInp();
84 
85  virtual const char* type() const { return sKeyODType; }
86 
87  virtual Seis::GeomType geomType() const;
88 
89  virtual bool usePar(const IOPar&);
90  virtual void fillPar(IOPar&) const;
91  virtual bool get(SeisTrc&) const;
92 
93  virtual Seis::Bounds* getBounds() const;
94  virtual int estimateTotalNumber() const;
95 
96  static void initClass();
97  static SeqInp* create() { return new ODSeqInp; }
98 
101 
102 protected:
103 
105  mutable int curposidx_;
106  mutable int segidx_;
107  mutable int ldidx_;
108 
109 };
110 
111 
116 public:
117 
118  virtual bool put(const SeisTrc&) = 0;
119 
120  static BufferStringSet& classNames();
121  static SeqOut* make(const char*);
122  static void addClass(SeqOut*);
123 
124  mDefineFactoryInClass(SeqOut,factory);
125 
126 };
127 
128 
137 public:
138 
139  ODSeqOut() : wrr_(0) {}
140  ~ODSeqOut();
141 
142  virtual const char* type() const { return sKeyODType; }
143  virtual Seis::GeomType geomType() const;
144 
145  virtual bool usePar(const IOPar&);
146  virtual void fillPar(IOPar&) const;
147  virtual bool put(const SeisTrc&);
148 
149  static void initClass();
150  static SeqOut* create() { return new ODSeqOut; }
151 
153 
154 };
155 
156 
157 } // namespace Seis
#define mExpClass(module)
Definition: commondefs.h:157
SeisPSReader * psrdr_
Definition: seisseqio.h:100
Seismics.
Definition: segydirectdef.h:20
SeisTrcReader * rdr_
Definition: seisseqio.h:99
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
SeisTrcBuf & gath_
Definition: seisseqio.h:104
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:200
Base class for Seismic Sequential output classes.
Definition: seisseqio.h:114
contains domain-specific data boundary details.
Definition: seisbounds.h:29
int curposidx_
Definition: seisseqio.h:105
Definition: seiswrite.h:38
virtual int estimateTotalNumber() const
Definition: seisseqio.h:58
Definition: uistring.h:88
int ldidx_
Definition: seisseqio.h:107
Set of BufferString objects.
Definition: bufstringset.h:25
OpendTect-internal Seismic Sequential input.
Definition: seisseqio.h:78
GeomType
Definition: seistype.h:31
reads from a seismic data store.
Definition: seisread.h:43
ODSeqOut()
Definition: seisseqio.h:139
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
virtual const char * type() const
Definition: seisseqio.h:85
uiString errMsg() const
Definition: seisseqio.h:37
virtual Seis::Bounds * getBounds() const
Definition: seisseqio.h:57
int segidx_
Definition: seisseqio.h:106
#define mDefineFactoryInClass(T, funcname)
Definition: factory.h:424
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:187
Base class for Seismic Sequential input classes.
Definition: seisseqio.h:49
static const char * sKeyODType
Definition: seisseqio.h:39
static SeqOut * create()
Definition: seisseqio.h:150
Seismic trace.
Definition: seistrc.h:31
BufferString errmsg_
Definition: horizontracker.h:117
set of seismic traces.
Definition: seisbuf.h:28
SeisTrcWriter * wrr_
Definition: seisseqio.h:152
virtual const char * type() const
Definition: seisseqio.h:142
uiString errmsg_
Definition: seisseqio.h:43
reads from a prestack seismic data store.
Definition: seispsread.h:33
Base class for Seismic Sequential IO classes.
Definition: seisseqio.h:28
Seismic Sequential output via SeistrcWriter.
Definition: seisseqio.h:135
static SeqInp * create()
Definition: seisseqio.h:97
static void initClass()

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