OpendTect  6.6
autotracker.h
Go to the documentation of this file.
1 #pragma once
2 
3 /*+
4 ________________________________________________________________________
5 
6  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
7  Author: A.H. Bril
8  Date: 23-10-1996
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "mpeenginemod.h"
15 #include "emposid.h"
16 #include "executor.h"
17 #include "sets.h"
18 #include "sortedtable.h"
19 #include "thread.h"
20 #include "trckeyzsampling.h"
21 
22 namespace EM { class EMObject; }
23 namespace Geometry { class Element; }
24 namespace Threads { class WorkManager; }
25 template <class T> class Array2D;
26 class TrcKeyValue;
27 
31 namespace MPE
32 {
33 
34 class SectionTracker;
35 class SectionAdjuster;
36 class SectionExtender;
37 class EMTracker;
38 
45 {
46 friend class TrackerTask;
47 public:
50 
51  void setSeeds(const TypeSet<TrcKey>&);
53  void stop();
54  bool hasTasks() const;
55 
58 
60 
61 protected:
62  void addTask(const TrcKeyValue&,const TrcKeyValue&,
63  const int seedid);
64 
65  void addTask(const TrcKeyValue&,const TrcKeyValue&);
69  int queueid_;
70 
76  void addUndoEvent();
77 
80 
84 
88 };
89 
90 } // namespace MPE
91 
emposid.h
MPE::HorizonTrackerMgr::setSeeds
void setSeeds(const TypeSet< TrcKey > &)
MPE::HorizonTrackerMgr::HorizonTrackerMgr
HorizonTrackerMgr(EMTracker &)
MPE::HorizonTrackerMgr::tasknr_
Threads::Atomic< int > tasknr_
Definition: autotracker.h:83
MPE::HorizonTrackerMgr::seeds_
TypeSet< TrcKey > seeds_
Definition: autotracker.h:78
ObjectSet
Set of pointers to objects.
Definition: commontypes.h:31
Geometry
Definition: arraytesselator.h:21
MPE::SectionAdjuster
SequentialTask to adjust the section of an EM object with ID EM::SectionID.
Definition: sectionadjuster.h:35
MPE::HorizonTrackerMgr::nrtodo_
Threads::Atomic< int > nrtodo_
Definition: autotracker.h:82
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
MPE::HorizonTrackerMgr::sectiontrackers_
ObjectSet< SectionTracker > sectiontrackers_
Definition: autotracker.h:72
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
MPE::HorizonTrackerMgr::stop
void stop()
MPE::SectionTracker
Tracks sections of EM::EMObject with ID EM::SectionID.
Definition: sectiontracker.h:38
MPE::HorizonTrackerMgr::taskFinished
void taskFinished(CallBacker *)
EM
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: bulk2dhorizonscanner.h:26
MPE::HorizonTrackerMgr::horizon3dundoorigin_
RowCol horizon3dundoorigin_
Definition: autotracker.h:75
MPE::HorizonTrackerMgr::addUndoEvent
void addUndoEvent()
MPE::HorizonTrackerMgr
Executor to auto track.
Definition: autotracker.h:45
MPE
MPE stands for Model, Predict, Edit. Contains tracking and editing functions.
Definition: autotracker.h:32
MPE::HorizonTrackerMgr::freeSectionTracker
void freeSectionTracker(const SectionTracker *)
trckeyzsampling.h
Threads::WorkManager
Takes work and puts it on a queue for execution either in parallel, singlethread or manual.
Definition: threadwork.h:41
MPE::SectionExtender
SequentialTask to extend the section of an EM object with ID EM::SectionID.
Definition: sectionextender.h:38
TrcKeyValue
Definition: trckeyvalue.h:27
Notifier
Class to help setup a callback handling.
Definition: notify.h:126
MPE::HorizonTrackerMgr::updateCB
void updateCB(CallBacker *)
MPE::HorizonTrackerMgr::addTask
void addTask(const TrcKeyValue &, const TrcKeyValue &)
executor.h
MPE::HorizonTrackerMgr::getFreeSectionTracker
SectionTracker * getFreeSectionTracker()
MPE::HorizonTrackerMgr::finished
Notifier< HorizonTrackerMgr > finished
Definition: autotracker.h:59
MPE::HorizonTrackerMgr::horizon3dundoinfo_
Array2D< float > * horizon3dundoinfo_
Definition: autotracker.h:74
MPE::EMTracker
Tracks EM objects.
Definition: emtracker.h:40
sortedtable.h
MPE::HorizonTrackerMgr::finishlock_
Threads::Lock finishlock_
Definition: autotracker.h:86
MPE::HorizonTrackerMgr::addlock_
Threads::Lock addlock_
Definition: autotracker.h:85
MPE::HorizonTrackerMgr::getfreestlock_
Threads::Lock getfreestlock_
Definition: autotracker.h:87
MPE::HorizonTrackerMgr::startFromSeeds
void startFromSeeds()
MPE::HorizonTrackerMgr::queueid_
int queueid_
Definition: autotracker.h:69
MPE::HorizonTrackerMgr::trackerinuse_
BoolTypeSet trackerinuse_
Definition: autotracker.h:73
MPE::HorizonTrackerMgr::addTask
void addTask(const TrcKeyValue &, const TrcKeyValue &, const int seedid)
MPE::HorizonTrackerMgr::twm_
Threads::WorkManager & twm_
Definition: autotracker.h:79
MPE::HorizonTrackerMgr::nrdone_
Threads::Atomic< int > nrdone_
Definition: autotracker.h:81
MPE::HorizonTrackerMgr::hasTasks
bool hasTasks() const
RowCol
IdxPair used for its row() and col().
Definition: rowcol.h:25
MPE::HorizonTrackerMgr::~HorizonTrackerMgr
~HorizonTrackerMgr()
sets.h
thread.h
Threads
interface to threads that should be portable.
Definition: atomic.h:23
Threads::Lock
A lock of a type that (hopefully) suits your needs. To use it, you need the Locker class.
Definition: threadlock.h:53
Threads::Atomic< int >
MPE::HorizonTrackerMgr::tracker_
EMTracker & tracker_
Definition: autotracker.h:71
Array2D
Array2D ( Subclass of ArrayND ) is a two dimensional array.
Definition: arraynd.h:140
TypeSet< TrcKey >

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