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

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