OpendTect  6.6
stratlayersequence.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: Bert Bril
8  Date: Oct 2010
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 
13 -*/
14 
15 #include "stratmod.h"
16 #include "ailayer.h"
17 #include "stratlayer.h"
18 #include "propertyref.h"
19 
21 
22 namespace Strat
23 {
24 class Layer;
25 class Level;
26 class UnitRef;
27 class RefTree;
28 
36 {
37 public:
38 
41  { *this = ls; }
42  virtual ~LayerSequence();
43  LayerSequence& operator =(const LayerSequence&);
44  bool isEmpty() const { return layers_.isEmpty(); }
45  void setEmpty() { deepErase(layers_); }
46 
47  int size() const { return layers_.size(); }
48  ObjectSet<Layer>& layers() { return layers_; }
49  const ObjectSet<Layer>& layers() const { return layers_; }
50  int layerIdxAtZ(float) const;
51  int nearestLayerIdxAtZ(float z) const;
53 
54  float startDepth() const { return z0_; }
55  void setStartDepth( float z ) { z0_ = z; prepareUse(); }
57  void setXPos(float);
58 
59  PropertyRefSelection& propertyRefs() { return props_; }
60  const PropertyRefSelection& propertyRefs() const { return props_; }
61 
62  void getLayersFor( const UnitRef* ur, ObjectSet<Layer>& lys )
63  { return getLayersFor(ur,(ObjectSet<const Layer>&)lys);}
64  void getLayersFor(const UnitRef*,
65  ObjectSet<const Layer>&) const;
66  void getSequencePart(const Interval<float>& depthrg,
67  bool cropfirstlast,
68  LayerSequence&) const;
71  const RefTree& refTree() const;
72 
73  void prepareUse() const ;
74 
75  // Following will need to actually find the level
76  int indexOf(const Level&,int startsearchat=0) const;
78  float depthOf(const Level&) const;
80 
81  // Following will give the position of the level
82  // ... even if not present
83  int positionOf(const Level&) const;
86  float depthPositionOf(const Level&) const;
87 
88 protected:
89 
91  float z0_;
93 
94 };
95 
96 
97 }; // namespace Strat
98 
Strat::LayerSequence::indexOf
int indexOf(const Level &, int startsearchat=0) const
may return -1 for not found
ObjectSet
Set of pointers to objects.
Definition: commontypes.h:31
Strat::LayerSequence::zRange
Interval< float > zRange() const
Strat::LayerSequence::isEmpty
bool isEmpty() const
Definition: stratlayersequence.h:44
Strat::LayerSequence::setStartDepth
void setStartDepth(float z)
Definition: stratlayersequence.h:55
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
Strat::LayerSequence::layers
ObjectSet< Layer > & layers()
Definition: stratlayersequence.h:48
Strat::Level
Stratigraphic level.
Definition: stratlevel.h:42
Strat::LayerSequence::~LayerSequence
virtual ~LayerSequence()
Strat::LayerSequence::depthPositionOf
float depthPositionOf(const Level &) const
Strat::LayerSequence::nearestLayerIdxAtZ
int nearestLayerIdxAtZ(float z) const
returns -1 only if empty
Strat::LayerSequence::z0_
float z0_
Definition: stratlayersequence.h:91
Strat::LayerSequence::LayerSequence
LayerSequence(const PropertyRefSelection *prs=0)
Strat::LayerSequence::propertyRefs
const PropertyRefSelection & propertyRefs() const
Definition: stratlayersequence.h:60
Strat::RefTree
Tree of UnitRef's
Definition: stratreftree.h:29
ailayer.h
PropertyRefSelection
Definition: propertyref.h:166
Strat::LayerSequence::layers_
ObjectSet< Layer > layers_
Definition: stratlayersequence.h:90
Strat::LayerSequence::props_
PropertyRefSelection props_
Definition: stratlayersequence.h:92
ElasticPropSelection
User parameters to compute values for an elastic layer (den,p/s-waves).
Definition: elasticpropsel.h:25
Strat::LayerSequence::layerIdxAtZ
int layerIdxAtZ(float) const
returns -1 if outside
Strat::LayerSequence
A sequence of layers.
Definition: stratlayersequence.h:36
Strat::LayerSequence::startDepth
float startDepth() const
Definition: stratlayersequence.h:54
Strat::LayerSequence::layers
const ObjectSet< Layer > & layers() const
Definition: stratlayersequence.h:49
propertyref.h
Strat::LayerSequence::size
int size() const
Definition: stratlayersequence.h:47
stratlayer.h
deepErase
void deepErase(BufferStringSet &)
Strat
Stratigraphy.
Definition: stratlevel.h:26
Strat::LayerSequence::getSequencePart
void getSequencePart(const Interval< float > &depthrg, bool cropfirstlast, LayerSequence &) const
Strat::LayerSequence::positionOf
int positionOf(const Level &) const
Strat::LayerSequence::getLayersFor
void getLayersFor(const UnitRef *, ObjectSet< const Layer > &) const
Strat::LayerSequence::refTree
const RefTree & refTree() const
Strat::LayerSequence::setXPos
void setXPos(float)
Strat::LayerSequence::prepareUse
void prepareUse() const
needed after changes
Interval< float >
Strat::LayerSequence::propertyRefs
PropertyRefSelection & propertyRefs()
Definition: stratlayersequence.h:59
Strat::LayerSequence::depthOf
float depthOf(const Level &) const
will return 0 if lvl not found
Strat::UnitRef
Reference data for a stratigraphic unit.
Definition: stratunitref.h:38
sKey::Level
FixedString Level()
Definition: keystrs.h:86
Strat::LayerSequence::setEmpty
void setEmpty()
Definition: stratlayersequence.h:45
Strat::LayerSequence::getLayersFor
void getLayersFor(const UnitRef *ur, ObjectSet< Layer > &lys)
Definition: stratlayersequence.h:62
Strat::LayerSequence::LayerSequence
LayerSequence(const LayerSequence &ls)
Definition: stratlayersequence.h:40

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