OpendTect-6_4  6.4
seis2ddata.h
Go to the documentation of this file.
1 #ifndef seis2ddata_h
2 #define seis2ddata_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: Salil Agarwal
9  Date: Dec 2012
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 -*/
14 
15 #include "seismod.h"
16 #include "namedobj.h"
17 #include "objectset.h"
18 #include "od_iosfwd.h"
19 
20 class IOObj;
21 class Executor;
22 class SeisTrcBuf;
23 class TrcKeyZSampling;
24 class BinIDValueSet;
25 class BufferStringSet;
26 class SeisTrcWriter;
27 class Seis2DLinePutter;
29 namespace PosInfo { class LineSet2DData; class Line2DData; }
30 namespace Seis { class SelData; }
31 
32 static const char* sKeyNoOfLines mUnusedVar = "Number of Lines";
33 
38 {
39  friend class SeisTrcWriter;
40 
41 public:
42  Seis2DDataSet(const IOObj&);
44 
45  virtual ~Seis2DDataSet();
46  void setReadOnly( bool yn=true ) { readonly_ = yn; }
47 
48  const char* dataType() const { return datatype_; }
49  const char* fileName() const { return fname_; }
50  const char* type() const;
51  int nrLines() const
52  { return geomids_.size(); }
53  bool isEmpty() const;
54 
55  Pos::GeomID geomID(int) const;
56  const char* lineName(int) const;
57  int indexOf(Pos::GeomID) const;
58  int indexOf(const char* linename) const;
59  bool isPresent(Pos::GeomID) const;
60  bool isPresent(const char* linename) const;
61  bool isEmpty(Pos::GeomID) const;
62 
63  void getGeomIDs(TypeSet<Pos::GeomID>&) const;
64  void getLineNames(BufferStringSet&) const;
65 
66  Executor* lineFetcher(Pos::GeomID,SeisTrcBuf&,
67  int nrtrcsperstep=10,
68  const Seis::SelData* sd=0) const;
73 
74  bool getTxtInfo(Pos::GeomID,BufferString& uinfo,
75  BufferString& stdinfo) const;
76  bool getRanges(Pos::GeomID,StepInterval<int>& trcrg,
77  StepInterval<float>& zrg) const;
78  bool haveMatch(int,const BinIDValueSet&) const;
79 
80  bool rename(const char*);
81  bool remove(Pos::GeomID);
83 
84  static void getDataSetsOnLine(const char* lnm,
85  BufferStringSet& ds);
86  static void getDataSetsOnLine(Pos::GeomID geomid,
87  BufferStringSet& ds);
88 
89 protected:
90 
94  bool readonly_;
95 
98 
99  void init();
100 
101 private:
102 
103  bool getGeometry(Pos::GeomID,PosInfo::Line2DData&) const;
104 };
105 
106 #endif
bool rename(const char *oldname, const char *newname)
#define mExpClass(module)
Definition: commondefs.h:160
Summary for a Seismic object.
Definition: segydirectdef.h:23
Definition: ioobj.h:58
Seis2DLinePutter * linePutter()
Definition: seiswrite.h:63
BufferString datatype_
Definition: seiswrite.h:111
bool init()
TypeSet< Pos::GeomID > geomids_
Definition: seis2ddata.h:97
Definition: seiswrite.h:41
Position info for a 2D line.
Definition: posinfo2d.h:65
BufferString datatype_
Definition: seis2ddata.h:93
Set of BufferString objects.
Definition: bufstringset.h:28
ObjectSet< T >::size_type indexOf(const ObjectSet< T > &os, const S &val)
Locate object in set.
Definition: objectset.h:169
bool readonly_
Definition: seis2ddata.h:94
const char * dataType() const
Definition: seis2ddata.h:48
const char * fileName() const
Definition: seis2ddata.h:49
int nrLines() const
Definition: seis2ddata.h:51
static const char *sKeyNoOfLines mUnusedVar
Definition: seis2ddata.h:32
interface for object that writes 2D seismic data
Definition: seis2dlineio.h:41
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
BufferString fname_
Definition: seis2ddata.h:92
contains input (sub-)selection data from a cube or lineset
Definition: seisselection.h:82
Index_Type GeomID
Definition: commontypes.h:52
Position info, often segmented.
Definition: posinfo.h:40
IOObj & ioobj_
Definition: seis2ddata.h:91
Provides read/write to/from 2D seismic lines. Only interesting if you want to add your own 2D data I/...
Definition: seis2dlineio.h:87
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:40
Object with a name.
Definition: namedobj.h:35
set of seismic traces.
Definition: seisbuf.h:31
A Pos::IdxPairValueSet with BinIDs.
Definition: binidvalset.h:23
bool isEmpty(const NLAModel *mdl)
Seis2DLineIOProvider * liop_
Definition: seis2ddata.h:96
Set of 2D lines comparable with 3D seismic cube.
Definition: seis2ddata.h:37
Specification to enable chunkwise execution of a process.
Definition: executor.h:39
void setReadOnly(bool yn=true)
Definition: seis2ddata.h:46

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