OpendTect  6.6
emobjectposselector.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 ObjectSet<const Selector<Coord3> >&);
38 
39  const TypeSet<EM::SubID>& getSelected() const { return poslist_; }
40 
41 protected:
42 
43  od_int64 nrIterations() const { return nrcols_*nrrows_; }
44  bool doWork( od_int64, od_int64, int );
45  bool doPrepare(int);
46 
47  void processBlock(const RowCol&,const RowCol&);
48  void makeListGrow(const RowCol&,const RowCol&,int selresult);
49 
50  void getBoundingCoords(const RowCol&,const RowCol&,
51  Coord3& up,Coord3& down);
52 
53 
55 
56  const EMObject& emobj_;
58  int startrow_;
59  int nrrows_;
60  int startcol_;
61  int nrcols_;
62  const float* zvals_;
63 
67  bool finished_;
70 
72 };
73 
74 } // namespace EM
75 
EM::EMObjectPosSelector
EMObject position selector.
Definition: emobjectposselector.h:32
Coord3
A cartesian coordinate in 3D space.
Definition: coord.h:72
EM::EMObjectPosSelector::~EMObjectPosSelector
~EMObjectPosSelector()
Selector
Interface for classes that select on basis of a key.
Definition: selector.h:25
emposid.h
EM::EMObjectPosSelector::finished_
bool finished_
Definition: emobjectposselector.h:67
EM::EMObjectPosSelector::getBoundingCoords
void getBoundingCoords(const RowCol &, const RowCol &, Coord3 &up, Coord3 &down)
ObjectSet
Set of pointers to objects.
Definition: commontypes.h:31
EM::EMObjectPosSelector::EMObjectPosSelector
EMObjectPosSelector(const EMObject &emobj, const SectionID &secid, const ObjectSet< const Selector< Coord3 > > &)
EM::EMObjectPosSelector::nrwaiting_
int nrwaiting_
Definition: emobjectposselector.h:68
EM::EMObjectPosSelector::nrIterations
od_int64 nrIterations() const
Definition: emobjectposselector.h:43
od_int64
#define od_int64
Definition: plftypes.h:35
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
EM::EMObjectPosSelector::getSelected
const TypeSet< EM::SubID > & getSelected() const
Definition: emobjectposselector.h:39
EM
Earth Model objects like horizons, faults, fault-sticks and bodies.
Definition: bulk2dhorizonscanner.h:26
EM::EMObjectPosSelector::nrrows_
int nrrows_
Definition: emobjectposselector.h:59
EM::EMObjectPosSelector::zvals_
const float * zvals_
Definition: emobjectposselector.h:62
EM::EMObjectPosSelector::emobj_
const EMObject & emobj_
Definition: emobjectposselector.h:56
EM::EMObjectPosSelector::startcol_
int startcol_
Definition: emobjectposselector.h:60
EM::EMObjectPosSelector::processBlock
void processBlock(const RowCol &, const RowCol &)
EM::EMObjectPosSelector::sectionid_
const SectionID & sectionid_
Definition: emobjectposselector.h:57
EM::EMObjectPosSelector::stops_
TypeSet< RowCol > stops_
Definition: emobjectposselector.h:65
EM::EMObjectPosSelector::selectors_
const ObjectSet< const Selector< Coord3 > > & selectors_
Definition: emobjectposselector.h:54
Threads::ConditionVar
Is an object that faciliates many threads to wait for something to happen.
Definition: thread.h:110
EM::EMObjectPosSelector::lock_
Threads::ConditionVar lock_
Definition: emobjectposselector.h:66
EM::EMObjectPosSelector::doPrepare
bool doPrepare(int)
EM::EMObjectPosSelector::nrthreads_
int nrthreads_
Definition: emobjectposselector.h:69
EM::EMObjectPosSelector::nrcols_
int nrcols_
Definition: emobjectposselector.h:61
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::EMObjectPosSelector::startrow_
int startrow_
Definition: emobjectposselector.h:58
EM::EMObjectPosSelector::starts_
TypeSet< RowCol > starts_
Definition: emobjectposselector.h:64
selector.h
EM::EMObjectPosSelector::poslist_
TypeSet< EM::SubID > poslist_
Definition: emobjectposselector.h:71
EM::EMObjectPosSelector::makeListGrow
void makeListGrow(const RowCol &, const RowCol &, int selresult)
RowCol
IdxPair used for its row() and col().
Definition: rowcol.h:25
EM::EMObject
Base class for all EarthModel objects.
Definition: emobject.h:159
thread.h
paralleltask.h
EM::EMObjectPosSelector::doWork
bool doWork(od_int64, od_int64, int)
TypeSet< EM::SubID >

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