OpendTect  6.6
emseedpicker.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  Contents: Ranges
10  RCS: $Id$
11 ________________________________________________________________________
12 
13 -*/
14 
15 #include "mpeenginemod.h"
16 #include "callback.h"
17 
18 #include "attribsel.h"
19 #include "emposid.h"
20 #include "position.h"
21 #include "sets.h"
22 #include "trckeysampling.h"
23 #include "trckeyvalue.h"
24 #include "uistring.h"
25 #include "undo.h"
26 
27 
28 namespace MPE
29 {
30 
31 class EMTracker;
32 class EMSeedPicker;
33 mExpClass(MPEEngine) Patch
35 public:
37  const TypeSet<TrcKeyValue>& getPath() const;
39  int nrSeeds();
40  Coord3 seedCoord(int) const;
41  int addSeed(const TrcKeyValue&,bool sort);
42  int addSeed(const TrcKeyValue&);
44  void removeSeed(int);
45  void clear();
46 
47 protected:
48  EM::PosID seedNode(int) const;
52 private:
54 protected:
56 };
62 mExpClass(MPEEngine) EMSeedPicker: public CallBacker
64 public:
65  virtual ~EMSeedPicker();
66 
67 
68  virtual void setSectionID(EM::SectionID);
69  virtual EM::SectionID getSectionID() const;
70 
71  virtual bool startSeedPick();
74  const Patch* getPatch() const { return patch_; }
75  virtual void endPatch(bool);
76  bool stopSeedPick();
77 
78  void addSeedToPatch(const TrcKeyValue&,bool sort);
82  bool addSeed(const TrcKeyValue&,bool drop=false);
83  virtual bool addSeed(const TrcKeyValue& seedcrd,bool drop,
84  const TrcKeyValue& seedkey) { return false;}
86  void getSeeds(TypeSet<TrcKey>&) const;
87  int indexOf(const TrcKey&) const;
88 
89  virtual bool removeSeed(const TrcKey&,
90  bool enviromment=true,
91  bool retrack=true) { return false;}
92  virtual TrcKey replaceSeed(const TrcKey&,const TrcKeyValue&)
93  { return TrcKey::udf(); }
94 
95  virtual void setSelSpec(const Attrib::SelSpec*);
96  virtual const Attrib::SelSpec* getSelSpec() const;
97  virtual bool reTrack() { return false;}
98  virtual int nrSeeds() const;
99 
100  void blockSeedPick(bool);
101  bool isSeedPickBlocked() const;
102  void setSowerMode(bool);
103  bool getSowerMode() const;
104 
105  enum TrackMode { TrackFromSeeds, TrackBetweenSeeds,
106  DrawAndSnap, DrawBetweenSeeds };
107 
110  bool doesModeUseVolume() const { return false;}
111 
112  virtual const char* errMsg() const { return 0; }
113 
114 
117  EMTracker& emTracker() const { return tracker_; }
119  bool perptotrackdir = false ) const;
120  virtual bool updatePatchLine(bool) { return false; }
122  const Undo& horPatchUndo() const;
123  bool canUndo();
124  bool canReDo();
125 
126 
130 
131 protected:
133 
136 
140 
146 
155 
156 };
157 
158 } // namespace MPE
159 
MPE::Patch::getTrcKeySampling
void getTrcKeySampling(TrcKeySampling &) const
MPE::EMSeedPicker::setSelSpec
virtual void setSelSpec(const Attrib::SelSpec *)
MPE::Patch::clear
void clear()
TrcKeySampling
Horizontal sampling (inline and crossline range and steps).
Definition: trckeysampling.h:35
Coord3
A cartesian coordinate in 3D space.
Definition: coord.h:72
emposid.h
MPE::EMSeedPicker::patchundo_
Undo & patchundo_
Definition: emseedpicker.h:154
MPE::EMSeedPicker::blockSeedPick
void blockSeedPick(bool)
MPE::EMSeedPicker::addSeedToPatch
void addSeedToPatch(const TrcKeyValue &)
MPE::EMSeedPicker::trackmode_
TrackMode trackmode_
Definition: emseedpicker.h:150
uistring.h
MPE::EMSeedPicker::seedpickarea_
TrcKeySampling seedpickarea_
Definition: emseedpicker.h:151
MPE::EMSeedPicker::trackbounds_
TypeSet< TrcKey > trackbounds_
Definition: emseedpicker.h:143
MPE::Patch::findClosestSeedRdmIdx
int findClosestSeedRdmIdx(const EM::PosID &)
TrcKey::udf
static const TrcKey & udf()
trckeyvalue.h
MPE::EMSeedPicker::addSeed
bool addSeed(const TrcKeyValue &, bool drop=false)
MPE::EMSeedPicker::replaceSeed
virtual TrcKey replaceSeed(const TrcKey &, const TrcKeyValue &)
Definition: emseedpicker.h:92
MPE::EMSeedPicker::setSowerMode
void setSowerMode(bool)
MPE::EMSeedPicker::getAddedSeed
TrcKeyValue getAddedSeed() const
MPE::EMSeedPicker
Handles adding of seeds and retracking of events based on new seeds. An instance of the class is usua...
Definition: emseedpicker.h:63
MPE::EMSeedPicker::sectionid_
EM::SectionID sectionid_
Definition: emseedpicker.h:149
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
MPE::Patch::mRefCountImpl
mRefCountImpl(Patch)
MPE::EMSeedPicker::getSectionID
virtual EM::SectionID getSectionID() const
MPE::EMSeedPicker::getTrackMode
TrackMode getTrackMode() const
MPE::EMSeedPicker::getSelSpec
virtual const Attrib::SelSpec * getSelSpec() const
MPE::EMSeedPicker::startSeedPick
virtual bool startSeedPick()
MPE::Patch::nrSeeds
int nrSeeds()
callback.h
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
MPE::EMSeedPicker::seedRemoved
Notifier< EMSeedPicker > seedRemoved
Definition: emseedpicker.h:128
MPE::EMSeedPicker::eraselist_
TypeSet< TrcKey > eraselist_
Definition: emseedpicker.h:145
MPE::EMSeedPicker::sowermode_
bool sowermode_
Definition: emseedpicker.h:152
MPE::EMSeedPicker::getSeeds
void getSeeds(TypeSet< TrcKey > &) const
mODTextTranslationClass
#define mODTextTranslationClass(clss)
Definition: uistring.h:40
MPE::EMSeedPicker::EMSeedPicker
EMSeedPicker(EMTracker &)
MPE::EMSeedPicker::getPatch
const Patch * getPatch() const
Definition: emseedpicker.h:74
MPE::EMSeedPicker::selspec_
Attrib::SelSpec selspec_
Definition: emseedpicker.h:135
MPE::EMSeedPicker::blockpicking_
bool blockpicking_
Definition: emseedpicker.h:147
MPE::EMSeedPicker::TrackMode
TrackMode
Definition: emseedpicker.h:105
MPE::EMSeedPicker::addedseed_
TrcKeyValue addedseed_
Definition: emseedpicker.h:137
MPE::EMSeedPicker::horPatchUndo
Undo & horPatchUndo()
MPE::EMSeedPicker::canUndo
bool canUndo()
MPE::Patch::seedNode
EM::PosID seedNode(int) const
MPE
MPE stands for Model, Predict, Edit. Contains tracking and editing functions.
Definition: autotracker.h:32
BinID
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:31
MPE::EMSeedPicker::seedToBeAddedRemoved
Notifier< EMSeedPicker > seedToBeAddedRemoved
Definition: emseedpicker.h:129
MPE::EMSeedPicker::getSowerMode
bool getSowerMode() const
MPE::EMSeedPicker::setSeedPickArea
void setSeedPickArea(const TrcKeySampling &)
MPE::EMSeedPicker::emTracker
EMTracker & emTracker() const
Definition: emseedpicker.h:117
MPE::Patch::findClosedSeed3d
int findClosedSeed3d(const EM::PosID &)
MPE::Patch::addSeed
int addSeed(const TrcKeyValue &, bool sort)
undo.h
MPE::EMSeedPicker::removeSeed
virtual bool removeSeed(const TrcKey &, bool enviromment=true, bool retrack=true)
Definition: emseedpicker.h:89
MPE::EMSeedPicker::errMsg
virtual const char * errMsg() const
Definition: emseedpicker.h:112
MPE::EMSeedPicker::getSeedPickArea
const TrcKeySampling & getSeedPickArea() const
sort
void sort(BufferStringSet &)
TrcKeyValue
Definition: trckeyvalue.h:27
MPE::EMSeedPicker::lastseed_
TrcKeyValue lastseed_
Definition: emseedpicker.h:138
MPE::EMSeedPicker::horPatchUndo
const Undo & horPatchUndo() const
Notifier
Class to help setup a callback handling.
Definition: notify.h:126
MPE::Patch::addSeed
int addSeed(const TrcKeyValue &)
MPE::Patch::seedpicker_
const EMSeedPicker * seedpicker_
Definition: emseedpicker.h:51
MPE::EMSeedPicker::canReDo
bool canReDo()
position.h
MPE::EMTracker
Tracks EM objects.
Definition: emtracker.h:40
MPE::Patch
Definition: emseedpicker.h:34
MPE::EMSeedPicker::endPatch
virtual void endPatch(bool)
MPE::EMSeedPicker::stopSeedPick
bool stopSeedPick()
TrcKey
Represents a unique trace position in one of the surveys that OpendTect is managing.
Definition: trckey.h:28
EM::SectionID
od_int16 SectionID
Definition: emposid.h:24
MPE::Patch::findClosedSeed2d
int findClosedSeed2d(const TrcKeyValue &)
MPE::EMSeedPicker::tracker_
EMTracker & tracker_
Definition: emseedpicker.h:134
MPE::EMSeedPicker::propagatelist_
TypeSet< TrcKey > propagatelist_
Definition: emseedpicker.h:141
MPE::Patch::removeSeed
void removeSeed(int)
MPE::Patch::getPath
const TypeSet< TrcKeyValue > & getPath() const
MPE::EMSeedPicker::setTrackMode
void setTrackMode(TrackMode)
MPE::EMSeedPicker::lineTrackDirection
bool lineTrackDirection(BinID &dir, bool perptotrackdir=false) const
MPE::Patch::Patch
Patch(const EMSeedPicker *)
MPE::EMSeedPicker::isSeedPickBlocked
bool isSeedPickBlocked() const
MPE::EMSeedPicker::junctions_
TypeSet< TrcKey > junctions_
Definition: emseedpicker.h:144
MPE::EMSeedPicker::seedlist_
TypeSet< TrcKey > seedlist_
Definition: emseedpicker.h:142
MPE::Patch::seedCoord
Coord3 seedCoord(int) const
trckeysampling.h
MPE::EMSeedPicker::didchecksupport_
bool didchecksupport_
Definition: emseedpicker.h:148
MPE::EMSeedPicker::doesModeUseVolume
bool doesModeUseVolume() const
Definition: emseedpicker.h:110
MPE::EMSeedPicker::seedAdded
Notifier< EMSeedPicker > seedAdded
Definition: emseedpicker.h:127
MPE::EMSeedPicker::updatePatchLine
virtual bool updatePatchLine(bool)
Definition: emseedpicker.h:120
MPE::EMSeedPicker::addSeedToPatch
void addSeedToPatch(const TrcKeyValue &, bool sort)
MPE::EMSeedPicker::setSectionID
virtual mODTextTranslationClass(EMSeedPicker) public void setSectionID(EM::SectionID)
MPE::EMSeedPicker::lastsowseed_
TrcKeyValue lastsowseed_
Definition: emseedpicker.h:139
MPE::EMSeedPicker::reTrack
virtual bool reTrack()
Definition: emseedpicker.h:97
sets.h
Attrib::SelSpec
Specifies an attribute selection (ID or output number of NN).
Definition: attribsel.h:45
MPE::EMSeedPicker::patch_
Patch * patch_
Definition: emseedpicker.h:153
attribsel.h
EM::PosID
Is an identifier for each position in the earthmodel.
Definition: emposid.h:37
MPE::EMSeedPicker::addSeed
virtual bool addSeed(const TrcKeyValue &seedcrd, bool drop, const TrcKeyValue &seedkey)
Definition: emseedpicker.h:83
MPE::EMSeedPicker::indexOf
int indexOf(const TrcKey &) const
TypeSet< TrcKeyValue >
MPE::Patch::seeds_
TypeSet< TrcKeyValue > seeds_
Definition: emseedpicker.h:53
MPE::EMSeedPicker::nrSeeds
virtual int nrSeeds() const
Undo
Class to handle undo/redo information.
Definition: undo.h:42

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