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

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