OpendTect  6.6
survgeom3d.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: Kris/Bert
8  Date: 2013
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "basicmod.h"
15 #include "survgeom.h"
16 #include "trckeyzsampling.h"
17 #include "posidxpair2coord.h"
18 #include "zdomain.h"
19 
20 
21 namespace Survey
22 {
23 
24 
28 {
29 public:
30  Geometry3D(const char* nm,const ZDomain::Def& zd );
31 
32  static Geometry3D& current();
33 
34  virtual bool is2D() const { return false; }
35  virtual const char* getName() const { return name_; }
36  virtual void setName( const char* nm ) { name_ = nm; }
37 
38  float zScale() const { return zscale_; }
39 
43  int inlStep() const;
44  int crlStep() const;
45 
46  float zStep() const;
47 
48  virtual Coord toCoord(int line,int tracenr) const;
49  virtual TrcKey nearestTrace(const Coord&,float* distance) const;
50  virtual bool includes(int line,int tracenr) const;
51 
52  Coord transform(const BinID&) const;
53  BinID transform(const Coord&) const;
54  const Pos::IdxPair2Coord& binID2Coord() const { return b2c_; }
55 
56  float inlDistance() const;
57  float crlDistance() const;
58 
59  bool isRightHandSystem() const;
62  bool isClockWise() const { return isRightHandSystem(); }
65  const ZDomain::Def& zDomain() const { return zdomain_; }
66  void setZDomain( const ZDomain::Def& def )
67  { zdomain_ = def; }
68 
69  Coord3 oneStepTranslation(const Coord3& planenormal) const;
71  const TrcKeyZSampling&,float zscl);
72  float averageTrcDist() const;
73  RelationType compare(const Geometry&,bool usezrg) const;
74 
75  Geometry3D* as3D() { return this; }
76 
77  void snap(BinID&,const BinID& dir=BinID(0,0)) const;
79  void snapStep(BinID&,const BinID& dir=BinID(0,0))const;
81  void snapZ(float&,int direction=0) const;
83 protected:
84 
88 
89  float zscale_;
90 };
91 
92 } // namespace Survey
93 
94 
zdomain.h
Coord3
A cartesian coordinate in 3D space.
Definition: coord.h:72
Survey::Geometry3D::isClockWise
bool isClockWise() const
Definition: survgeom3d.h:62
ZDomain::Def
Definition of z-domain.
Definition: zdomain.h:41
Survey::Geometry3D::isRightHandSystem
bool isRightHandSystem() const
Survey::Geometry3D::getName
virtual const char * getName() const
Definition: survgeom3d.h:35
Geometry
Definition: arraytesselator.h:21
Survey::Geometry::RelationType
RelationType
Definition: survgeom.h:44
Survey::Geometry3D::zDomain
const ZDomain::Def & zDomain() const
Definition: survgeom3d.h:65
direction
TrcKeyZSampling::Dir direction(TrcKeyZSampling::Dir slctype, int dimnr)
Definition: trckeyzsampling.h:141
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
Survey::Geometry3D::transform
Coord transform(const BinID &) const
Survey::Geometry3D::zStep
float zStep() const
Survey::Geometry
A Geometry which holds trace positions.
Definition: survgeom.h:40
Survey::Geometry3D::zRange
StepInterval< float > zRange() const
Survey::Geometry3D::zScale
float zScale() const
Definition: survgeom3d.h:38
Survey::Geometry3D::snapStep
void snapStep(BinID &, const BinID &dir=BinID(0, 0)) const
see snap() for direction
Survey::Geometry3D
Scaled down survey geometry for an inl/crl geometry.
Definition: survgeom3d.h:28
posidxpair2coord.h
Survey::Geometry3D::crlDistance
float crlDistance() const
Survey::Geometry3D::snap
void snap(BinID &, const BinID &dir=BinID(0, 0)) const
dir = 0 : auto; -1 round downward, 1 round upward);
TrcKeyZSampling
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
Survey::Geometry3D::setName
virtual void setName(const char *nm)
Definition: survgeom3d.h:36
Survey::Geometry3D::current
static Geometry3D & current()
BinID
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:31
StepInterval< int >
Coord
A cartesian coordinate in 2D space.
Definition: coord.h:25
Survey::Geometry3D::name_
BufferString name_
Definition: survgeom3d.h:85
trckeyzsampling.h
Survey::Geometry3D::b2c_
Pos::IdxPair2Coord b2c_
Definition: survgeom3d.h:87
Survey::Geometry3D::averageTrcDist
float averageTrcDist() const
Survey::Geometry3D::inlRange
StepInterval< int > inlRange() const
Survey::Geometry3D::toCoord
virtual Coord toCoord(int line, int tracenr) const
Survey
Definition: surveydisklocation.h:18
Survey::Geometry3D::oneStepTranslation
Coord3 oneStepTranslation(const Coord3 &planenormal) const
Survey::Geometry3D::setZDomain
void setZDomain(const ZDomain::Def &def)
Definition: survgeom3d.h:66
Survey::Geometry3D::compare
RelationType compare(const Geometry &, bool usezrg) const
Survey::Geometry3D::binID2Coord
const Pos::IdxPair2Coord & binID2Coord() const
Definition: survgeom3d.h:54
Survey::Geometry3D::Geometry3D
Geometry3D(const char *nm, const ZDomain::Def &zd)
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
Survey::Geometry3D::transform
BinID transform(const Coord &) const
TrcKey
Represents a unique trace position in one of the surveys that OpendTect is managing.
Definition: trckey.h:28
Survey::Geometry3D::setGeomData
void setGeomData(const Pos::IdxPair2Coord &, const TrcKeyZSampling &, float zscl)
Survey::Geometry3D::as3D
Geometry3D * as3D()
Definition: survgeom3d.h:75
Survey::Geometry3D::is2D
virtual bool is2D() const
Definition: survgeom3d.h:34
Survey::Geometry3D::crlRange
StepInterval< int > crlRange() const
Survey::Geometry3D::zscale_
float zscale_
Definition: survgeom3d.h:89
Pos::IdxPair2Coord
Encapsulates linear transform from (i,j) index to (x,y) coordinates.
Definition: posidxpair2coord.h:26
Survey::Geometry3D::crlStep
int crlStep() const
Survey::Geometry3D::inlStep
int inlStep() const
Survey::Geometry3D::inlDistance
float inlDistance() const
survgeom.h
Survey::Geometry3D::includes
virtual bool includes(int line, int tracenr) const
Survey::Geometry3D::zdomain_
ZDomain::Def zdomain_
Definition: survgeom3d.h:86
Survey::Geometry3D::nearestTrace
virtual TrcKey nearestTrace(const Coord &, float *distance) const
Survey::Geometry3D::snapZ
void snapZ(float &, int direction=0) const
see snap() for direction

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