OpendTect  6.3
uidatapointsetmerger.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: Satyaki Maitra
8  Date: August 2011
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "uiiocommon.h"
14 #include "bufstringset.h"
15 #include "ctxtioobj.h"
16 #include "datapointset.h"
17 #include "executor.h"
18 
19 #include "uidialog.h"
20 
21 class uiComboBox;
22 class uiGenInput;
23 class uiIOObjSel;
24 class uiTable;
25 
31 { mODTextTranslationClass(DPSMergerProp);
32 public:
33 
35 
36  DPSMergerProp( const DBKey& id, PackID mid,
37  PackID sid )
38  : masterdpsid_(mid), slavedpsid_(sid)
39  , newdpsid_(id), maxz_(mUdf(float))
40  , maxhordist_(mUdf(float))
41  , dooverwriteundef_(false) {}
42 
43  void setColid(int masterid,int slaveid);
44 
45  enum MatchPolicy { Exact, Nearest, NoMatch };
47  { matchpol_ = pol; }
48  MatchPolicy matchPolicy() const { return matchpol_; }
49 
52  { replacepol_ = pol; }
53 
54  ReplacePolicy replacePolicy() const { return replacepol_; }
55 
56  PackID masterDPID() const { return masterdpsid_;}
57  PackID slaveDPID() const { return slavedpsid_; }
58  DBKey newDPSID() const { return newdpsid_; }
59  const TypeSet<int>& masterColIDs() const {return mastercolids_;}
60  const TypeSet<int>& slaveColIDs() const { return slavecolids_;}
61 
62  float maxAllowedHorDist() const
63  { return maxhordist_; }
64  void setMaxAllowedHorDist( float maxdist )
65  { maxhordist_ = maxdist; }
66 
67  float maxAllowedZDist() const { return maxz_; }
68  void setMaxAllowedZDist( float maxz )
69  { maxz_ = maxz; }
70 
71  bool overWriteUndef() const
72  { return dooverwriteundef_; }
73  void setOverWriteUndef( bool yn )
74  { dooverwriteundef_ = yn; }
75 protected:
76 
79 
81  PackID masterdpsid_;
82  PackID slavedpsid_;
86  float maxhordist_;
87  float maxz_;
88 };
89 
90 
93 public:
94 
95  DPSMerger(const DPSMergerProp&);
96 
97  void addNewCols(const BufferStringSet&);
98  od_int64 nrDone() const { return rowdone_; }
99  od_int64 totalNr() const { return sdps_->size();}
100  uiString message() const;
101  uiString nrDoneText() const;
102  RefMan<DataPointSet> getNewDPS() { return newdps_; }
103 
104 protected:
105 
110  int rowdone_;
111 
112  int nextStep();
113 
114  int getSlaveColID(int mcolid);
115  DataPointSet::DataRow getDataRow(int,int);
116  DataPointSet::DataRow getNewDataRow(int);
117  int findMatchingMrowID(int);
118 };
119 
120 
123 public:
125  DataPointSet*);
127 protected:
128 
132 
141 
142  void setTable();
143  BufferStringSet checkForNewColumns() const;
144  void checkForSameColNms(BufferStringSet&) const;
145  bool acceptOK();
146  void attribChangedCB(CallBacker*);
147  void matchPolChangedCB(CallBacker*);
148 };
uiIOObjSel * outfld_
Definition: uidatapointsetmerger.h:140
#define mExpClass(module)
Definition: commondefs.h:157
RefMan< DataPointSet > sdps_
Definition: uidatapointsetmerger.h:108
void setMatchPolicy(MatchPolicy pol)
Definition: uidatapointsetmerger.h:46
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
void setMaxAllowedHorDist(float maxdist)
Definition: uidatapointsetmerger.h:64
Set of data points with group selection.
Definition: datapointset.h:47
RefMan< DataPointSet > getNewDPS()
Definition: uidatapointsetmerger.h:102
uiGenInput * addcoloptfld_
Definition: uidatapointsetmerger.h:137
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
RefMan< DataPointSet > mdps_
Definition: uidatapointsetmerger.h:129
float maxAllowedHorDist() const
Definition: uidatapointsetmerger.h:62
uiComboBox * replacepolfld_
Definition: uidatapointsetmerger.h:135
#define od_int64
Definition: plftypes.h:34
od_int64 nrDone() const
Definition: uidatapointsetmerger.h:98
PackID slaveDPID() const
Definition: uidatapointsetmerger.h:57
Definition: uitable.h:29
Definition: uidatapointsetmerger.h:121
DataPack::ID PackID
Definition: uidatapointsetmerger.h:34
Definition: uidatapointsetmerger.h:50
bool dooverwriteundef_
Definition: uidatapointsetmerger.h:80
Combo box.
Definition: uicombobox.h:30
Definition: uistring.h:88
RefMan< DataPointSet > sdps_
Definition: uidatapointsetmerger.h:130
Definition: uiparent.h:24
const TypeSet< int > & masterColIDs() const
Definition: uidatapointsetmerger.h:59
Set of BufferString objects.
Definition: bufstringset.h:25
void setReplacePolicy(ReplacePolicy pol)
Definition: uidatapointsetmerger.h:51
Holds an IOObjCtxt plus a pointer to an IOObj and/or an IOPar.
Definition: ctxtioobj.h:24
TypeSet< int > mastercolids_
Definition: uidatapointsetmerger.h:83
ReplacePolicy
Definition: uidatapointsetmerger.h:50
float maxz_
Definition: uidatapointsetmerger.h:87
Definition: uidialog.h:40
DPSMergerProp(const DBKey &id, PackID mid, PackID sid)
Definition: uidatapointsetmerger.h:36
RefMan< DataPointSet > mdps_
Definition: uidatapointsetmerger.h:107
ReplacePolicy replacepol_
Definition: uidatapointsetmerger.h:78
uiGenInput * zgatefld_
Definition: uidatapointsetmerger.h:139
FullID::PackID ID
Definition: datapack.h:64
void message(const char *)
default: to stderr
CrossPlot manager.
Definition: uidatapointsetmerger.h:30
FixedString No()
Definition: keystrs.h:89
PackID masterdpsid_
Definition: uidatapointsetmerger.h:81
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:270
PackID slavedpsid_
Definition: uidatapointsetmerger.h:82
DPSMergerProp prop_
Definition: uidatapointsetmerger.h:106
General Input Element.
Definition: uigeninput.h:56
MatchPolicy matchPolicy() const
Definition: uidatapointsetmerger.h:48
CtxtIOObj ctio_
Definition: uidatapointsetmerger.h:131
ReplacePolicy replacePolicy() const
Definition: uidatapointsetmerger.h:54
User Interface (UI) element for selection of IOObjs.
Definition: uiioobjsel.h:36
Definition: stattype.h:22
float maxAllowedZDist() const
Definition: uidatapointsetmerger.h:67
Data point with group. Group 0 means &#39;inactive&#39;, it can never be selected.
Definition: datapointset.h:103
od_int64 totalNr() const
Definition: uidatapointsetmerger.h:99
MatchPolicy matchpol_
Definition: uidatapointsetmerger.h:77
DBKey newdpsid_
Definition: uidatapointsetmerger.h:85
TypeSet< int > slavecolids_
Definition: uidatapointsetmerger.h:84
Definition: uidatapointsetmerger.h:91
PackID masterDPID() const
Definition: uidatapointsetmerger.h:56
bool overWriteUndef() const
Definition: uidatapointsetmerger.h:71
uiGenInput * distfld_
Definition: uidatapointsetmerger.h:138
int rowdone_
Definition: uidatapointsetmerger.h:110
uiGenInput * overwritefld_
Definition: uidatapointsetmerger.h:136
Full key to any object in the OpendTect data store.
Definition: dbkey.h:36
float maxhordist_
Definition: uidatapointsetmerger.h:86
void setOverWriteUndef(bool yn)
Definition: uidatapointsetmerger.h:73
const TypeSet< int > & slaveColIDs() const
Definition: uidatapointsetmerger.h:60
RefMan< DataPointSet > newdps_
Definition: uidatapointsetmerger.h:109
DBKey newDPSID() const
Definition: uidatapointsetmerger.h:58
void setMaxAllowedZDist(float maxz)
Definition: uidatapointsetmerger.h:68
MatchPolicy
Definition: uidatapointsetmerger.h:45
uiTable * tbl_
Definition: uidatapointsetmerger.h:133
uiComboBox * matchpolfld_
Definition: uidatapointsetmerger.h:134
Specification to enable chunkwise execution of a process.
Definition: executor.h:38

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