OpendTect  6.6
seisbounds.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: 20-1-98
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "seismod.h"
15 #include "ranges.h"
16 #include "coord.h"
17 class TrcKeyZSampling;
18 
19 
20 namespace Seis
21 {
22 
31 {
32 public:
33 
34  virtual ~Bounds() {}
35 
36  virtual bool is2D() const { return false; }
37  int expectedNrTraces() const;
38 
39  virtual int start(bool first=true) const = 0;
41  virtual int stop(bool first=true) const = 0;
43  virtual int step(bool first=true) const = 0;
45  virtual StepInterval<float> getZRange() const = 0;
46 
47  virtual void getCoordRange(Coord& min,Coord&) const = 0;
48 
49 };
50 
51 
53 {
54 public:
55 
57  Bounds3D(const Bounds3D&);
59  bool is2D() const { return false; }
60 
61  int start(bool first=true) const;
62  int stop(bool first=true) const;
63  int step(bool first=true) const;
65 
66  void getCoordRange(Coord&,Coord&) const;
67 
69 
70 };
71 
72 
74 {
75 public:
76 
78  bool is2D() const { return true; }
79 
80  int start( bool firstrg = true ) const
81  { return firstrg ? nrrg_.start : mUdf(int); }
82  int stop( bool firstrg = true ) const
83  { return firstrg ? nrrg_.stop : mUdf(int); }
84  int step( bool firstrg = true ) const
85  { return firstrg ? nrrg_.step : 1; }
87  { return zrg_; }
88 
89  void getCoordRange( Coord& min, Coord& max ) const
90  { min = mincoord_; max = maxcoord_; }
91 
96 
97 };
98 
99 } // namespace Seis
100 
Seis::Bounds::~Bounds
virtual ~Bounds()
Definition: seisbounds.h:34
Seis::Bounds3D::start
int start(bool first=true) const
Inl, TrcNr (first) or Crl (2nd)
Seis::Bounds::expectedNrTraces
int expectedNrTraces() const
Seis::Bounds2D::getZRange
StepInterval< float > getZRange() const
Definition: seisbounds.h:86
Seis::Bounds3D
Definition: seisbounds.h:53
Seis::Bounds2D::mincoord_
Coord mincoord_
Definition: seisbounds.h:94
Seis::Bounds3D::Bounds3D
Bounds3D(const Bounds3D &)
Seis::Bounds3D::~Bounds3D
~Bounds3D()
Seis::Bounds3D::step
int step(bool first=true) const
Inl, TrcNr (first) or Crl (2nd)
Seis
Summary for a Seismic object.
Definition: segydirectdef.h:22
Seis::Bounds3D::tkzs_
TrcKeyZSampling & tkzs_
Definition: seisbounds.h:68
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
Seis::Bounds2D::is2D
bool is2D() const
Definition: seisbounds.h:78
Seis::Bounds2D::zrg_
StepInterval< float > zrg_
Definition: seisbounds.h:92
Seis::Bounds::getZRange
virtual StepInterval< float > getZRange() const =0
TrcKeyZSampling
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
Seis::Bounds3D::is2D
bool is2D() const
Definition: seisbounds.h:59
Seis::Bounds2D::maxcoord_
Coord maxcoord_
Definition: seisbounds.h:95
StepInterval< float >
Coord
A cartesian coordinate in 2D space.
Definition: coord.h:25
Seis::Bounds::getCoordRange
virtual void getCoordRange(Coord &min, Coord &) const =0
Seis::Bounds2D::start
int start(bool firstrg=true) const
Inl, TrcNr (first) or Crl (2nd)
Definition: seisbounds.h:80
Seis::Bounds3D::getZRange
StepInterval< float > getZRange() const
Seis::Bounds2D::Bounds2D
Bounds2D()
Seis::Bounds::stop
virtual int stop(bool first=true) const =0
Inl, TrcNr (first) or Crl (2nd)
Seis::Bounds2D::stop
int stop(bool firstrg=true) const
Inl, TrcNr (first) or Crl (2nd)
Definition: seisbounds.h:82
Seis::Bounds::start
virtual int start(bool first=true) const =0
Inl, TrcNr (first) or Crl (2nd)
Seis::Bounds2D::step
int step(bool firstrg=true) const
Inl, TrcNr (first) or Crl (2nd)
Definition: seisbounds.h:84
Seis::Bounds3D::getCoordRange
void getCoordRange(Coord &, Coord &) const
Seis::Bounds2D::getCoordRange
void getCoordRange(Coord &min, Coord &max) const
Definition: seisbounds.h:89
Seis::Bounds2D
Definition: seisbounds.h:74
Seis::Bounds
contains domain-specific data boundary details.
Definition: seisbounds.h:31
Seis::Bounds3D::stop
int stop(bool first=true) const
Inl, TrcNr (first) or Crl (2nd)
Seis::Bounds3D::Bounds3D
Bounds3D()
mUdf
#define mUdf(type)
Use this macro to get the undefined for simple types.
Definition: undefval.h:274
Seis::Bounds2D::nrrg_
StepInterval< int > nrrg_
Definition: seisbounds.h:93
ranges.h
Seis::Bounds::step
virtual int step(bool first=true) const =0
Inl, TrcNr (first) or Crl (2nd)
Seis::Bounds::is2D
virtual bool is2D() const
Definition: seisbounds.h:36
coord.h

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