OpendTect  6.6
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  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "seismod.h"
15 #include "namedobj.h"
16 #include "objectset.h"
17 #include "od_iosfwd.h"
18 
19 class IOObj;
20 class Executor;
21 class SeisTrcBuf;
22 class TrcKeyZSampling;
23 class BinIDValueSet;
24 class BufferStringSet;
25 class SeisTrcWriter;
26 class Seis2DLinePutter;
28 namespace PosInfo { class LineSet2DData; class Line2DData; }
29 namespace Seis { class SelData; }
30 
31 static const char* sKeyNoOfLines mUnusedVar = "Number of Lines";
32 
37 {
38  friend class SeisTrcWriter;
39 
40 public:
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 
64 
66  int nrtrcsperstep=10,
67  const Seis::SelData* sd=0) const;
72 
74  BufferString& stdinfo) const;
76  StepInterval<float>& zrg) const;
77  bool haveMatch(int,const BinIDValueSet&) const;
78 
79  bool rename(const char*);
82 
83  static void getDataSetsOnLine(const char* lnm,
84  BufferStringSet& ds);
85  static void getDataSetsOnLine(Pos::GeomID geomid,
86  BufferStringSet& ds);
87 
88 protected:
89 
93  bool readonly_;
94 
97 
98  void init();
99 
100 private:
101 
103 };
104 
Seis2DDataSet::lineName
const char * lineName(int) const
NamedObject
object with a name.
Definition: namedobj.h:42
Seis2DDataSet::getTxtInfo
bool getTxtInfo(Pos::GeomID, BufferString &uinfo, BufferString &stdinfo) const
Seis2DDataSet::~Seis2DDataSet
virtual ~Seis2DDataSet()
Seis2DDataSet::geomID
Pos::GeomID geomID(int) const
Seis2DDataSet::getDataSetsOnLine
static void getDataSetsOnLine(Pos::GeomID geomid, BufferStringSet &ds)
PosInfo::Line2DData
Position info for a 2D line.
Definition: posinfo2d.h:65
Seis2DDataSet::isEmpty
bool isEmpty() const
BinIDValueSet
A Pos::IdxPairValueSet with BinIDs.
Definition: binidvalset.h:23
BufferStringSet
Set of BufferString objects.
Definition: bufstringset.h:26
Seis
Summary for a Seismic object.
Definition: segydirectdef.h:22
Seis2DDataSet::ioobj_
IOObj & ioobj_
Definition: seis2ddata.h:90
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
Seis2DDataSet::liop_
Seis2DLineIOProvider * liop_
Definition: seis2ddata.h:95
Seis2DLineIOProvider
Provides read/write to/from 2D seismic lines. Only interesting if you want to add your own 2D data I/...
Definition: seis2dlineio.h:91
namedobj.h
Seis2DDataSet::fname_
BufferString fname_
Definition: seis2ddata.h:91
Seis2DDataSet::fileName
const char * fileName() const
Definition: seis2ddata.h:48
Seis2DDataSet::Seis2DDataSet
Seis2DDataSet(const Seis2DDataSet &)
Seis2DDataSet::nrLines
int nrLines() const
Definition: seis2ddata.h:50
SeisTrcWriter::datatype_
BufferString datatype_
Definition: seiswrite.h:110
Seis2DDataSet::getGeomIDs
void getGeomIDs(TypeSet< Pos::GeomID > &) const
Seis2DLinePutter
interface for object that writes 2D seismic data
Definition: seis2dlineio.h:41
SeisTrcBuf
set of seismic traces.
Definition: seisbuf.h:31
Seis2DDataSet::indexOf
int indexOf(Pos::GeomID) const
TrcKeyZSampling
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
StepInterval< int >
Seis2DDataSet::lineFetcher
Executor * lineFetcher(Pos::GeomID, SeisTrcBuf &, int nrtrcsperstep=10, const Seis::SelData *sd=0) const
May return null.
Seis2DDataSet::isPresent
bool isPresent(const char *linename) const
Seis2DDataSet::datatype_
BufferString datatype_
Definition: seis2ddata.h:92
Seis2DDataSet::isEmpty
bool isEmpty(Pos::GeomID) const
Seis2DDataSet::setReadOnly
void setReadOnly(bool yn=true)
Definition: seis2ddata.h:45
Seis::SelData
contains input (sub-)selection data from a cube or lineset
Definition: seisselection.h:82
Seis2DDataSet::getLineNames
void getLineNames(BufferStringSet &) const
Seis2DDataSet::getDataSetsOnLine
static void getDataSetsOnLine(const char *lnm, BufferStringSet &ds)
Seis2DDataSet::getGeometry
bool getGeometry(Pos::GeomID, PosInfo::Line2DData &) const
Executor
Specification to enable chunkwise execution of a process.
Definition: executor.h:39
Seis2DDataSet::haveMatch
bool haveMatch(int, const BinIDValueSet &) const
IOObj
Definition: ioobj.h:58
Seis2DDataSet
Set of 2D lines comparable with 3D seismic cube.
Definition: seis2ddata.h:37
Seis2DDataSet::indexOf
int indexOf(const char *linename) const
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
Seis2DDataSet::getRanges
bool getRanges(Pos::GeomID, StepInterval< int > &trcrg, StepInterval< float > &zrg) const
Seis2DDataSet::remove
bool remove(Pos::GeomID)
Also removes from disk.
Seis2DDataSet::isPresent
bool isPresent(Pos::GeomID) const
Seis2DDataSet::type
const char * type() const
Seis2DDataSet::geomids_
TypeSet< Pos::GeomID > geomids_
Definition: seis2ddata.h:96
Seis2DDataSet::Seis2DDataSet
Seis2DDataSet(const IOObj &)
Seis2DDataSet::dataType
const char * dataType() const
Definition: seis2ddata.h:47
PosInfo
Position info, often segmented.
Definition: posinfo.h:40
od_iosfwd.h
Seis2DDataSet::rename
bool rename(const char *)
Seis2DDataSet::linePutter
Seis2DLinePutter * linePutter(Pos::GeomID)
mUnusedVar
static const char *sKeyNoOfLines mUnusedVar
Definition: seis2ddata.h:31
SeisTrcWriter
Definition: seiswrite.h:41
objectset.h
Seis2DDataSet::init
void init()
Pos::GeomID
Index_Type GeomID
Definition: commontypes.h:87
TypeSet< Pos::GeomID >
Seis2DDataSet::readonly_
bool readonly_
Definition: seis2ddata.h:93

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