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

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