OpendTect  6.6
stratlayermodel.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: Sep 2010
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 
13 -*/
14 
15 #include "stratmod.h"
16 
17 #include "elasticpropsel.h"
18 #include "propertyref.h"
19 #include "stratlayersequence.h"
20 #include "od_iosfwd.h"
21 
22 
23 namespace Strat
24 {
25 class Layer;
26 class UnitRef;
27 class RefTree;
28 
36 {
37 public:
38 
40  LayerModel( const LayerModel& lm )
41  { *this = lm; }
42  virtual ~LayerModel();
43  LayerModel& operator =(const LayerModel&);
44 
45  bool isEmpty() const { return seqs_.isEmpty(); }
46  bool isValid() const;
47  int size() const { return seqs_.size(); }
48  LayerSequence& sequence( int idx ) { return *seqs_[idx];}
49  const LayerSequence& sequence( int idx ) const { return *seqs_[idx];}
51 
52  void setEmpty();
56  void removeSequence(int);
57 
58  PropertyRefSelection& propertyRefs() { return proprefs_; }
59  const PropertyRefSelection& propertyRefs() const { return proprefs_; }
60  void prepareUse() const;
61 
63  const ElasticPropSelection& elasticPropSel() const {return elasticpropsel_;}
64 
65  const RefTree& refTree() const;
66 
68  int& nrseq,bool& mathpreserve);
69  bool read(od_istream&);
70  bool write(od_ostream&,int modnr=0,
71  bool mathpreserve=false) const;
72 
73  static const char* sKeyNrSeqs() {return "Nr Sequences";}
74  static FixedString defSVelStr() { return "DefaultSVel";}
75 
76 protected:
77 
81 
82 };
83 
84 
86 {
87 public:
88 
89  virtual ~LayerModelProvider() {}
90 
91  virtual LayerModel& getCurrent() = 0;
92  virtual LayerModel& getEdited(bool) = 0;
93 
94  const LayerModel& getCurrent() const
95  { return const_cast<LayerModelProvider*>(this)
96  ->getCurrent(); }
97  const LayerModel& getEdited( bool yn ) const
98  { return const_cast<LayerModelProvider*>(this)
99  ->getEdited(yn); }
100 };
101 
102 
103 }; // namespace Strat
104 
Strat::LayerModel::defSVelStr
static FixedString defSVelStr()
Definition: stratlayermodel.h:74
Strat::LayerModel::write
bool write(od_ostream &, int modnr=0, bool mathpreserve=false) const
Strat::LayerModel::size
int size() const
Definition: stratlayermodel.h:47
ObjectSet
Set of pointers to objects.
Definition: commontypes.h:31
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
od_istream
OD class for stream read common access to the std::cin.
Definition: od_istream.h:24
Strat::LayerModel::sequence
const LayerSequence & sequence(int idx) const
Definition: stratlayermodel.h:49
Strat::LayerModel::addSequence
LayerSequence & addSequence(const LayerSequence &)
Does a match of props.
Strat::LayerModel::elasticPropSel
const ElasticPropSelection & elasticPropSel() const
Definition: stratlayermodel.h:63
Strat::LayerModel::isValid
bool isValid() const
Strat::LayerModelProvider::getEdited
const LayerModel & getEdited(bool yn) const
Definition: stratlayermodel.h:97
Strat::RefTree
Tree of UnitRef's
Definition: stratreftree.h:29
Strat::LayerModel::setEmpty
void setEmpty()
Strat::LayerModel::propertyRefs
const PropertyRefSelection & propertyRefs() const
Definition: stratlayermodel.h:59
PropertyRefSelection
Definition: propertyref.h:166
Strat::LayerModel::propertyRefs
PropertyRefSelection & propertyRefs()
Definition: stratlayermodel.h:58
Strat::LayerModel::elasticpropsel_
ElasticPropSelection elasticpropsel_
Definition: stratlayermodel.h:80
ElasticPropSelection
User parameters to compute values for an elastic layer (den,p/s-waves).
Definition: elasticpropsel.h:25
Strat::LayerModel::setElasticPropSel
void setElasticPropSel(const ElasticPropSelection &)
Strat::LayerModel::sequence
LayerSequence & sequence(int idx)
Definition: stratlayermodel.h:48
Strat::LayerSequence
A sequence of layers.
Definition: stratlayersequence.h:36
Strat::LayerModel::seqs_
ObjectSet< LayerSequence > seqs_
Definition: stratlayermodel.h:78
Strat::LayerModelProvider::getCurrent
virtual LayerModel & getCurrent()=0
FixedString
OD::String that holds an existing text string.
Definition: fixedstring.h:29
Strat::LayerModelProvider
Definition: stratlayermodel.h:86
elasticpropsel.h
propertyref.h
Strat::LayerModel
A model consisting of layer sequences.
Definition: stratlayermodel.h:36
Strat::LayerModel::prepareUse
void prepareUse() const
Strat::LayerModelProvider::getEdited
virtual LayerModel & getEdited(bool)=0
Strat::LayerModel::refTree
const RefTree & refTree() const
stratlayersequence.h
Strat::LayerModelProvider::getCurrent
const LayerModel & getCurrent() const
Definition: stratlayermodel.h:94
Strat::LayerModel::zRange
Interval< float > zRange() const
Strat
Stratigraphy.
Definition: stratlevel.h:26
Strat::LayerModelProvider::~LayerModelProvider
virtual ~LayerModelProvider()
Definition: stratlayermodel.h:89
od_iosfwd.h
Strat::LayerModel::sKeyNrSeqs
static const char * sKeyNrSeqs()
Definition: stratlayermodel.h:73
Strat::LayerModel::~LayerModel
virtual ~LayerModel()
Strat::LayerModel::LayerModel
LayerModel()
Strat::LayerModel::removeSequence
void removeSequence(int)
Interval< float >
Strat::LayerModel::proprefs_
PropertyRefSelection proprefs_
Definition: stratlayermodel.h:79
od_ostream
OD class for stream write common access to the user log file, or std::cout in other than od_main.
Definition: od_ostream.h:26
Strat::LayerModel::LayerModel
LayerModel(const LayerModel &lm)
Definition: stratlayermodel.h:40
Strat::LayerModel::isEmpty
bool isEmpty() const
Definition: stratlayermodel.h:45
Strat::LayerModel::readHeader
bool readHeader(od_istream &, PropertyRefSelection &, int &nrseq, bool &mathpreserve)
Strat::LayerModel::addSequence
LayerSequence & addSequence()
Strat::LayerModel::read
bool read(od_istream &)

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