14 #include "volumeprocessingmod.h" 23 namespace PosInfo {
class CubeData; }
53 virtual void releaseData();
55 ID
getID()
const {
return id_; }
57 const Chain& getChain()
const;
58 virtual const char* userName()
const;
59 virtual void setUserName(
const char* nm);
62 virtual int getNrInputs()
const;
63 bool validInputSlotID(InputSlotID)
const;
64 virtual InputSlotID getInputSlotID(
int idx)
const;
65 virtual void getInputSlotName(InputSlotID,
69 bool validOutputSlotID(OutputSlotID)
const;
70 virtual OutputSlotID getOutputSlotID(
int idx)
const;
81 virtual void setInput(InputSlotID,
83 CVolRef getInput(InputSlotID)
const;
87 CVolRef getOutput(OutputSlotID)
const;
88 VolRef getOutput(OutputSlotID);
90 int getOutputIdx(OutputSlotID)
const;
91 void enableOutput(OutputSlotID);
107 virtual Task* createTask();
117 virtual bool needsFullVolume()
const = 0;
118 virtual bool canInputAndOutputBeSame()
const = 0;
119 virtual bool areSamplesIndependent()
const = 0;
125 {
return needsInput(); }
136 virtual od_int64 extraMemoryUsage(OutputSlotID,
155 void setChain(
Chain&);
159 friend class BinIDWiseTask;
uiString errmsg_
Definition: volprocstep.h:146
#define mExpClass(module)
Definition: commondefs.h:157
RefMan< RegularSeisDataPack > VolRef
Definition: volprocstep.h:44
is an interface where processes can report their progress.
Definition: progressmeter.h:19
virtual uiString errMsg() const
Definition: volprocstep.h:110
VolRef getOutput()
Definition: volprocstep.h:94
void usePar(const IOPar &iop, ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:200
#define od_int64
Definition: plftypes.h:34
TypeSet< InputSlotID > inputslotids_
Definition: volprocstep.h:145
virtual bool prepareComp(int nrthreads)
Definition: volprocstep.h:131
static const uiString & emptyString()
Definition: uistring.h:107
VolumeDataPack for 2D and 3D seismic data.
Definition: seisdatapack.h:42
Definition: uistring.h:88
int InputSlotID
Definition: volprocstep.h:46
ConstRefMan< RegularSeisDataPack > CVolRef
Definition: volprocstep.h:43
static int cUndefSlotID()
Definition: volprocstep.h:49
StepInterval< int > zrg_
Definition: volprocstep.h:148
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
A chain of Steps that can be applied to a volume of scalars.
Definition: volprocchain.h:27
Horizontal sampling (inline and crossline range and steps).
Definition: trckeysampling.h:25
ObjectSet< const RegularSeisDataPack > inputs_
Definition: volprocstep.h:144
virtual bool computeBinID(const BinID &, int threadid)
Definition: volprocstep.h:132
Adapter for a VolProc chain to external attribute calculation.
Definition: velocitygridder.h:29
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:270
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:32
int OutputSlotID
Definition: volprocstep.h:47
int ID
Definition: volprocstep.h:45
static ID cUndefID()
Definition: volprocstep.h:48
virtual bool needsInput() const
Definition: volprocstep.h:121
CVolRef getOutput() const
Definition: volprocstep.h:93
#define mDefineFactoryInClass(T, funcname)
Definition: factory.h:424
void fillPar(IOPar &iop, const ODPolygon< T > &poly, const char *inpkey)
Definition: polygon.h:187
virtual int getNrOutputs() const
Definition: volprocstep.h:68
virtual bool isInputPrevStep() const
Definition: volprocstep.h:124
executes the work for a single VolProc::Chain.
Definition: volprocchainexec.h:24
TypeSet< OutputSlotID > outputslotids_
Definition: volprocstep.h:149
An algorithm/calculation/transformation that takes one scalar volume as input, processes it...
Definition: volprocstep.h:39
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
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:28
virtual bool needReportProgress()
Definition: volprocstep.h:123
virtual bool prefersBinIDWise() const
Definition: volprocstep.h:122
virtual bool canHandle2D() const
Definition: volprocstep.h:120
virtual const VelocityDesc * getVelDesc() const
Definition: volprocstep.h:105
RefMan< RegularSeisDataPack > output_
Definition: volprocstep.h:153
FixedString Chain()
Definition: keystrs.h:43
TrcKeySampling tks_
Definition: volprocstep.h:147
BufferString username_
Definition: volprocstep.h:143
Position info for an entire 3D cube. The LineData's are not sorted.
Definition: posinfo.h:96
Generalization of something (e.g. a computation) that needs to be done in multiple steps...
Definition: task.h:26
ID getID() const
Definition: volprocstep.h:55
Chain * chain_
Definition: volprocstep.h:142
ID id_
Definition: volprocstep.h:141