OpendTect-6_4  6.4
emobjectselremoval.h
Go to the documentation of this file.
1 #ifndef emobjectselremoval_h
2 #define emobjectselremoval_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: Umesh Sinha
9  Date: May 2009
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 -*/
14 
15 #include "earthmodelmod.h"
16 #include "emposid.h"
17 #include "selector.h"
18 #include "paralleltask.h"
19 #include "thread.h"
20 
21 template <class T> class Selector;
22 
23 namespace EM
24 {
25 
26 class EMObject;
27 
33 {
34 public:
36  const SectionID& secid,
37  const Selector<Coord3>&,
38  int nrrows,int nrcols,
39  int startrow,int startcol);
41 
42  const TypeSet<EM::SubID> getRemovelList() { return removelist_; }
43 
44 protected:
45 
46  od_int64 nrIterations() const { return nrcols_*nrrows_; }
47  bool doWork( od_int64, od_int64, int );
48  bool doPrepare(int);
49 
50  void processBlock(const RowCol&,const RowCol&);
51  void makeListGrow(const RowCol&,const RowCol&,int selresult);
52 
53  void getBoundingCoords(const RowCol&,const RowCol&,
54  Coord3& up,Coord3& down);
55 
56 
60  int startrow_;
61  int nrrows_;
62  int startcol_;
63  int nrcols_;
64  const float* zvals_;
65 
69  bool finished_;
72 
74 };
75 
76 } // namespace EM
77 
78 #endif
od_int16 SectionID
Definition: emposid.h:25
#define mExpClass(module)
Definition: commondefs.h:160
Is an object that faciliates many threads to wait for something to happen.
Definition: thread.h:108
int startrow_
Definition: emobjectselremoval.h:60
const Selector< Coord3 > & selector_
Definition: emobjectselremoval.h:59
const TypeSet< EM::SubID > getRemovelList()
Definition: emobjectselremoval.h:42
int nrcols_
Definition: emobjectselremoval.h:63
TypeSet< EM::SubID > removelist_
Definition: emobjectselremoval.h:73
#define od_int64
Definition: plftypes.h:36
TypeSet< RowCol > stops_
Definition: emobjectselremoval.h:67
Threads::ConditionVar lock_
Definition: emobjectselremoval.h:68
EMObject & emobj_
Definition: emobjectselremoval.h:57
int nrrows_
Definition: emobjectselremoval.h:61
Generalization of a task that can be run in parallel.
Definition: paralleltask.h:66
int nrthreads_
Definition: emobjectselremoval.h:71
int startcol_
Definition: emobjectselremoval.h:62
Interface for classes that select on basis of a key.
Definition: selector.h:25
A cartesian coordinate in 3D space.
Definition: coord.h:72
IdxPair used for its row() and col().
Definition: rowcol.h:25
od_int64 nrIterations() const
Definition: emobjectselremoval.h:46
TypeSet< RowCol > starts_
Definition: emobjectselremoval.h:66
Base class for all EarthModel objects.
Definition: emobject.h:158
EMObject RowCol selection removal.
Definition: emobjectselremoval.h:32
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: embody.h:25
const float * zvals_
Definition: emobjectselremoval.h:64
int nrwaiting_
Definition: emobjectselremoval.h:70
const SectionID & sectionid_
Definition: emobjectselremoval.h:58
bool finished_
Definition: emobjectselremoval.h:69

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