OpendTect  6.6
bitmapmgr.h
Go to the documentation of this file.
1 #pragma once
2 /*+
3 ________________________________________________________________________
4 
5  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
6  Author: Bert
7  Date: Feb 2007
8  RCS: $Id$
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "generalmod.h"
14 
15 #include "array2dbitmap.h"
16 #include "datapack.h"
17 #include "geometry.h"
18 
19 namespace FlatView { class Appearance; }
20 class FlatDataPack;
21 
27 {
28 public:
31 
33  bool wva);
34  void clearAll();
35 
37  const Geom::Size2D<int>&) const;
39 
41  const Geom::Size2D<int>& bufwrsz,
42  const Geom::Size2D<int>& availpixels);
44  const A2DBitMap* bitMap() const { return bmp_; }
45  const A2DBitMapGenerator* bitMapGen() const { return gen_; }
46 
47 private:
48 
49  void setup();
50 
58  bool wva_;
59 
62 public:
63  A2DBitMapGenerator* bitMapGen() { return gen_; }
64 };
65 
66 
71 mExpClass(General) BitMapGenTask : public Task
72 {
73 public:
76  const Geom::Size2D<int>& bufwrsz,
77  const Geom::Size2D<int>& pix )
78  : mgr_(mgr), wr_(wr), bufwrsz_(bufwrsz), availpixels_(pix){}
79 
80  bool execute() { return mgr_.generate(wr_,bufwrsz_,availpixels_); }
81 
82 protected:
83 
88 };
89 
BitMapMgr::sz_
Geom::Size2D< int > sz_
Definition: bitmapmgr.h:60
BitMapGenTask
Bitmap generation Task.
Definition: bitmapmgr.h:72
BitMapMgr::setup
void setup()
BitMapMgr::dataOffs
Geom::Point2D< int > dataOffs(const Geom::PosRectangle< double > &, const Geom::Size2D< int > &) const
Returns mUdf(int)'s when outside or incompatible.
BitMapMgr::bitMapGen
const A2DBitMapGenerator * bitMapGen() const
Definition: bitmapmgr.h:45
BitMapGenTask::execute
bool execute()
Definition: bitmapmgr.h:80
geometry.h
BitMapMgr::datapack_
ConstDataPackRef< FlatDataPack > datapack_
Definition: bitmapmgr.h:52
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
BitMapGenTask::wr_
const Geom::PosRectangle< double > & wr_
Definition: bitmapmgr.h:85
BitMapMgr::BitMapMgr
BitMapMgr()
BitMapMgr::pos_
A2DBitMapPosSetup * pos_
Definition: bitmapmgr.h:55
BitMapMgr::bitMap
const A2DBitMap * bitMap() const
Definition: bitmapmgr.h:44
BitMapMgr::generate
bool generate(const Geom::PosRectangle< double > &wr, const Geom::Size2D< int > &bufwrsz, const Geom::Size2D< int > &availpixels)
fails only when isufficient memory
BitMapMgr::appearance_
FlatView::Appearance & appearance_
Definition: bitmapmgr.h:53
BitMapMgr::bmp_
A2DBitMap * bmp_
Definition: bitmapmgr.h:54
FlatView
Definition: bitmap2rgb.h:17
BitMapGenTask::bufwrsz_
const Geom::Size2D< int > & bufwrsz_
Definition: bitmapmgr.h:86
FlatView::Appearance
Flatviewer appearance.
Definition: flatview.h:295
A2DBitMapPosSetup
Array2D Bitmap generation setup.
Definition: array2dbitmap.h:109
BitMapGenTask::BitMapGenTask
BitMapGenTask(BitMapMgr &mgr, const Geom::PosRectangle< double > &wr, const Geom::Size2D< int > &bufwrsz, const Geom::Size2D< int > &pix)
Definition: bitmapmgr.h:74
ConstDataPackRef< FlatDataPack >
BitMapGenTask::mgr_
BitMapMgr & mgr_
Definition: bitmapmgr.h:84
BitMapGenTask::availpixels_
const Geom::Size2D< int > & availpixels_
Definition: bitmapmgr.h:87
Task
Generalization of something (e.g. a computation) that needs to be done in multiple steps.
Definition: task.h:28
BitMapMgr::gen_
A2DBitMapGenerator * gen_
Definition: bitmapmgr.h:57
Geom::PosRectangle< double >
BitMapMgr::data_
A2DBitMapInpData * data_
Definition: bitmapmgr.h:56
BitMapMgr::init
void init(const FlatDataPack *, const FlatView::Appearance &, bool wva)
A2DBitMapGenerator
Generates Array2D bitmap from Array2D<float>.
Definition: array2dbitmap.h:178
FlatDataPack
DataPack for flat data.
Definition: datapackbase.h:65
datapack.h
Geom::Point2D< int >
BitMapMgr
Manages bitmaps.
Definition: bitmapmgr.h:27
Geom::Size2D< int >
BitMapMgr::wva_
bool wva_
Definition: bitmapmgr.h:58
BitMapMgr::clearAll
void clearAll()
BitMapMgr::lock_
Threads::Lock lock_
Definition: bitmapmgr.h:51
BitMapMgr::bitMapGen
A2DBitMapGenerator * bitMapGen()
Definition: bitmapmgr.h:63
Threads::Lock
A lock of a type that (hopefully) suits your needs. To use it, you need the Locker class.
Definition: threadlock.h:53
Array2D< char >
BitMapMgr::wr_
Geom::PosRectangle< double > wr_
Definition: bitmapmgr.h:61
BitMapMgr::~BitMapMgr
~BitMapMgr()
A2DBitMapInpData
Array2D<float>& + statistics.
Definition: array2dbitmap.h:53
array2dbitmap.h

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