![]() |
OpendTect 8.0
|
Base class for two dimensional array interpolators. More...
#include <array2dinterpol.h>
Classes | |
| class | ArrayAccess |
Public Types | |
| enum | FillType { HolesOnly , ConvexHull , Full , Polygon } |
Public Types inherited from Task | |
| enum | Control { Run , Pause , Stop } |
Public Types inherited from ObjectWithName | |
| typedef OD::String | name_type |
Public Member Functions | |
| virtual | ~Array2DInterpol () |
| virtual bool | canUseArrayAccess () const |
| void | doPolygonCrop () |
| virtual bool | fillPar (IOPar &) const |
| FillType | getFillType () const |
| float | getMaxHoleSize () const |
| virtual uiString | infoMsg () const |
| bool | isClassification () const |
| virtual bool | nothingToFill () const |
| virtual bool | setArray (Array2D< float > &, TaskRunner *=0) |
| Set AFTER all settings. | |
| virtual bool | setArray (ArrayAccess &, TaskRunner *=0) |
| Set AFTER all settings. | |
| void | setClassification (bool) |
| void | setColStep (float r) |
| void | setFillType (FillType) |
| void | setMask (const Array2D< bool > *, OD::PtrPolicy=OD::UsePtr) |
| void | setMaxHoleSize (float) |
| void | setOrigin (const RowCol &) |
| void | setRowStep (float r) |
| void | setSampling (const TrcKeySampling &) |
| Set both steps and the origin. | |
| void | setTrendOrder (PolyTrend::Order ord) |
| bool | trimArray (int step, Array2D< char > &edgesmask) |
| uiString | uiMessage () const override |
| virtual bool | usePar (const IOPar &) |
Public Member Functions inherited from ParallelTask | |
| virtual | ~ParallelTask () |
| void | doParallel (bool yn) |
| bool | execute () override |
| virtual bool | executeParallel (bool parallel) |
| od_int64 | nrDone () const override |
| May be -1, i.e. class does not report nrdone. | |
| od_int64 | totalNr () const override |
Public Member Functions inherited from ReportingTask | |
| ReportingTask (const ReportingTask &)=delete | |
| virtual | ~ReportingTask () |
| void | getProgress (const ReportingTask &) |
| ReportingTask & | operator= (const ReportingTask &)=delete |
| void | setSimpleMeter (bool yn, int repperc) |
| int | simpleMeterStep () const |
| bool | useSimpleMeter () const |
Public Member Functions inherited from Task | |
| Task (const Task &)=delete | |
| virtual | ~Task () |
| virtual void | controlWork (Control) |
| virtual void | enableWorkControl (bool=true) |
| Must be called before execute() | |
| virtual uiRetVal | errorWithDetails () const |
| virtual Control | getState () const |
| Task & | operator= (const Task &)=delete |
| virtual uiString | uiNrDoneText () const |
| bool | workControlEnabled () const |
Public Member Functions inherited from NamedCallBacker | |
| NamedCallBacker (const char *nm=nullptr) | |
| NamedCallBacker (const NamedCallBacker &)=delete | |
| ~NamedCallBacker () | |
| virtual Notifier< NamedCallBacker > & | objectToBeDeleted () const |
| NamedCallBacker & | operator= (const NamedCallBacker &)=delete |
| bool | operator== (const NamedCallBacker &oth) const |
| bool | operator== (const NamedObject &oth) const |
Public Member Functions inherited from CallBacker | |
| CallBacker () | |
| CallBacker (const CallBacker &) | |
| virtual | ~CallBacker () |
| bool | attachCB (const NotifierAccess &, const CallBack &, bool onlyifnew=false) const |
| bool | attachCB (const NotifierAccess *notif, const CallBack &cb, bool onlyifnew=false) const |
| void | detachAllNotifiers () const |
| Call from the destructor of your inherited object. | |
| void | detachCB (const NotifierAccess &, const CallBack &) const |
| void | detachCB (const NotifierAccess *notif, const CallBack &cb) const |
| virtual bool | isCapsule () const |
| bool | isNotifierAttached (const NotifierAccess *) const |
| Only for debugging purposes, don't use. | |
| CallBacker & | operator= (const CallBacker &)=delete |
| void | stopReceivingNotifications () const |
| virtual CallBacker * | trueCaller () |
Public Member Functions inherited from NamedObject | |
| NamedObject (const char *nm=nullptr) | |
| NamedObject (const NamedObject &oth) | |
| virtual | ~NamedObject () |
| virtual BufferString | getName () const |
| bool | getNameFromPar (const IOPar &) |
| const name_type & | name () const override |
| NamedObject & | operator= (const NamedObject &) |
| bool | operator== (const NamedObject &oth) const |
| virtual void | setName (const char *nm) |
Public Member Functions inherited from ObjectWithName | |
| virtual | ~ObjectWithName () |
| bool | hasName (const char *nm) const |
| bool | hasName (const name_type &nm) const |
| void | putNameInPar (IOPar &) const |
Static Public Member Functions | |
| static const char * | sKeyColStep () |
| static const char * | sKeyCropPolygon () |
| static const char * | sKeyFillType () |
| static const char * | sKeyMaxHoleSz () |
| static const char * | sKeyNrCells () |
| static const char * | sKeyNrCols () |
| static const char * | sKeyNrRows () |
| static const char * | sKeyOrigin () |
| static const char * | sKeyPolyNode () |
| static const char * | sKeyPolyNrofNodes () |
| static const char * | sKeyRowStep () |
Static Public Member Functions inherited from ParallelTask | |
| static uiString | sPosFinished () |
| static uiString | sTrcFinished () |
Static Public Member Functions inherited from ReportingTask | |
| static PtrMan< ProgressMeter > | getTextProgressMeter (od_ostream &, const IOPar *iop=nullptr) |
| static bool | needSimpleLogging (const IOPar &) |
| static const char * | sKeySimpleLogging () |
| static const char * | sKeySimpleLoggingStep () |
Static Public Member Functions inherited from Task | |
| static uiString | uiStdNrDoneText () |
Static Public Member Functions inherited from CallBacker | |
| static void | createReceiverForCurrentThread () |
| static void | removeReceiverForCurrentThread () |
Protected Member Functions | |
| Array2DInterpol () | |
| bool | doPrepare (int) override |
| void | excludeBigHoles (const bool *isdef, bool *shouldinterpol) const |
| void | floodFillArrFrom (int seed, const bool *isdef, bool *shouldinterpol) const |
| void | getNodesToFill (const bool *isdef, bool *shouldinterpol, TaskRunner *) const |
| bool | isDefined (int idx) const |
| virtual void | setFrom (od_int64 target, const od_int64 *sources, const float *weights, int nrsrc) |
Protected Member Functions inherited from ParallelTask | |
| ParallelTask (const char *nm=0) | |
| void | addToNrDone (od_int64 increment) |
| od_int64 | calculateThreadSize (od_int64 totalnr, int nrthreads, int thread) const |
| virtual int | maxNrThreads () const |
| virtual int | minThreadSize () const |
| virtual od_int64 | nrIterations () const =0 |
| void | quickAddToNrDone (od_int64 loopidx) |
| void | resetNrDone () |
| virtual bool | stopAllOnFailure () const |
Protected Member Functions inherited from ReportingTask | |
| ReportingTask (const char *nm=nullptr) | |
| void | incrementProgress () |
| ProgressMeter * | progressMeter () const |
| void | reportProgressFinished () |
| void | reportProgressStarted () |
| void | resetProgress () |
| void | setProgressMeter (ProgressMeter *) override |
| Must be called before execute() | |
| void | updateProgressMeter (bool forced=false, od_int64 *totalnr=0) |
| void | updateReportedName () |
Protected Member Functions inherited from Task | |
| Task (const char *nm=nullptr) | |
| virtual bool | shouldContinue () |
Protected Member Functions inherited from NamedCallBacker | |
| void | sendDelNotif () const |
Protected Attributes | |
| Array2D< float > * | arr_ |
| ArrayAccess * | arrsetter_ |
| float | colstep_ |
| bool | croppoly_ |
| FillType | filltype_ |
| bool | isclassification_ |
| const Array2D< bool > * | mask_ |
| bool | maskismine_ |
| float | maxholesize_ |
| int | nrcells_ |
| int | nrcols_ |
| int | nrrows_ |
| RowCol | origin_ |
| ODPolygon< double > * | poly_ |
| float | rowstep_ |
| Stats::CalcSetup * | statsetup_ |
| PolyTrend * | trend_ |
Protected Attributes inherited from Task | |
| Control | control_ = Task::Run |
| Threads::ConditionVar * | workcontrolcondvar_ = nullptr |
Protected Attributes inherited from NamedCallBacker | |
| Threads::Atomic< bool > | delalreadytriggered_ |
| Notifier< NamedCallBacker > | delnotif_ |
Protected Attributes inherited from NamedObject | |
| BufferString | name_ |
Additional Inherited Members | |
Public Attributes inherited from ReportingTask | |
| Notifier< ReportingTask > | progressUpdated |
Base class for two dimensional array interpolators.
<>
|
virtual |
|
protected |
|
inlinevirtual |
Reimplemented in InverseDistanceArray2DInterpol, TriangulationArray2DInterpol, and ExtensionArray2DInterpol.
| void Array2DInterpol::doPolygonCrop | ( | ) |
|
overrideprotectedvirtual |
Called once, before any doWork is called.
Reimplemented from ParallelTask.
Reimplemented in InverseDistanceArray2DInterpol, TriangulationArray2DInterpol, ContinuousCurvatureArray2DInterpol, and GMTArray2DInterpol.
|
protected |
Will find holes larger than maxholesize_ and exclude them from shouldinterpol.
|
virtual |
|
protected |
Floodfills 'false' into shouldinterpol from position seed. Floodfill will stop when bumping into defined values, as provided in isdef.
| FillType Array2DInterpol::getFillType | ( | ) | const |
| float Array2DInterpol::getMaxHoleSize | ( | ) | const |
|
protected |
Fills shouldinterpol with true or false depending on if a certain node should be interpolated or not, based on filltype and maxholesize. If isdef is zero, the information will be extracted from the grid. Both isdef and shouldinterpol arrays refers to positions on the grid by row=idx/nrcols_,col=idxnrcols_
|
inlinevirtual |
Reimplemented in GMTSurfaceGrid, and GMTNearNeighborGrid.
| bool Array2DInterpol::isClassification | ( | ) | const |
|
protected |
idx refers to positions on the grid by row=idx/nrcols_,col=idxnrcols_
|
inlinevirtual |
Reimplemented in InverseDistanceArray2DInterpol, and TriangulationArray2DInterpol.
|
virtual |
Set AFTER all settings.
Reimplemented in InverseDistanceArray2DInterpol, TriangulationArray2DInterpol, and ContinuousCurvatureArray2DInterpol.
|
virtual |
Set AFTER all settings.
Trend is active only when setTrendOrder is called
Reimplemented in InverseDistanceArray2DInterpol, TriangulationArray2DInterpol, and ContinuousCurvatureArray2DInterpol.
| void Array2DInterpol::setClassification | ( | bool | ) |
| void Array2DInterpol::setColStep | ( | float | r | ) |
| void Array2DInterpol::setFillType | ( | FillType | ) |
|
protectedvirtual |
For convenience, inheriting obj may set arr_ directly.
Reimplemented in InvDistHor3DGridder, and TriangulationHor3DGridder.
| void Array2DInterpol::setMask | ( | const Array2D< bool > * | , |
| OD::PtrPolicy | = OD::UsePtr ) |
If mask is set, interpolation will only occur where mask has 'true' values. If array is larger than mask, values are assumed to be 'false' outside the mask. The mask works together with the filltype in an AND operations, so each position must get a 'true' value both from the filltype AND the mask. If no mask is given, the filltype will be used alone.
| void Array2DInterpol::setMaxHoleSize | ( | float | ) |
| void Array2DInterpol::setOrigin | ( | const RowCol & | ) |
| void Array2DInterpol::setRowStep | ( | float | r | ) |
| void Array2DInterpol::setSampling | ( | const TrcKeySampling & | ) |
Set both steps and the origin.
| void Array2DInterpol::setTrendOrder | ( | PolyTrend::Order | ord | ) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
| bool Array2DInterpol::trimArray | ( | int | step, |
| Array2D< char > & | edgesmask ) |
|
inlineoverridevirtual |
Reimplemented from Task.
Reimplemented in GMTArray2DInterpol.
|
virtual |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B.V. 1995-2025