OpendTect-6_4  6.4
volprocchainoutput.h
Go to the documentation of this file.
1 #ifndef volprocchainoutput_h
2 #define volprocchainoutput_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: Bert
9  Date: Feb 2016
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 
14 -*/
15 
16 #include "volumeprocessingmod.h"
17 #include "executor.h"
18 #include "multiid.h"
19 #include "trckeyzsampling.h"
20 #include "threadlock.h"
21 
22 class IOPar;
23 class JobCommunic;
24 class ProgressRecorder;
25 class SeisDataPackWriter;
26 
27 
28 namespace VolProc
29 {
30 
31 class Chain;
32 class ChainExecutor;
33 class ChainOutputStorer;
34 
37 mExpClass(VolumeProcessing) ChainOutput : public Executor
39 public:
40 
41  ChainOutput();
42  ~ChainOutput();
43 
44  void setChainID(const MultiID&);
45  void setOutputID(const MultiID&);
46  void setTrcKeyZSampling(const TrcKeyZSampling&);
47  bool setCalculationScope(const TrcKeySampling&,
48  const StepInterval<int>&);
49  void usePar(const IOPar&);
50 
51  virtual od_int64 nrDone() const;
52  virtual od_int64 totalNr() const;
53  virtual uiString uiMessage() const;
54  virtual uiString uiNrDoneText() const;
55  virtual int nextStep();
56 
57  virtual void setProgressMeter(ProgressMeter*);
58  virtual void controlWork(Control);
59  virtual void enableWorkControl(bool yn=true);
60  void setJobCommunicator(JobCommunic*);
61 
62 protected:
63 
68 
73  int nrexecs_;
77 
81  bool storererr_;
83 
84  int getChain();
85  int setupChunking();
86  int setNextChunk();
87  bool openOutput();
88  void createNewChainExec();
89  int retError(const uiString&);
90  int retMoreToDo();
91  void startWriteChunk();
92  void manageStorers();
93  void reportFinished(ChainOutputStorer&);
94 
95  friend class ChainOutputStorer;
96 
97 };
98 
99 } // namespace VolProc
100 
101 #endif
#define mExpClass(module)
Definition: commondefs.h:160
ObjectSet< ChainOutputStorer > storers_
Definition: volprocchainoutput.h:79
A lock of a type that (hopefully) suits your needs. To use it, you need the Locker class...
Definition: threadlock.h:53
is an interface where processes can report their progress.
Definition: progressmeter.h:21
#define mODTextTranslationClass(clss)
Definition: uistring.h:38
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:188
#define od_int64
Definition: plftypes.h:36
Definition: uistring.h:89
MultiID chainid_
Definition: volprocchainoutput.h:64
bool neednextchunk_
Definition: volprocchainoutput.h:72
Threads::Lock storerlock_
Definition: volprocchainoutput.h:78
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:47
Definition: seisdatapackwriter.h:28
A chain of Steps that can be applied to a volume of scalars.
Definition: volprocchain.h:29
JobCommunic * jobcomm_
Definition: volprocchainoutput.h:82
Horizontal sampling (inline and crossline range and steps).
Definition: trckeysampling.h:27
ObjectSet< ChainOutputStorer > toremstorers_
Definition: volprocchainoutput.h:80
Chain * chain_
Definition: volprocchainoutput.h:69
Adapter for a VolProc chain to external attribute calculation.
Definition: seisdatapackwriter.h:25
Control
Definition: task.h:55
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
int nrexecs_
Definition: volprocchainoutput.h:73
MultiID outid_
Definition: volprocchainoutput.h:65
Manages output creation for a VolProc::Chain.
Definition: volprocchainoutput.h:37
executes the work for a single VolProc::Chain.
Definition: volprocchainexec.h:27
StepInterval< int > outputzrg_
Definition: volprocchainoutput.h:75
IOPar * chainpar_
Definition: volprocchainoutput.h:67
TrcKeyZSampling cs_
Definition: volprocchainoutput.h:66
bool storererr_
Definition: volprocchainoutput.h:81
ProgressMeter that helps unifying different tasks.
Definition: progressmeterimpl.h:26
SeisDataPackWriter * wrr_
Definition: volprocchainoutput.h:71
int curexecnr_
Definition: volprocchainoutput.h:74
FixedString Chain()
Definition: keystrs.h:45
Multi-machine socket communicator Handles the communication between a client and the master...
Definition: jobcommunic.h:51
ChainExecutor * chainexec_
Definition: volprocchainoutput.h:70
Compound key consisting of ints.
Definition: multiid.h:25
Specification to enable chunkwise execution of a process.
Definition: executor.h:39
ProgressRecorder & progresskeeper_
Definition: volprocchainoutput.h:76

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