OpendTect-6_4  6.4
seismemblocks.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: June 2017
9 ________________________________________________________________________
10 
11 */
12 
13 #include "seisblocks.h"
14 #include "databuf.h"
15 #include "od_iosfwd.h"
16 
17 
18 namespace Seis
19 {
20 namespace Blocks
21 {
22 
23 class MemColumnSummary;
24 
27 class MemBlock : public Block
28 {
29 public:
30 
31  MemBlock(GlobIdx,const Dimensions&,const DataInterp&);
32 
33  void zero() { dbuf_.zero(); }
34  void retire(MemColumnSummary*,const bool* const*);
35  bool isRetired() const { return dbuf_.isEmpty(); }
36 
37  float value(const LocIdx&) const;
38  void setValue(const LocIdx&,float);
39 
42 
43 protected:
44 
45  int getBufIdx(const LocIdx&) const;
46 
47 };
48 
49 
54 {
55 public:
56 
57  MemColumnSummary() : vals_(0) {}
59 
60  void fill(const MemBlock&,const bool* const*);
61 
62  bool isEmpty() const { return !vals_; }
63  float calcVal(float*) const;
64 
65  float** vals_;
67 
68 };
69 
70 
71 class MemBlockColumn : public Column
72 {
73 public:
74 
76 
77  MemBlockColumn(const HGlobIdx&,const Dimensions&,
78  int ncomps);
79  ~MemBlockColumn();
80 
81  void retire();
82  inline bool isRetired() const
83  { return blocksets_.first()->first()->isRetired(); }
84  void getDefArea(HLocIdx&,HDimensions&) const;
85 
88  bool** visited_;
89  ObjectSet<BlockSet> blocksets_; // one set per component
91 
92 };
93 
94 
95 } // namespace Blocks
96 
97 } // namespace Seis
Summary for a Seismic object.
Definition: segydirectdef.h:23
Dimensions dims_
Definition: seismemblocks.h:66
ManagedObjectSet< MemBlock > BlockSet
Definition: seismemblocks.h:75
void zero()
Definition: seismemblocks.h:33
float value(const LocIdx &) const
od_int64 od_stream_Pos
Definition: od_iosfwd.h:21
int getBufIdx(const LocIdx &) const
Definition: seisblocks.h:82
bool ** visited_
Definition: seismemblocks.h:88
Definition: seisblocks.h:103
Definition: seismemblocks.h:71
Set of pointers to objects.
Definition: commontypes.h:32
void setValue(const LocIdx &, float)
MemColumnSummary()
Definition: seismemblocks.h:57
bool isRetired() const
Definition: seismemblocks.h:35
ObjectSet< BlockSet > blocksets_
Definition: seismemblocks.h:89
MemColumnSummary summary_
Definition: seismemblocks.h:90
bool isEmpty() const
Definition: seismemblocks.h:62
bool isEmpty() const
Definition: rawarray.h:27
DataBuffer dbuf_
Definition: seismemblocks.h:40
Raw data array with memory management.
Definition: databuf.h:22
Definition: seisblocks.h:80
Base class for single block.
Definition: seisblocks.h:110
Block with data buffer collecting data to be written.
Definition: seismemblocks.h:27
bool isRetired() const
Definition: seismemblocks.h:82
void zero()
int nruniquevisits_
Definition: seismemblocks.h:86
MemBlock(GlobIdx, const Dimensions &, const DataInterp &)
Base class for column of blocks.
Definition: seisblocks.h:153
Definition: seisblocks.h:104
float ** vals_
Definition: seismemblocks.h:65
ObjectSet where the objects contained are owned by this set.
Definition: manobjectset.h:23
const DataInterp & interp_
Definition: seismemblocks.h:41
void retire(MemColumnSummary *, const bool *const *)
od_stream_Pos fileoffset_
Definition: seismemblocks.h:87
Definition: seisblocks.h:105
Summary of a column for use in maps.
Definition: seismemblocks.h:53
Definition: seisblocks.h:81

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