OpendTect  6.3
seisstor.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: 20-1-98
9 ________________________________________________________________________
10 
11 Trace storage objects handle seismic data storage.
12 
13 -*/
14 
15 
16 #include "seisinfo.h"
17 #include "uistring.h"
18 
19 class Conn;
20 class IOObj;
21 class Translator;
22 class Seis2DDataSet;
23 class SeisPSIOProvider;
24 class SeisTrcTranslator;
25 namespace Seis { class SelData; }
26 
27 
31 { mODTextTranslationClass(SeisStoreAccess);
32 public:
33 
34  virtual ~SeisStoreAccess();
35  virtual bool close();
36 
37  bool is2D() const { return is2d_; }
38  bool isPS() const { return psioprov_; }
40  { return Seis::geomTypeOf(is2D(),isPS()); }
41 
42  uiString errMsg() const { return errmsg_; }
43  int tracesHandled() const
44  { return nrtrcs_; }
45 
46  const IOObj* ioObj() const
47  { return ioobj_; }
48  void setIOObj(const IOObj*);
49  const Seis::SelData* selData() const
50  { return seldata_; }
51  virtual void setSelData(Seis::SelData*);
53 
54  virtual void usePar(const IOPar&);
55  // Afterwards check whether curConn is still OK.
56  virtual void fillPar(IOPar&) const;
57 
58  static const char* sNrTrcs;
59 
60  // Note that the Translator is always created, but only actually used for 3D
61  Translator* translator() { return trl_; }
62  Translator* translator() const { return trl_; }
63 
64  // 3D only
65  Conn* curConn3D();
66  const Conn* curConn3D() const;
67 
68  // 3D and 2D
69  SeisTrcTranslator* seisTranslator() { return strl(); }
70  const SeisTrcTranslator* seisTranslator() const { return strl(); }
71  // 2D only
72  Seis2DDataSet* dataSet() { return dataset_; }
73  const Seis2DDataSet* dataSet() const { return dataset_; }
74 
75  // Prestack only
76  const SeisPSIOProvider* psIOProv() const { return psioprov_; }
77 
78 protected:
79 
80  SeisStoreAccess(const IOObj*);
81  SeisStoreAccess(const char*,bool is2d,bool isps);
82  virtual void init() {}
83  bool cleanUp(bool alsoioobj=true);
84 
86  bool is2d_;
87  int nrtrcs_;
92  mutable uiString errmsg_;
93 
94  SeisTrcTranslator* strl() const;
95 
96 };
const Seis::SelData * selData() const
Definition: seisstor.h:49
#define mExpClass(module)
Definition: commondefs.h:157
const SeisPSIOProvider * psIOProv() const
Definition: seisstor.h:76
const SeisTrcTranslator * seisTranslator() const
Definition: seisstor.h:70
Seismics.
Definition: segydirectdef.h:20
Definition: ioobj.h:57
bool is2d_
Definition: seisstor.h:86
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
uiString errMsg() const
Definition: seisstor.h:42
bool is2D(GeomType gt)
Definition: seistype.h:32
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:200
bool is2D() const
Definition: seisstor.h:37
Seis::GeomType geomType() const
Definition: seisstor.h:39
int tracesHandled() const
Definition: seisstor.h:43
uiString errmsg_
Definition: seisstor.h:92
Definition: uistring.h:88
int nrtrcs_
Definition: seisstor.h:87
Prestack Seismics objects provider.
Definition: seispsioprov.h:60
GeomType
Definition: seistype.h:31
bool isPS(GeomType gt)
Definition: seistype.h:36
static const char * sNrTrcs
Definition: seisstor.h:58
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
Definition: seistrctr.h:85
const IOObj * ioObj() const
Definition: seisstor.h:46
IOObj * ioobj_
Definition: seisstor.h:85
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:187
Translator * translator() const
Definition: seisstor.h:62
contains input (sub-)selection data from a cube or lineset
Definition: seisselection.h:78
virtual void init()
Definition: seisstor.h:82
I/O Interpreter class for a certain object type.
Definition: transl.h:122
Definition: conn.h:31
Seis2DDataSet * dataSet()
Definition: seisstor.h:72
BufferString errmsg_
Definition: horizontracker.h:117
base class for seis reader and writer.
Definition: seisstor.h:30
bool isPS() const
Definition: seisstor.h:38
Seis2DDataSet * dataset_
Definition: seisstor.h:89
SeisTrcTranslator * seisTranslator()
Definition: seisstor.h:69
Seis::SelData * seldata_
Definition: seisstor.h:90
Translator * translator()
Definition: seisstor.h:61
GeomType geomTypeOf(const char *)
const SeisPSIOProvider * psioprov_
Definition: seisstor.h:91
const Seis2DDataSet * dataSet() const
Definition: seisstor.h:73
Translator * trl_
Definition: seisstor.h:88
Set of 2D lines comparable with 3D seismic cube.
Definition: seis2ddata.h:36

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