OpendTect  6.3
seis2ddata.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: Salil Agarwal
8  Date: Dec 2012
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "seiscommon.h"
14 #include "namedobj.h"
15 #include "objectset.h"
16 #include "od_iosfwd.h"
17 
18 class IOObj;
19 class Executor;
20 class SeisTrcBuf;
21 class TrcKeyZSampling;
22 class BinIDValueSet;
23 class BufferStringSet;
24 class SeisTrcWriter;
25 class Seis2DLinePutter;
26 class Seis2DTraceGetter;
28 namespace PosInfo { class LineSet2DData; class Line2DData; }
29 namespace Seis { class SelData; }
30 
31 static const char* sKeyNoOfLines mUnusedVar = "Number of Lines";
32 
38  friend class SeisTrcWriter;
39 
40 public:
41  Seis2DDataSet(const IOObj&);
43 
44  virtual ~Seis2DDataSet();
45  void setReadOnly( bool yn=true ) { readonly_ = yn; }
46 
47  const char* dataType() const { return datatype_; }
48  const char* fileName() const { return fname_; }
49  const char* type() const;
50  int nrLines() const
51  { return geomids_.size(); }
52  bool isEmpty() const;
53 
54  Pos::GeomID geomID(int) const;
55  const char* lineName(int) const;
56  int indexOf(Pos::GeomID) const;
57  int indexOf(const char* linename) const;
58  bool isPresent(Pos::GeomID) const;
59  bool isPresent(const char* linename) const;
60  bool isEmpty(Pos::GeomID) const;
61 
62  void getGeomIDs(TypeSet<Pos::GeomID>&) const;
63  void getLineNames(BufferStringSet&) const;
64  uiRetVal getGeometry(Pos::GeomID,PosInfo::Line2DData&) const;
65 
66  Seis2DTraceGetter* traceGetter(Pos::GeomID,const Seis::SelData*,
67  uiRetVal&) const;
69  Executor* lineGetter(Pos::GeomID,SeisTrcBuf&,
70  const Seis::SelData*,uiRetVal&,
71  int nrtrcsperstep=16) const;
76 
77  bool getTxtInfo(Pos::GeomID,BufferString& uinfo,
78  BufferString& stdinfo) const;
79  bool getRanges(Pos::GeomID,StepInterval<int>& trcrg,
80  StepInterval<float>& zrg) const;
81  bool haveMatch(int,const BinIDValueSet&) const;
82 
83  bool rename(const char*);
84  bool remove(Pos::GeomID);
86 
87  static void getDataSetsOnLine(const char* lnm,
88  BufferStringSet& ds);
89  static void getDataSetsOnLine(Pos::GeomID geomid,
90  BufferStringSet& ds);
91 
92 protected:
93 
97  bool readonly_;
98 
101 
102  void init();
103 };
bool rename(const char *oldname, const char *newname)
#define mExpClass(module)
Definition: commondefs.h:157
Seismics.
Definition: segydirectdef.h:20
Definition: ioobj.h:57
Seis2DLinePutter * linePutter()
Definition: seiswrite.h:59
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
BufferString datatype_
Definition: seiswrite.h:99
bool init()
TypeSet< Pos::GeomID > geomids_
Definition: seis2ddata.h:100
Definition: seiswrite.h:38
Position info for a 2D line.
Definition: posinfo2d.h:63
BufferString datatype_
Definition: seis2ddata.h:96
Set of BufferString objects.
Definition: bufstringset.h:25
ObjectSet< T >::size_type indexOf(const ObjectSet< T > &os, const S &val)
Locate object in set.
Definition: objectset.h:173
bool readonly_
Definition: seis2ddata.h:97
const char * dataType() const
Definition: seis2ddata.h:47
const char * fileName() const
Definition: seis2ddata.h:48
int nrLines() const
Definition: seis2ddata.h:50
static const char *sKeyNoOfLines mUnusedVar
Definition: seis2ddata.h:31
interface for object that writes 2D seismic data
Definition: seis2dlineio.h:38
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:32
Provides access to 2D seismic line data.
Definition: seis2dlineio.h:85
BufferString fname_
Definition: seis2ddata.h:95
contains input (sub-)selection data from a cube or lineset
Definition: seisselection.h:78
Index_Type GeomID
Definition: commontypes.h:48
Position info, often segmented.
Definition: posinfo.h:38
IOObj & ioobj_
Definition: seis2ddata.h:94
Provides read/write to/from 2D seismic lines. Only interesting if you want to add your own 2D data I/...
Definition: seis2dlineio.h:125
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
bool isEmpty(const char *)
object with a name.
Definition: namedobj.h:20
Definition: uistring.h:299
set of seismic traces.
Definition: seisbuf.h:28
A Pos::IdxPairValueSet with BinIDs.
Definition: binidvalset.h:21
Seis2DLineIOProvider * liop_
Definition: seis2ddata.h:99
Set of 2D lines comparable with 3D seismic cube.
Definition: seis2ddata.h:36
Specification to enable chunkwise execution of a process.
Definition: executor.h:38
void setReadOnly(bool yn=true)
Definition: seis2ddata.h:45

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