OpendTect  6.6
uisegyreadstarter.h
Go to the documentation of this file.
1 #pragma once
2 /*+
3 ________________________________________________________________________
4 
5  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
6  Author: Bert
7  Date: July 2015
8  RCS: $Id: $
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "uisegycommon.h"
14 #include "uidialog.h"
15 #include "segyfiledef.h"
16 #include "segyuiscandata.h"
17 #include "uisegyimptype.h"
18 #include "uicoordsystem.h"
19 
20 class Timer;
21 class TaskRunner;
22 class SurveyInfo;
23 class DataClipSampler;
24 class TrcKeyZSampling;
25 class uiLabel;
26 class uiButton;
27 class uiSpinBox;
28 class uiLineEdit;
29 class uiCheckBox;
30 class uiFileInput;
31 class uiPushButton;
32 class uiSurveyMap;
33 class uiRadioButton;
34 class uiHistogramDisplay;
35 class uiSEGYRead;
36 class uiSEGYImpType;
38 namespace SEGY { class ScanInfoCollectors; }
39 
40 
43 mExpClass(uiSEGYTools) uiSEGYReadStarter : public uiDialog
45 public:
46 
47  uiSEGYReadStarter(uiParent*,bool forsurvsetup,
48  const SEGY::ImpType* fixedtype=0);
50 
51  bool isMulti() const { return filespec_.isMulti(); }
52  const char* fileName( int nr=0 ) const
53  { return filespec_.fileName(nr); }
54 
55  FullSpec fullSpec() const;
56  const char* userFileName() const { return userfilename_; }
57 
58  const SurveyInfo* survInfo() const
59  { return survinfook_ ? survinfo_ : 0; }
60  bool getInfo4SI(TrcKeyZSampling&,Coord crd[3]) const;
61  bool zInFeet() const
62  { return scaninfos_ && scaninfos_->inFeet(); }
63 
64  const SEGY::ImpType& impType() const;
65  void setImpTypIdx(int);
66 
67  void usePar(const IOPar&);
68  void fillPar(IOPar&) const;
69 
70 protected:
71 
77  int wcidx_ = -1;
78 
88  uiButton* examinebut_;
89  uiButton* fullscanbut_;
90  uiButton* editbut_;
91  uiButton* hdrentrysettsbut_;
101 
113 
114  enum LoadDefChgType { KeepAll, KeepBasic, KeepNone };
115 
116  bool imptypeFixed() const { return !typfld_; }
117  bool getExistingFileName(BufferString& fnm,bool werr=true);
118  bool getFileSpec();
119  void execNewScan(LoadDefChgType,bool full=false);
120  void scanInput();
121  bool scanFile(const char*,LoadDefChgType,TaskRunner*);
125  bool full=false);
126  void runClassic(bool);
127  void forceRescan(LoadDefChgType ct=KeepAll,bool full=false);
128  bool needICvsXY() const;
129  int examineNrTraces() const;
130  float ratioClip() const;
131  bool incZeros() const;
132 
133  void createTools();
135  void clearDisplay();
142 
150  void runClassicImp(CallBacker*) { runClassic( true ); }
151  void runClassicLink(CallBacker*) { runClassic( false ); }
152  void defChg( CallBacker* ) { forceRescan(); }
164 
165  bool commit(bool permissive=false);
166 
167 };
168 
169 
uiSEGYReadStarter::topgrp_
uiGroup * topgrp_
Definition: uisegyreadstarter.h:79
uiSEGYReadStarter::runClassicImp
void runClassicImp(CallBacker *)
Definition: uisegyreadstarter.h:150
segyfiledef.h
uiSEGYReadStarter::updateICvsXYButtons
void updateICvsXYButtons()
uiSEGYReadStarter::examineNrTraces
int examineNrTraces() const
uiSEGYReadStarter::multiLineSelCB
void multiLineSelCB(CallBacker *)
uiSEGYReadStarter::examinebut_
uiButton * examinebut_
Definition: uisegyreadstarter.h:88
uiLineEdit
Definition: uilineedit.h:100
uiSEGYReadStarter::examinenrtrcsfld_
uiSpinBox * examinenrtrcsfld_
Definition: uisegyreadstarter.h:95
uiSEGYReadStarter::filespec_
SEGY::FileSpec filespec_
Definition: uisegyreadstarter.h:73
uiSEGYReadStarter::forceRescan
void forceRescan(LoadDefChgType ct=KeepAll, bool full=false)
uiSEGYReadStarter::firstSel
void firstSel(CallBacker *)
uiSEGYReadStarter::inpChg
void inpChg(CallBacker *)
uiSEGYReadStarter::updateAmplDisplay
void updateAmplDisplay(CallBacker *)
uiSEGYReadStarter::displayScanResults
void displayScanResults()
BufferStringSet
Set of BufferString objects.
Definition: bufstringset.h:26
SEGY::FilePars
Definition: segyfiledef.h:55
uiSEGYReadStarter::updateSurvMap
void updateSurvMap()
uiSEGYReadStarter::examineCB
void examineCB(CallBacker *)
uiSEGYReadStarter::typChg
void typChg(CallBacker *)
uiSEGYReadStarter::fullScanReq
void fullScanReq(CallBacker *)
uiSEGYReadStarter::defChg
void defChg(CallBacker *)
Definition: uisegyreadstarter.h:152
uiSEGYReadStarter::usePar
void usePar(const IOPar &)
uiSEGYReadStarter::runClassicLink
void runClassicLink(CallBacker *)
Definition: uisegyreadstarter.h:151
uiSEGYReadStarter::initClassic
void initClassic(CallBacker *)
uiSEGYReadStarter::survInfo
const SurveyInfo * survInfo() const
Definition: uisegyreadstarter.h:58
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
uiCheckBox
Definition: uibutton.h:167
uiSEGYReadStarter::incZeros
bool incZeros() const
od_istream
OD class for stream read common access to the std::cin.
Definition: od_istream.h:24
uiSEGYReadStarter::fullscanbut_
uiButton * fullscanbut_
Definition: uisegyreadstarter.h:89
uiSEGYReadStarter::uiSEGYReadStarter
uiSEGYReadStarter(uiParent *, bool forsurvsetup, const SEGY::ImpType *fixedtype=0)
Coords::uiCoordSystemSel
Definition: uicoordsystem.h:101
uisegyimptype.h
SEGY::LoadDef
definition for SEG-Y loading
Definition: segyuiscandata.h:87
uiSEGYReadStarter::scaninfos_
SEGY::ScanInfoSet * scaninfos_
Definition: uisegyreadstarter.h:106
uiSEGYReadStarter::completeLoadDef
void completeLoadDef()
uiSEGYReadStarter::fillPar
void fillPar(IOPar &) const
uiSEGYReadStarter::fullSpec
FullSpec fullSpec() const
uiSEGYReadStarter::needICvsXY
bool needICvsXY() const
uiSEGYReadStarter::hdrentrysettsbut_
uiButton * hdrentrysettsbut_
Definition: uisegyreadstarter.h:91
uiSEGYReadStarter::~uiSEGYReadStarter
~uiSEGYReadStarter()
uiSEGYReadStarter::editbut_
uiButton * editbut_
Definition: uisegyreadstarter.h:90
uisegycommon.h
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
uiSEGYReadStarter::usexybut_
uiRadioButton * usexybut_
Definition: uisegyreadstarter.h:93
uiSEGYReadStarter::filepars_
FilePars filepars_
Definition: uisegyreadstarter.h:74
uiSEGYReadStarter::loaddef_
SEGY::LoadDef loaddef_
Definition: uisegyreadstarter.h:104
uiSEGYReadStarter::mODTextTranslationClass
mODTextTranslationClass(uiSEGYReadStarter)
uiSEGYReadStarter::revChg
void revChg(CallBacker *)
uiSEGYReadStarter
Starts reading process of 'any SEG-Y file'.
Definition: uisegyreadstarter.h:44
uiSEGYReadStarter::lastparname_
BufferString lastparname_
Definition: uisegyreadstarter.h:103
uiSEGYReadStarter::coordscalefld_
uiLineEdit * coordscalefld_
Definition: uisegyreadstarter.h:94
uiSEGYReadStarter::coordscaleChg
void coordscaleChg(CallBacker *)
uiSEGYReadStarter::classicrdr_
uiSEGYRead * classicrdr_
Definition: uisegyreadstarter.h:112
uiSEGYReadStarter::filereadopts_
FileReadOpts * filereadopts_
Definition: uisegyreadstarter.h:75
TrcKeyZSampling
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
Timer
Timer class.
Definition: timer.h:25
uiSEGYReadStarter::ampldisp_
uiHistogramDisplay * ampldisp_
Definition: uisegyreadstarter.h:86
uiSEGYReadStarter::commit
bool commit(bool permissive=false)
uiSEGYReadStarter::midgrp_
uiGroup * midgrp_
Definition: uisegyreadstarter.h:80
uiSEGYReadStarter::editHdrEntrySettings
void editHdrEntrySettings(CallBacker *)
uiSEGYReadStarter::ratioClip
float ratioClip() const
uiSEGYReadStarter::isMulti
bool isMulti() const
Definition: uisegyreadstarter.h:51
uiSEGYReadStarter::inpfld_
uiFileInput * inpfld_
Definition: uisegyreadstarter.h:83
Coord
A cartesian coordinate in 2D space.
Definition: coord.h:25
uiSEGYReadStarter::reviewAndEditLineNames
bool reviewAndEditLineNames()
SEGY::ImpType
Definition: uisegyimptype.h:25
uiSEGYReadStarter::zInFeet
bool zInFeet() const
Definition: uisegyreadstarter.h:61
uicoordsystem.h
uiSEGYReadStarter::survinfook_
bool survinfook_
Definition: uisegyreadstarter.h:110
uiSEGYReadStarter::forsurvsetup_
bool forsurvsetup_
Definition: uisegyreadstarter.h:72
uiGroup
Definition: uigroup.h:54
uiFileInput
A file-name input.
Definition: uifileinput.h:34
uiSEGYReadStarter::scanInput
void scanInput()
uiHistogramDisplay
Definition: uihistogramdisplay.h:26
uiSEGYReadStarter::updateCoordScale
void updateCoordScale()
uiSEGYRead
'Server' for SEG-Y Reading
Definition: uisegyread.h:32
segyuiscandata.h
uiSEGYImpType
Definition: uisegyimptype.h:59
uiSEGYReadStarter::execNewScan
void execNewScan(LoadDefChgType, bool full=false)
TaskRunner
Class that can execute a task.
Definition: task.h:170
uiSEGYReadStarter::linenames_
BufferStringSet linenames_
Definition: uisegyreadstarter.h:76
uiSEGYReadStarter::impType
const SEGY::ImpType & impType() const
uiSEGYReadStartInfo
Displays and edits info for the read start process.
Definition: uisegyreadstartinfo.h:34
uidialog.h
SEGY::ScanInfoSet
set of SEG-Y Scan Infos
Definition: segyuiscandata.h:223
uiSEGYReadStarter::acceptOK
bool acceptOK(CallBacker *)
confirm accept
uiSEGYReadStarter::initWin
void initWin(CallBacker *)
DataClipSampler
Data clipping sampler.
Definition: dataclipper.h:134
uiSEGYReadStarter::userFileName
const char * userFileName() const
Definition: uisegyreadstarter.h:56
uiSEGYReadStarter::editFile
void editFile(CallBacker *)
uiSEGYReadStarter::useicbut_
uiRadioButton * useicbut_
Definition: uisegyreadstarter.h:92
uiSEGYReadStarter::survinfo_
SurveyInfo * survinfo_
Definition: uisegyreadstarter.h:109
uiSEGYReadStarter::getInfo4SI
bool getInfo4SI(TrcKeyZSampling &, Coord crd[3]) const
uiSpinBox
Definition: uispinbox.h:24
uiSEGYReadStarter::nrfileslbl_
uiLabel * nrfileslbl_
Definition: uisegyreadstarter.h:98
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
uiSEGYReadStarter::clipfld_
uiSpinBox * clipfld_
Definition: uisegyreadstarter.h:96
uiSEGYReadStarter::detectrev0flds_
bool detectrev0flds_
Definition: uisegyreadstarter.h:105
uiSEGYReadStarter::readParsCB
void readParsCB(CallBacker *)
uiSEGYReadStarter::completeFileInfo
bool completeFileInfo(od_istream &, SEGY::BasicFileInfo &, bool)
uiSEGYReadStarter::imptypeFixed
bool imptypeFixed() const
Definition: uisegyreadstarter.h:116
SEGY::FullSpec
Definition: uisegycommon.h:29
uiSEGYReadStarter::LoadDefChgType
LoadDefChgType
Definition: uisegyreadstarter.h:114
SEGY::FileSpec
Definition: segyfiledef.h:37
uiSEGYReadStarter::inc0sbox_
uiCheckBox * inc0sbox_
Definition: uisegyreadstarter.h:97
uiSEGYReadStarter::timer_
Timer * timer_
Definition: uisegyreadstarter.h:99
uiSEGYReadStarter::lastscanwasfull_
bool lastscanwasfull_
Definition: uisegyreadstarter.h:111
uiRadioButton
Definition: uibutton.h:138
SEGY::FileReadOpts
Definition: segyfiledef.h:104
uiSEGYReadStarter::typfld_
uiSEGYImpType * typfld_
Definition: uisegyreadstarter.h:82
uiSEGYReadStarter::clearDisplay
void clearDisplay()
uiSEGYReadStarter::getFileSpec
bool getFileSpec()
uiSEGYReadStarter::fixedimptype_
SEGY::ImpType fixedimptype_
Definition: uisegyreadstarter.h:108
uiSEGYReadStarter::multilinebut_
uiPushButton * multilinebut_
Definition: uisegyreadstarter.h:84
SEGY
Keys that should be used with od_process_segyio.cc.
Definition: segybatchio.h:22
uiLabel
Definition: uilabel.h:24
uiSEGYReadStarter::setToolStates
void setToolStates()
uiSEGYReadStarter::infofld_
uiSEGYReadStartInfo * infofld_
Definition: uisegyreadstarter.h:85
uiSEGYReadStarter::userfilename_
BufferString userfilename_
Definition: uisegyreadstarter.h:102
uiSEGYReadStarter::createTools
void createTools()
uiParent
Definition: uiparent.h:26
uiSEGYReadStarter::survmap_
uiSurveyMap * survmap_
Definition: uisegyreadstarter.h:87
SEGY::BasicFileInfo
Basic data from a SEG-Y fle.
Definition: segyuiscandata.h:44
uiSEGYReadStarter::getExistingFileName
bool getExistingFileName(BufferString &fnm, bool werr=true)
uiSEGYReadStarter::createAmplDisp
uiGroup * createAmplDisp()
uiDialog
Definition: uidialog.h:42
uiSEGYReadStarter::coordsysselfld_
Coords::uiCoordSystemSel * coordsysselfld_
Definition: uisegyreadstarter.h:100
uiSEGYReadStarter::scanFile
bool scanFile(const char *, LoadDefChgType, TaskRunner *)
uiSEGYReadStarter::coordSysChangedCB
void coordSysChangedCB(CallBacker *)
uiSEGYReadStarter::clipsampler_
DataClipSampler & clipsampler_
Definition: uisegyreadstarter.h:107
uiSEGYReadStarter::icxyCB
void icxyCB(CallBacker *)
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
uiSEGYReadStarter::writeParsCB
void writeParsCB(CallBacker *)
uiSEGYReadStarter::fileName
const char * fileName(int nr=0) const
Definition: uisegyreadstarter.h:52
uiSEGYReadStarter::runClassic
void runClassic(bool)
uiSEGYReadStarter::handleNewInputSpec
void handleNewInputSpec(LoadDefChgType ct=KeepAll, bool full=false)
uiSEGYReadStarter::setImpTypIdx
void setImpTypIdx(int)
SurveyInfo
Holds survey general information.
Definition: survinfo.h:45
uiPushButton
is the base class for all buttons.
Definition: uibutton.h:88
uiSurveyMap
Definition: uisurvmap.h:87
uiSEGYReadStarter::botgrp_
uiGroup * botgrp_
Definition: uisegyreadstarter.h:81

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