OpendTect  6.3
survgeom2d.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
8  Date: Aug 2010
9 ________________________________________________________________________
10 
11 -*/
12 
13 
14 #include "basicmod.h"
15 #include "survgeom.h"
16 
17 class DBKey;
18 namespace PosInfo { class Line2DData; }
19 
20 
21 namespace Survey
22 {
23 
26 mExpClass(Basic) Geometry2D : public Geometry
27 {
28 public:
31  virtual bool is2D() const { return true; }
32  virtual const char* getName() const;
33 
34  virtual Coord toCoord(int linenr,int tracenr) const;
35  virtual TrcKey nearestTrace(const Coord&,float* dist) const;
36 
37  virtual bool includes(int linenr,int tracenr) const;
38 
39  PosInfo::Line2DData& dataAdmin() { return data_; }
41  void touch();
42  const PosInfo::Line2DData& data() const { return data_; }
43 
44  StepInterval<float> zRange() const;
45 
46  static BufferString makeUniqueLineName(const char* lsnm,
47  const char* lnm);
48  float averageTrcDist() const;
49  RelationType compare(const Geometry&,bool usezrg) const;
50 
51  Geometry2D* as2D() { return this; }
52  static ID getIDFrom(const DBKey&);
53 
54 private:
55 
56  ~Geometry2D();
57 
58 
60  mutable float trcdist_;
62 };
63 
64 } // namespace Survey
#define mExpClass(module)
Definition: commondefs.h:157
virtual bool is2D() const
Definition: survgeom2d.h:31
A lock of a type that (hopefully) suits your needs. To use it, you need the Locker class...
Definition: threadlock.h:51
PosInfo::Line2DData & dataAdmin()
If data is changed, call touch afterwards.
Definition: survgeom2d.h:39
Geometry of a 2D Line.
Definition: survgeom2d.h:26
Threads::Lock lock_
Definition: survgeom2d.h:61
const PosInfo::Line2DData & data() const
Definition: survgeom2d.h:42
Position info for a 2D line.
Definition: posinfo2d.h:63
RelationType
Definition: survgeom.h:50
PosInfo::Line2DData & data_
Definition: survgeom2d.h:59
Position info, often segmented.
Definition: posinfo.h:38
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
Pos::GeomID ID
Definition: survgeom.h:47
Definition: survgeom.h:28
Full key to any object in the OpendTect data store.
Definition: dbkey.h:36
Represents a unique trace position in one of the surveys that OpendTect is managing.
Definition: trckey.h:26
2D point or vector class.
Definition: commontypes.h:58
Definition: arraytesselator.h:19
Geometry2D * as2D()
Definition: survgeom2d.h:51
float trcdist_
Definition: survgeom2d.h:60

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