OpendTect  6.3
uibasemap.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: Raman K Singh
8  Date: Jul 2010
9 ________________________________________________________________________
10 
11 -*/
12 
13 
14 #include "uitoolsmod.h"
15 #include "basemap.h"
16 #include "uigroup.h"
17 
18 
19 class uiGraphicsItem;
20 class uiGraphicsScene;
21 class uiGraphicsView;
22 class uiWorld2Ui;
23 
25 {
26 public:
28  virtual ~uiBaseMapObject();
29 
30  const BaseMapObject* getObject() const { return bmobject_; }
31  BaseMapObject* getObject() { return bmobject_; }
32 
33  const char* getType() const;
34 
35  bool hasChanged() const { return changed_; }
36  void resetChangeFlag() { changed_ = false; }
37  void setTransform(const uiWorld2Ui*);
38  const char* name() const;
39  virtual void show(bool yn);
40  virtual bool isShown() const;
41 
42  uiGraphicsItem& graphItem() { return graphitem_; }
43  const uiGraphicsItem& graphItem() const { return graphitem_; }
44  uiGraphicsItem& labelItem() { return labelitem_; }
45  const uiGraphicsItem& labelItem() const { return labelitem_; }
46  void showLabels(bool yn);
47  bool labelsShown() const { return showlabels_; }
48 
49  virtual void update();
50  virtual void updateStyle();
51 
52  virtual void getMousePosInfo(Coord3&,TrcKey&,float& val,
53  BufferString& info) const;
54 protected:
55  friend class uiBaseMap;
56 
57  void changedCB(CallBacker*);
58  void changedStyleCB(CallBacker*);
59  void changedZValueCB(CallBacker*);
60  void leftClickCB(CallBacker*);
61  void rightClickCB(CallBacker*);
62  void add(uiGraphicsItem&);
63 
64  uiGraphicsItem& graphitem_;
65  uiGraphicsItem& labelitem_;
68 
69  bool changed_;
71 
72 private:
73  void addLabel(uiGraphicsItem&);
74 };
75 
76 
77 mExpClass(uiTools) uiBaseMap : public BaseMap
78 {
79 public:
81  virtual ~uiBaseMap();
82 
83  void setView(const uiWorldRect&);
84 
85  virtual void addObject(BaseMapObject*);
86  BaseMapObject* getObject(int id);
88 
90 
91  bool hasChanged();
92  inline void setChangeFlag() { changed_ = true; }
93  void resetChangeFlag();
95  void removeObject(const BaseMapObject*);
96  void show(const BaseMapObject&,bool yn);
97 
98  void showLabels(bool yn);
99  bool labelsShown() const;
100 
101  void addObject(uiBaseMapObject*);
102 
103  const uiBaseMapObject* uiObjectAt(const Geom::Point2D<float>&) const;
104  const char* nameOfItemAt(const Geom::Point2D<float>&) const;
105  void getMousePosInfo(BufferString& name,Coord3&,
106  TrcKey&,float& val,
107  BufferString& info) const;
108 
109  uiGraphicsItem& worldItem() { return worlditem_;}
110  void centerWorldItem(bool);
111  inline uiGroup& attachGroup() { return *bmgroup_; }
112  inline uiGraphicsView& view() { return *view_; }
114  inline const uiWorld2Ui& getWorld2Ui() const { return w2ui_; }
115 
118 
119 protected:
120 
121  int indexOf(const BaseMapObject*) const;
122 
125  uiGraphicsItem& worlditem_;
127  bool changed_;
129 
131 
132  void reSizeCB(CallBacker*);
133  virtual void reDraw(bool deep=true);
134  void updateTransform();
135 
136 private:
138 };
Class to provide coordinate conversion between a cartesian coordinate system (or any other transforme...
Definition: uiworld2ui.h:53
Definition: uigroup.h:53
#define mExpClass(module)
Definition: commondefs.h:157
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
bool labelsShown() const
Definition: uibasemap.h:47
uiWorld2Ui & w2ui_
Definition: uibasemap.h:137
Definition: uibasemap.h:77
uiGraphicsView * view_
Definition: uibasemap.h:124
BaseMapObject * getObject(int id)
ObjectSet< uiBaseMapObject > objects_
Definition: uibasemap.h:126
uiGraphicsItem & graphItem()
Definition: uibasemap.h:42
void getMousePosInfo(BufferString &name, Coord3 &, TrcKey &, float &val, BufferString &info) const
ObjectSet< uiBaseMapObject > & getObjects()
Definition: uibasemap.h:89
BaseMapObject * bmobject_
Definition: uibasemap.h:70
void centerWorldItem(bool)
virtual void reDraw(bool deep=true)
bool hasChanged() const
Definition: uibasemap.h:35
void resetChangeFlag()
CNotifier< uiBaseMap, int > objectAdded
Definition: uibasemap.h:116
const uiGraphicsItem & graphItem() const
Definition: uibasemap.h:43
bool hasChanged()
Definition: uiparent.h:24
bool centerworlditem_
Definition: uibasemap.h:128
uiGraphicsItem & worldItem()
Definition: uibasemap.h:109
bool labelsShown() const
virtual ~uiBaseMap()
ObjectSet< T >::size_type indexOf(const ObjectSet< T > &os, const S &val)
Locate object in set.
Definition: objectset.h:173
void showLabels(bool yn)
uiGraphicsItem & worlditem_
Definition: uibasemap.h:125
Definition: basemap.h:126
const uiWorld2Ui & getWorld2Ui() const
Definition: uibasemap.h:114
const uiBaseMapObject * uiObjectAt(const Geom::Point2D< float > &) const
bool showlabels_
Definition: uibasemap.h:66
3D point or vector
Definition: commontypes.h:57
BaseMapObject * getObject()
Definition: uibasemap.h:31
uiGroup * bmgroup_
Definition: uibasemap.h:123
bool changed_
Definition: uibasemap.h:69
void show(const BaseMapObject &, bool yn)
uiGroup & attachGroup()
Definition: uibasemap.h:111
uiBaseMapObject * getUiObject(int id)
void updateTransform()
uiGraphicsScene & scene()
void setChangeFlag()
Definition: uibasemap.h:92
const uiGraphicsItem & labelItem() const
Definition: uibasemap.h:45
void setView(const uiWorldRect &)
uiGraphicsItem & graphitem_
Definition: uibasemap.h:64
const BaseMapObject * getObject() const
Definition: uibasemap.h:30
void reSizeCB(CallBacker *)
void resetChangeFlag()
Definition: uibasemap.h:36
uiGraphicsView & view()
Definition: uibasemap.h:112
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
uiGraphicsItem & labelItem()
Definition: uibasemap.h:44
uiBaseMap(uiParent *)
Definition: uigraphicsview.h:49
const char * nameOfItemAt(const Geom::Point2D< float > &) const
CNotifier< uiBaseMap, int > objectRemoved
Definition: uibasemap.h:117
Represents a unique trace position in one of the surveys that OpendTect is managing.
Definition: trckey.h:26
Definition: uibasemap.h:24
uiWorldRect wr_
Definition: uibasemap.h:130
Definition: basemap.h:34
bool changed_
Definition: uibasemap.h:127
virtual void addObject(BaseMapObject *)
Definition: uigraphicsscene.h:35
void removeObject(const BaseMapObject *)
Owned by caller.
uiGraphicsItem & labelitem_
Definition: uibasemap.h:65
const uiWorld2Ui * transform_
Definition: uibasemap.h:67

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