OpendTect  6.3
seis2dlinemerge.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: Bert
8  Date: Dec 2009
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "seiscommon.h"
14 #include "executor.h"
15 #include "samplingdata.h"
16 #include "uistring.h"
17 class SeisTrcBuf;
18 class SeisIOObjInfo;
19 class BufferStringSet;
20 class Seis2DLinePutter;
21 namespace PosInfo { class Line2DData; }
22 
23 
28 public:
29 
30  enum Opt { MatchTrcNr, MatchCoords, SimpleAppend };
31 
32  Seis2DLineMerger(const BufferStringSet& datanms,
33  const Pos::GeomID&);
35 
36  uiString message() const { return msg_; }
37  uiString nrDoneText() const { return nrdonemsg_; }
38  od_int64 totalNr() const { return totnr_; }
39  od_int64 nrDone() const { return nrdone_; }
40  int nextStep();
41 
42 
47  bool renumber_;
48  bool stckdupl_;
50  double snapdist_;
51 
52 protected:
53 
61  Executor* getter_;
67  bool have1_, have2_;
69 
74 
75  int doWork();
76  int doIO();
77  bool getLineID(const char*,int&) const;
78  bool nextAttr();
79  bool nextGetter();
80  void mergeBufs();
81  void makeBufsCompat();
82  void mergeOnCoords();
83  void doMerge(const TypeSet<int>&,bool);
84 
85 };
#define mExpClass(module)
Definition: commondefs.h:157
Seismics.
Definition: segydirectdef.h:20
od_int64 nrdone_
Definition: seis2dlinemerge.h:72
Info on IOObj for seismics.
Definition: seisioobjinfo.h:29
bool stckdupl_
Definition: seis2dlinemerge.h:48
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
BufferString lnm1_
Definition: seis2dlinemerge.h:44
#define od_int64
Definition: plftypes.h:34
PosInfo::Line2DData & l2dd1_
Definition: seis2dlinemerge.h:55
bool have2_
Definition: seis2dlinemerge.h:67
Position info for a 2D line.
Definition: posinfo2d.h:63
Definition: uistring.h:88
od_int64 nrDone() const
Definition: seis2dlinemerge.h:39
Set of BufferString objects.
Definition: bufstringset.h:25
SeisTrcBuf & tbuf1_
Definition: seis2dlinemerge.h:58
PosInfo::Line2DData & l2dd2_
Definition: seis2dlinemerge.h:56
BufferString outlnm_
Definition: seis2dlinemerge.h:46
Pos::GeomID lid2_
Definition: seis2dlinemerge.h:66
uiString msg_
Definition: seis2dlinemerge.h:70
Seis2DLinePutter * putter_
Definition: seis2dlinemerge.h:62
uiString message() const
Definition: seis2dlinemerge.h:36
Executor * getter_
Definition: seis2dlinemerge.h:61
Seis2DDataSet * ds_
Definition: seis2dlinemerge.h:54
interface for object that writes 2D seismic data
Definition: seis2dlineio.h:38
int currentlyreading_
Definition: seis2dlinemerge.h:65
SeisTrcBuf & tbuf2_
Definition: seis2dlinemerge.h:59
SamplingData< int > numbering_
Definition: seis2dlinemerge.h:49
const Pos::GeomID & outgeomid_
Definition: seis2dlinemerge.h:68
Opt
Definition: seis2dlinemerge.h:30
PosInfo::Line2DData & outl2dd_
Definition: seis2dlinemerge.h:57
double snapdist_
Definition: seis2dlinemerge.h:50
Index_Type GeomID
Definition: commontypes.h:48
BufferStringSet & attrnms_
Definition: seis2dlinemerge.h:63
uiString nrdonemsg_
Definition: seis2dlinemerge.h:71
Position info, often segmented.
Definition: posinfo.h:38
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
uiString nrDoneText() const
Definition: seis2dlinemerge.h:37
merges two 2D lines into a new one (same Line Set)
Definition: seis2dlinemerge.h:26
od_int64 totnr_
Definition: seis2dlinemerge.h:73
set of seismic traces.
Definition: seisbuf.h:28
BufferString lnm2_
Definition: seis2dlinemerge.h:45
Opt opt_
Definition: seis2dlinemerge.h:43
od_int64 totalNr() const
Definition: seis2dlinemerge.h:38
int curattridx_
Definition: seis2dlinemerge.h:64
bool renumber_
Definition: seis2dlinemerge.h:47
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
SeisTrcBuf & outbuf_
Definition: seis2dlinemerge.h:60

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