| OpendTect 8.0

Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
BendPointFinderBase Class Referenceabstract
Algo

Base class that does the majority of the work finding bendpoints. Adaptions to different data-types are done in subclasses. More...

`#include <bendpointfinder.h>`

Inheritance diagram for BendPointFinderBase:
[legend]

## Public Member Functions
const TypeSet< int > & | bendPoints () const
uiString | uiNrDoneText () const override
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 | uiMessage () 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

## Protected Member Functions
| BendPointFinderBase (int sz, float eps)
bool | doFinish (bool) override
bool | doPrepare (int) override
bool | doWork (od_int64, od_int64, int) override
void | findInSegment (int, int)
virtual float | getMaxSqDistToLine (int &idx, int start, int stop) const =0
od_int64 | nrIterations () const override
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
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
TypeSet< int > | bendpts_
const float | epssq_
mDeprecatedObs bool | finished_
Threads::ConditionVar | lock_
int & | nrthreads_
mDeprecatedObs int | nrwaiting_
int | nrworking_ = 0
TypeSet< Interval< int > > | queue_
int | sz_
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 Types inherited from Task
enum | Control { Run , Pause , Stop }
Public Types inherited from ObjectWithName
typedef OD::String | name_type
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 ()
Public Attributes inherited from ReportingTask
Notifier< ReportingTask > | progressUpdated

## Detailed Description

Base class that does the majority of the work finding bendpoints. Adaptions to different data-types are done in subclasses.

<>

## Constructor & Destructor Documentation

## ◆ BendPointFinderBase()

BendPointFinderBase::BendPointFinderBase | ( | int | sz,
|  | float | eps )
| protected

## Member Function Documentation

## ◆ bendPoints()

const TypeSet< int > & BendPointFinderBase::bendPoints | ( |  | ) | const
| inline

## ◆ doFinish()

bool BendPointFinderBase::doFinish | ( | bool | success | ) |
| override protected virtual

Called after all doWork have finished.

Parameters

  success | indicates whether all doWork returned true.

Reimplemented from ParallelTask.

## ◆ doPrepare()

bool BendPointFinderBase::doPrepare | ( | int | nrthreads | ) |
| override protected virtual

Called once, before any doWork is called.

Reimplemented from ParallelTask.

## ◆ doWork()

bool BendPointFinderBase::doWork | ( | od_int64 | start,
|  | od_int64 | stop,
|  | int | threadidx )
| override protected virtual

The functions that does the job. The function will be called with all intervals from 0 to ParallelTask::nrIterations()-1. The function must be designed to be able to run in parallel.

Parameters

  start | first index
  stop | last index
  threadidx | gives an identifier (between 0 and nr of threads -1) that is unique to each call to doWork.

Implements ParallelTask.

## ◆ findInSegment()

void BendPointFinderBase::findInSegment | ( | int | ,
|  | int | )
| protected

## ◆ getMaxSqDistToLine()

virtual float BendPointFinderBase::getMaxSqDistToLine | ( | int & | idx,
|  | int | start,
|  | int | stop ) const
| protected pure virtual

Give the index of the point that is furthest from the line from start to stop.

Returns
  the squre of the largest distance

Implemented in BendPointFinder2DBase, and BendPointFinder3D.

## ◆ nrIterations()

od_int64 BendPointFinderBase::nrIterations | ( |  | ) | const
| inline override protected virtual

Returns
  the number of times the process should be run.

Implements ParallelTask.

## ◆ uiNrDoneText()

uiString BendPointFinderBase::uiNrDoneText | ( |  | ) | const
| inline override virtual

Reimplemented from Task.

## Member Data Documentation

## ◆ bendpts_

TypeSet<int> BendPointFinderBase::bendpts_
| protected

## ◆ epssq_

const float BendPointFinderBase::epssq_
| protected

## ◆ finished_

mDeprecatedObs bool BendPointFinderBase::finished_
| protected

## ◆ lock_

Threads::ConditionVar BendPointFinderBase::lock_
| protected

## ◆ nrthreads_

int& BendPointFinderBase::nrthreads_
| protected

## ◆ nrwaiting_

mDeprecatedObs int BendPointFinderBase::nrwaiting_
| protected

## ◆ nrworking_

int BendPointFinderBase::nrworking_ = 0
| protected

## ◆ queue_

TypeSet<Interval<int> > BendPointFinderBase::queue_
| protected

## ◆ sz_

int BendPointFinderBase::sz_
| protected

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