OpendTect  6.6
linesetposinfo.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: 2005 / Mar 2008
9  RCS: $Id$
10 ________________________________________________________________________
11 
12 -*/
13 
14 #include "generalmod.h"
15 #include "posinfo2d.h"
16 #include "objectset.h"
17 class BinIDValueSet;
18 
19 
20 namespace PosInfo
21 {
22 
26 {
27 public:
28 
29  virtual ~LineSet2DData() { deepErase(data_); }
30 
31  Line2DData& addLine(const char*);
32  int nrLines() const { return data_.size(); }
33  const char* lineName( int idx ) const
34  { return data_[idx]->lnm_.buf(); }
35  const Line2DData& lineData( int idx ) const
36  { return data_[idx]->pos_; }
37  const Line2DData* getLineData(const char*) const;
38  void removeLine(const char*);
39 
40  struct IR
41  {
42  IR() : posns_(0) {}
43  ~IR(); // { delete posns_; }
44 
47  };
48  void intersect(const BinIDValueSet&,ObjectSet<IR>&) const;
49 
50  float getDistBetwTrcs(bool,const char* linenm =0) const;
51  BinID getElementStepout(const char* linenm) const;
53  bool areStatsComputed() const
54  { return trcdiststatsperlines_.size(); }
55 
56 protected:
57 
58  struct Info
59  {
62  };
63 
65 
66  Info* findLine(const char*) const;
67 
68  mStruct(General) LineTrcDistStats
69  {
70  LineTrcDistStats( BufferString linename,
71  float mediandist,
72  float maxdist )
73  : linename_(linename)
74  , mediandist_(mediandist)
75  , maxdist_( maxdist ) {};
76 
77  bool operator ==( LineTrcDistStats ltds ) const
78  {
79  return ltds.linename_ == linename_
80  && ltds.mediandist_ == mediandist_
81  && ltds.maxdist_ == maxdist_;
82  }
83 
84  BufferString linename_;
85  float mediandist_;
86  float maxdist_;
87  };
88 
90 };
91 
92 } // namespace PosInfo
93 
PosInfo::LineSet2DData::IR::lnm_
BufferString lnm_
Definition: linesetposinfo.h:45
PosInfo::LineSet2DData::IR::posns_
BinIDValueSet * posns_
Definition: linesetposinfo.h:46
PosInfo::LineSet2DData::getElementStepout
BinID getElementStepout(const char *linenm) const
PosInfo::LineSet2DData::lineName
const char * lineName(int idx) const
Definition: linesetposinfo.h:33
PosInfo::LineSet2DData::removeLine
void removeLine(const char *)
PosInfo::Line2DData
Position info for a 2D line.
Definition: posinfo2d.h:65
ObjectSet
Set of pointers to objects.
Definition: commontypes.h:31
BinIDValueSet
A Pos::IdxPairValueSet with BinIDs.
Definition: binidvalset.h:23
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
PosInfo::LineSet2DData::~LineSet2DData
virtual ~LineSet2DData()
Definition: linesetposinfo.h:29
PosInfo::LineSet2DData::compDistBetwTrcsStats
void compDistBetwTrcsStats()
PosInfo::LineSet2DData::Info
Definition: linesetposinfo.h:59
operator==
bool operator==(const ArrayNDInfo &a1, const ArrayNDInfo &a2)
Definition: arrayndinfo.h:81
BinID
Positioning in a seismic survey: inline/crossline or lineNr/trcNr.
Definition: binid.h:31
PosInfo::LineSet2DData::areStatsComputed
bool areStatsComputed() const
Definition: linesetposinfo.h:53
posinfo2d.h
PosInfo::LineSet2DData::nrLines
int nrLines() const
Definition: linesetposinfo.h:32
PosInfo::LineSet2DData
Position info for a set of 2D lines.
Definition: linesetposinfo.h:26
mStruct
#define mStruct(module)
Definition: commondefs.h:182
PosInfo::LineSet2DData::Info::pos_
Line2DData pos_
Definition: linesetposinfo.h:61
PosInfo::LineSet2DData::IR::~IR
~IR()
PosInfo::LineSet2DData::trcdiststatsperlines_
TypeSet< LineTrcDistStats > trcdiststatsperlines_
Definition: linesetposinfo.h:87
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
deepErase
void deepErase(BufferStringSet &)
PosInfo::LineSet2DData::getLineData
const Line2DData * getLineData(const char *) const
PosInfo::LineSet2DData::IR
Definition: linesetposinfo.h:41
PosInfo::LineSet2DData::IR::IR
IR()
Definition: linesetposinfo.h:42
PosInfo
Position info, often segmented.
Definition: posinfo.h:40
PosInfo::LineSet2DData::findLine
Info * findLine(const char *) const
PosInfo::LineSet2DData::addLine
Line2DData & addLine(const char *)
PosInfo::LineSet2DData::getDistBetwTrcs
float getDistBetwTrcs(bool, const char *linenm=0) const
PosInfo::LineSet2DData::lineData
const Line2DData & lineData(int idx) const
Definition: linesetposinfo.h:35
PosInfo::LineSet2DData::data_
ObjectSet< Info > data_
Definition: linesetposinfo.h:64
objectset.h
PosInfo::LineSet2DData::Info::lnm_
BufferString lnm_
Definition: linesetposinfo.h:60
PosInfo::LineSet2DData::intersect
void intersect(const BinIDValueSet &, ObjectSet< IR > &) const
TypeSet< LineTrcDistStats >

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