OpendTect  6.6
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 
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 
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 
78  int ncomps);
80 
81  void retire();
82  inline bool isRetired() const
83  { return blocksets_.first()->first()->isRetired(); }
85 
88  bool** visited_;
89  ObjectSet<BlockSet> blocksets_; // one set per component
91 
92 };
93 
94 
95 } // namespace Blocks
96 
97 } // namespace Seis
Seis::Blocks::MemColumnSummary::calcVal
float calcVal(float *) const
Seis::Blocks::MemColumnSummary::MemColumnSummary
MemColumnSummary()
Definition: seismemblocks.h:57
ObjectSet
Set of pointers to objects.
Definition: commontypes.h:31
Seis
Summary for a Seismic object.
Definition: segydirectdef.h:22
Seis::Blocks::MemColumnSummary::isEmpty
bool isEmpty() const
Definition: seismemblocks.h:62
Seis::Blocks::MemBlockColumn::blocksets_
ObjectSet< BlockSet > blocksets_
Definition: seismemblocks.h:89
Seis::Blocks::MemBlockColumn::fileoffset_
od_stream_Pos fileoffset_
Definition: seismemblocks.h:87
Seis::Blocks::MemBlockColumn::getDefArea
void getDefArea(HLocIdx &, HDimensions &) const
Seis::Blocks::Column
Base class for column of blocks.
Definition: seisblocks.h:154
Seis::Blocks::MemColumnSummary::vals_
float ** vals_
Definition: seismemblocks.h:65
Seis::Blocks::MemBlockColumn::isRetired
bool isRetired() const
Definition: seismemblocks.h:82
Seis::Blocks::HGlobIdx
Definition: seisblocks.h:80
Seis::Blocks::MemBlockColumn::MemBlockColumn
MemBlockColumn(const HGlobIdx &, const Dimensions &, int ncomps)
Seis::Blocks::Block
Base class for single block.
Definition: seisblocks.h:111
Seis::Blocks::HDimensions
Definition: seisblocks.h:82
DataBuffer::zero
void zero()
od_stream_Pos
od_int64 od_stream_Pos
Definition: od_iosfwd.h:20
DataInterpreter< float >
Seis::Blocks::MemBlockColumn::BlockSet
ManagedObjectSet< MemBlock > BlockSet
Definition: seismemblocks.h:75
Seis::Blocks::MemBlockColumn::~MemBlockColumn
~MemBlockColumn()
Seis::Blocks::MemBlock::MemBlock
MemBlock(GlobIdx, const Dimensions &, const DataInterp &)
Seis::Blocks::MemBlockColumn::nruniquevisits_
int nruniquevisits_
Definition: seismemblocks.h:86
ManagedObjectSet
ObjectSet where the objects contained are owned by this set.
Definition: manobjectset.h:57
Seis::Blocks::MemBlock::retire
void retire(MemColumnSummary *, const bool *const *)
Seis::Blocks::MemBlockColumn::visited_
bool ** visited_
Definition: seismemblocks.h:88
DataBuffer
Raw data array with memory management.
Definition: databuf.h:22
seisblocks.h
Seis::Blocks::LocIdx
Definition: seisblocks.h:104
Seis::Blocks::MemBlockColumn::summary_
MemColumnSummary summary_
Definition: seismemblocks.h:90
Seis::Blocks::MemColumnSummary
Summary of a column for use in maps.
Definition: seismemblocks.h:54
Seis::Blocks::MemBlockColumn::retire
void retire()
Seis::Blocks::MemBlock::isRetired
bool isRetired() const
Definition: seismemblocks.h:35
Seis::Blocks::MemBlock::value
float value(const LocIdx &) const
Seis::Blocks::MemColumnSummary::dims_
Dimensions dims_
Definition: seismemblocks.h:66
Seis::Blocks::MemBlock::setValue
void setValue(const LocIdx &, float)
Seis::Blocks::MemBlockColumn
Definition: seismemblocks.h:72
od_iosfwd.h
Seis::Blocks::MemBlock::zero
void zero()
Definition: seismemblocks.h:33
databuf.h
Seis::Blocks::MemBlock::getBufIdx
int getBufIdx(const LocIdx &) const
Seis::Blocks::MemColumnSummary::fill
void fill(const MemBlock &, const bool *const *)
Seis::Blocks::MemBlock::interp_
const DataInterp & interp_
Definition: seismemblocks.h:41
Seis::Blocks::Dimensions
Definition: seisblocks.h:105
Seis::Blocks::MemColumnSummary::~MemColumnSummary
~MemColumnSummary()
Seis::Blocks::GlobIdx
Definition: seisblocks.h:103
Seis::Blocks::MemBlock::dbuf_
DataBuffer dbuf_
Definition: seismemblocks.h:40
RawDataArray::isEmpty
bool isEmpty() const
Definition: rawarray.h:26
Seis::Blocks::HLocIdx
Definition: seisblocks.h:81
Seis::Blocks::MemBlock
Block with data buffer collecting data to be written.
Definition: seismemblocks.h:28

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