OpendTect  6.3
uiflatviewer.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 ________________________________________________________________________
9 
10 -*/
11 
12 #include "uiflatviewmod.h"
13 #include "uigroup.h"
14 #include "flatview.h"
15 #include "threadwork.h"
16 #include "uiworld2ui.h"
17 
18 namespace FlatView { class uiAuxDataDisplay; }
19 
20 class AxesDrawer;
21 class MouseEventHandler;
22 class uiBitMapDisplay;
23 class uiFlatViewControl;
25 class uiGraphicsView;
26 
31 mExpClass(uiFlatView) uiFlatViewer : public uiGroup
32  , public FlatView::Viewer
33 {
34 public:
36  ~uiFlatViewer();
37 
38  void setInitialSize(const uiSize&);
39 
40  int getAnnotChoices(BufferStringSet&) const;
41  void setAnnotChoice(int);
42 
44  uiGraphicsView& rgbCanvas() { return *view_; }
45 
46  void setView(const uiWorldRect&);
47  void setViewToBoundingBox();
48  const uiWorldRect& curView() const { return wr_; }
50  StepInterval<double> posRange(bool forx1) const;
51  uiWorldRect boundingBox() const;
52 
53  const uiWorld2Ui& getWorld2Ui() const { return w2ui_; }
54  uiRect getViewRect(bool withextraborders=true) const;
57  uiBorder getAnnotBorder() const;
58  void setBoundingRect(const uiRect&);
63  void setExtraBorders(const uiSize& lt,const uiSize& rb);
64  void setExtraFactor( float f ) { extfac_ = f; }
67  void updateBitmapsOnResize( bool yn )
68  { updatebitmapsonresize_ = yn; }
74  { return updatebitmapsonresize_; }
75 
76  void handleChange(unsigned int);
77  void setSeisGeomidsToViewer(TypeSet<Pos::GeomID>&);
78 
79  FlatView::AuxData* createAuxData(const char* nm) const;
80  int nrAuxData() const;
81  FlatView::AuxData* getAuxData(int idx);
82  const FlatView::AuxData* getAuxData(int idx) const;
83  void addAuxData(FlatView::AuxData* a);
84  FlatView::AuxData* removeAuxData(FlatView::AuxData* a);
85  FlatView::AuxData* removeAuxData(int idx);
86  void reGenerate(FlatView::AuxData&);
87 
88 
96 
97  uiFlatViewControl* control() { return control_; }
98 
99  //restrain the data ranges between the selected ranges
100  void setUseSelDataRanges(bool yn) { useseldataranges_ = yn; }
101  void setSelDataRanges(Interval<double>,Interval<double>);
102  const Interval<double>& getSelDataRange(bool forx) const
103  { return forx ? xseldatarange_ : yseldatarange_; }
104  static int bitMapZVal() { return 0; }
105  static int auxDataZVal() { return 100; }
106  static int annotZVal() { return 200; }
107  uiBitMapDisplay* bitmapDisp() { return bitmapdisp_; }
108 
109 protected:
110 
111 
118 
120 
124 
125  void updateCB(CallBacker*);
126  void updateAnnotCB(CallBacker*);
127  void updateBitmapCB(CallBacker*);
128  void updateAuxDataCB(CallBacker*);
129  void rangeUpdatedCB(CallBacker*);
130 
131  uiWorldRect getBoundingBox(bool wva) const;
132  void reSizeCB(CallBacker*);
133 
135  float extfac_;
136 
137  void updateTransforms();
138 
140  friend class uiFlatViewControl;
141 
145 
147 
148 };
Class to provide coordinate conversion between a cartesian coordinate system (or any other transforme...
Definition: uiworld2ui.h:53
Definition: uigroup.h:53
void setUseSelDataRanges(bool yn)
Definition: uiflatviewer.h:100
#define mExpClass(module)
Definition: commondefs.h:157
Notifier< uiFlatViewer > dataChanged
new DataPack set
Definition: uiflatviewer.h:90
Class that represents non-bitmap data to be displayed in a flatviewer, such as markers, lines and more.
Definition: flatview.h:32
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
Definition: uigeom.h:40
AxesDrawer & axesdrawer_
Must be declared after canvas_.
Definition: uiflatviewer.h:113
uiWorld2Ui w2ui_
Definition: uiflatviewer.h:117
Notifier< uiFlatViewer > annotChanged
Annotation changed.
Definition: uiflatviewer.h:93
uiFlatViewControl * control_
Definition: uiflatviewer.h:139
Notifier< uiFlatViewer > dispParsChanged
Triggered with each bitmap update.
Definition: uiflatviewer.h:91
Interval< double > yseldatarange_
Definition: uiflatviewer.h:143
const uiWorld2Ui & getWorld2Ui() const
Definition: uiflatviewer.h:53
Definition: uiparent.h:24
Set of BufferString objects.
Definition: bufstringset.h:25
MouseEventHandler & getMouseEventHandler()
static int auxDataZVal()
Definition: uiflatviewer.h:105
Threads::Atomic< bool > updateauxdata_
Definition: uiflatviewer.h:123
bool updatebitmapsonresize_
Definition: uiflatviewer.h:134
Definition: uigeom.h:23
ObjectSet< FlatView::uiAuxDataDisplay > auxdata_
Definition: uiflatviewer.h:146
Notifier< uiFlatViewer > viewChanged
setView called
Definition: uiflatviewer.h:89
uiBitMapDisplay * bitmapDisp()
Definition: uiflatviewer.h:107
Definition: uigraphicsitem.h:154
bool useseldataranges_
Definition: uiflatviewer.h:144
uiFlatViewControl * control()
Definition: uiflatviewer.h:97
static int annotZVal()
Definition: uiflatviewer.h:106
static int bitMapZVal()
Definition: uiflatviewer.h:104
float extfac_
Definition: uiflatviewer.h:135
uiGraphicsView * view_
Definition: uiflatviewer.h:112
void setExtraFactor(float f)
Definition: uiflatviewer.h:64
uiWorldRect wr_
Definition: uiflatviewer.h:114
Interval< double > xseldatarange_
Definition: uiflatviewer.h:142
Definition: mouseevent.h:166
Tools to control uiFlatViewer(s).
Definition: uiflatviewcontrol.h:27
void updateBitmapsOnResize(bool yn)
Definition: uiflatviewer.h:67
const Interval< double > & getSelDataRange(bool forx) const
Definition: uiflatviewer.h:102
Definition: uigeom.h:76
const uiWorldRect & curView() const
Definition: uiflatviewer.h:48
Takes the flat-data from a FlatViewer and puts it into a uiGraphicsItem.
Definition: uibitmapdisplay.h:31
Axis drawer for flat viewers.
Definition: flatviewaxesdrawer.h:22
uiBitMapDisplay * bitmapdisp_
Definition: uiflatviewer.h:119
Definition: uigraphicsview.h:49
uiGraphicsView & rgbCanvas()
Definition: uiflatviewer.h:44
Threads::Atomic< bool > updatebitmap_
Definition: uiflatviewer.h:122
Definition: bitmap2rgb.h:15
Fulfills the FlatView::Viewer specifications using &#39;ui&#39; classes.
Definition: uiflatviewer.h:31
bool updatesBitmapsOnResize() const
Definition: uiflatviewer.h:73
uiGraphicsItemGroup * worldgroup_
Definition: uiflatviewer.h:116
Notifier< uiFlatViewer > dispPropChanged
Triggered with property dlg change.
Definition: uiflatviewer.h:94
Threads::Atomic< bool > updateannot_
Definition: uiflatviewer.h:121

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