OpendTect  6.3
uiodscenemgr.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: A.H. Bril
7  Date: Dec 2003
8 ________________________________________________________________________
9 
10 -*/
11 
12 #include "uiodmainmod.h"
13 #include "uiodapplmgr.h"
14 #include "uisettings.h"
15 
16 #include "datapack.h"
17 #include "emposid.h"
18 #include "flatview.h"
19 #include "odpresentationmgr.h"
20 #include "uivispartserv.h"
21 
22 class BufferStringSet;
23 class Timer;
24 class uiDockWin;
25 class uiTreeView;
26 class uiMdiArea;
27 class uiMdiAreaWindow;
28 class uiODSceneTreeTop;
29 class ui3DViewer;
30 class uiTreeFactorySet;
31 class uiTreeItem;
32 class uiWindowGrabber;
33 class ZAxisTransform;
34 namespace Pick { class Set; }
35 namespace Geometry { class RandomLineSet; }
36 
38 
45 mExpClass(uiODMain) uiODScene : public OD::PresentationManagedViewer
46 {
47 public:
49  ~uiODScene();
51  { return sSceneViewerTypeID; }
52 
53 private:
54  uiDockWin* dw_;
56  uiMdiAreaWindow* mdiwin_;
59 
60  friend class uiODSceneMgr;
61 };
62 
63 
64 mExpClass(uiODMain) uiODSceneMgr : public OD::VwrTypePresentationMgr
66 public:
67 
69  { return theViewerTypeID(); }
70  static OD::ViewerTypeID theViewerTypeID()
71  { return sSceneViewerTypeID; }
72 
73  void cleanUp(bool startnew=true);
74  int nrScenes() { return viewers_.size(); }
75  int addScene(bool maximized,ZAxisTransform* =0,
76  const uiString& nm=uiString::emptyString());
78  void setSceneName(int sceneid,const uiString&);
79  uiString getSceneName(int sceneid) const;
80  const ZDomain::Info* zDomainInfo(int sceneid) const;
81 
85 
86  void getScenePars(IOPar&);
87  void useScenePars(const IOPar&);
88  void setSceneProperties();
89 
90  void setToViewMode(bool yn=true);
92  void viewModeChg(CallBacker* cb=0);
93  void actMode(CallBacker* cb=0);
94  void viewMode(CallBacker* cb=0);
95  bool inViewMode() const;
97 
99 
100  void updateStatusBar();
101  void setStereoType(int);
102  int getStereoType() const;
103 
104  void tile();
105  void tileHorizontal();
106  void tileVertical();
107  void cascade();
108  void layoutScenes();
109 
110  void toHomePos(CallBacker*);
111  void saveHomePos(CallBacker*);
112  void viewAll(CallBacker*);
113  void align(CallBacker*);
114  void showRotAxis(CallBacker*);
115  void viewX(CallBacker*);
116  void viewY(CallBacker*);
117  void viewZ(CallBacker*);
118  void viewInl(CallBacker*);
119  void viewCrl(CallBacker*);
121  void mkSnapshot(CallBacker*);
122  void soloMode(CallBacker*);
124 
125  void setZoomValue(float);
126  void zoomChanged(CallBacker*);
127  void anyWheelStart(CallBacker*);
128  void anyWheelStop(CallBacker*);
129  void hWheelMoved(CallBacker*);
130  void vWheelMoved(CallBacker*);
131  void dWheelMoved(CallBacker*);
132 
133  int askSelectScene(const char* zdomfilt=0) const;
134  // returns sceneid
135 
136  const ui3DViewer* get3DViewer(int sceneid) const;
137  ui3DViewer* get3DViewer(int sceneid);
139  void getSceneNames(uiStringSet&,int& act) const;
140  void setActiveScene(int idx);
141  void getActiveSceneName(BufferString&) const;
142  int getActiveSceneID() const;
144 
146 
147  void updateTrees();
148  void rebuildTrees();
149  void setItemInfo(int visid);
150  void updateSelectedTreeItem();
151  void updateItemToolbar(int visid);
152  int getIDFromName(const char*) const;
153  void disabRightClick( bool yn );
154  void disabTrees( bool yn );
155 
156  void getLoadedPickSetIDs(DBKeySet&,bool poly,
157  int scnid=-1) const;
159  const char* emtypestr=0,
160  int sceneid=-1) const;
161  // if sceneid==-1, then all scenes
162  int addEMItem(const EM::ObjectID&,int sceneid=-1);
163  int addPickSetItem(const DBKey&,int sceneid=-1);
164  int addPickSetItem(Pick::Set&,int sceneid=-1);
165  int addRandomLineItem(int rlid,int sceneid=-1);
166  int addWellItem(const DBKey&,int sceneid=-1);
167  int add2DLineItem(Pos::GeomID,int sceneid=-1);
168  int add2DLineItem(const DBKey&,int sceneid=-1);
169  int addInlCrlItem(OD::SliceType,int nr,
170  int sceneid=-1);
171  int addZSliceItem(float z,int sceneid=-1);
172 
173  void removeTreeItem(int displayid);
174  uiTreeItem* findItem(int displayid);
175  void findItems(const char*,ObjectSet<uiTreeItem>&);
176 
178  uiTreeView* getTree(int sceneid);
179 
180  static int cNameColumn() { return 0; }
181  static int cColorColumn() { return 1; }
182  void setViewSelectMode(int);
183 
184  float getHeadOnLightIntensity(int) const;
185  void setHeadOnLightIntensity(int,float);
186 
187  void translateText();
188 
189  static uiString sElements() { return tr("Elements"); }
190 
191  uiODScene* getScene(int sceneid);
192  const uiODScene* getScene(int sceneid) const;
193 
194 protected:
195 
197  ~uiODSceneMgr();
198  void initMenuMgrDepObjs();
199  void resetStatusBar(int id=-1);
200 
201  void afterFinalise(CallBacker*);
202 
205  void mdiAreaChanged(CallBacker*);
206 
207  int vwridx_;
210 
211  inline uiODApplMgr& applMgr() { return appl_.applMgr(); }
212  inline uiVisPartServer& visServ() { return *applMgr().visServer(); }
213 
214 
216  void removeScene(uiODScene& scene);
217  void removeSceneCB(CallBacker*);
218  void initTree(uiODScene&,int);
219  uiODScene* getSceneByIdx(int idx);
220  const uiODScene* getSceneByIdx(int idx) const;
222  void gtLoadedEMIDs(const uiODScene*,
224  const char* emtypestr) const;
225  void gtLoadedEMIDs(const uiTreeItem*,
227  const char* emtypestr) const;
228  void gtLoadedPickSetIDs(const uiODScene&,
229  DBKeySet&, bool poly) const;
230  void gtLoadedPickSetIDs(const uiTreeItem&,
231  DBKeySet&,bool poly) const;
232 
234  void tileTimerCB(CallBacker*);
235 
236  void font3DChanged(CallBacker*);
237 
238  friend class uiODMain;
239 };
240 
245 public:
246  mDefaultFactoryInstantiation2Param( uiSettingsGroup,
248  uiParent*,Settings&,
249  "Mouse interaction",
250  tr("Mouse Interaction") );
251 
253 
254 private:
255  bool acceptOK();
256  virtual HelpKey helpKey() const;
257 
261 
265 };
void hWheelMoved(CallBacker *)
void initMenuMgrDepObjs()
CNotifier< uiODSceneMgr, int > treeAdded
Definition: uiodscenemgr.h:84
#define mExpClass(module)
Definition: commondefs.h:157
od_int32 ObjectID
Definition: emposid.h:22
OD::ViewerTypeID viewerTypeID() const
Definition: uiodscenemgr.h:50
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:182
void setItemInfo(int visid)
void anyWheelStop(CallBacker *)
CNotifier< uiODSceneMgr, int > sceneClosed
Definition: uiodscenemgr.h:82
int addZSliceItem(float z, int sceneid=-1)
void setToViewMode(bool yn=true)
static uiString sElements()
Definition: uiodscenemgr.h:189
static int cColorColumn()
Definition: uiodscenemgr.h:181
void newSceneUpdated(CallBacker *)
uiTreeFactorySet * treeItemFactorySet()
Definition: uiodscenemgr.h:177
int getIDFromName(const char *) const
Application level manager - ties part servers together.
Definition: uiodapplmgr.h:53
void disabTrees(bool yn)
OpendTect application top level object.
Definition: uiodmain.h:38
void actMode(CallBacker *cb=0)
Notifier< uiODSceneMgr > activeSceneChanged
Definition: uiodscenemgr.h:143
#define mODTextTranslationClass(clss)
Definition: uistring.h:37
void setSceneName(int sceneid, const uiString &)
void viewY(CallBacker *)
int getActiveSceneID() const
The Visualization Part Server.
Definition: uivispartserv.h:60
const ui3DViewer * get3DViewer(int sceneid) const
void translateText()
void anyWheelStart(CallBacker *)
uiODMain & appl_
Definition: uiodscenemgr.h:203
BufferString initialkeybinding_
Definition: uiodscenemgr.h:262
void zoomChanged(CallBacker *)
void align(CallBacker *)
void updateSelectedTreeItem()
uiODSceneTreeTop * itemmanager_
Definition: uiodscenemgr.h:58
Definition: dbkey.h:98
void saveHomePos(CallBacker *)
uiString getSceneName(int sceneid) const
void viewCrl(CallBacker *)
static const uiString & emptyString()
Definition: uistring.h:107
virtual ViewerTypeID viewerTypeID() const =0
Definition: uimdiarea.h:63
Definition: uistring.h:88
Definition: uiparent.h:24
uiTreeView * getTree(int sceneid)
void viewAll(CallBacker *)
static OD::ViewerTypeID sSceneViewerTypeID(OD::ViewerTypeID::get(0))
void pageUpDownPressed(CallBacker *)
Set of BufferString objects.
Definition: bufstringset.h:25
Definition: helpview.h:47
void layoutScenes()
void setStereoType(int)
void toHomePos(CallBacker *)
void updateTrees()
uiTreeItem * findItem(int displayid)
Definition: uiodscenemgr.h:243
Manages the scenes and the corresponding trees.
Definition: uiodscenemgr.h:45
uiODScene * getSceneByIdx(int idx)
Monitorable set of pick locations.
Definition: pickset.h:41
Definition: groupedid.h:40
CNotifier< uiODSceneMgr, int > treeToBeAdded
Definition: uiodscenemgr.h:83
void setViewSelectMode(int)
int addPickSetItem(const DBKey &, int sceneid=-1)
void soloMode(CallBacker *)
void updateItemToolbar(int visid)
void initTree(uiODScene &, int)
Notifier< uiODSceneMgr > viewModeChanged
Definition: uiodscenemgr.h:96
void getScenePars(IOPar &)
Definition: uiodscenetreeitem.h:43
Definition: uiwindowgrabber.h:60
void afterFinalise(CallBacker *)
uiODScene * getScene(int sceneid)
int vwridx_
Definition: uiodscenemgr.h:207
void switchCameraType(CallBacker *)
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:53
uiTreeView * lv_
Definition: uiodscenemgr.h:55
void resetStatusBar(int id=-1)
void rebuildTrees()
void getSceneNames(uiStringSet &, int &act) const
Definition: uiodscenemgr.h:64
static int cNameColumn()
Definition: uiodscenemgr.h:180
Definition: ui3dviewer.h:27
uiMdiAreaWindow * mdiwin_
Definition: uiodscenemgr.h:56
void viewZ(CallBacker *)
uiODSceneMgr(uiODMain *)
mODTextTranslationClass(uiODSceneMgr) public
Definition: uiodscenemgr.h:65
int addRandomLineItem(int rlid, int sceneid=-1)
void get3DViewers(ObjectSet< ui3DViewer > &)
General Input Element.
Definition: uigeninput.h:56
ObjectSet< PresentationManagedViewer > viewers_
Definition: odpresentationmgr.h:169
void mdiAreaChanged(CallBacker *)
void mkSnapshot(CallBacker *)
void viewX(CallBacker *)
void viewInl(CallBacker *)
int askSelectScene(const char *zdomfilt=0) const
void setZoomValue(float)
int addInlCrlItem(OD::SliceType, int nr, int sceneid=-1)
Timer * tiletimer_
Definition: uiodscenemgr.h:233
Settings class holds the user settings. It is an IOPar.
Definition: settings.h:32
void vWheelMoved(CallBacker *)
const ZDomain::Info * zDomainInfo(int sceneid) const
uiVisPartServer & visServ()
Definition: uiodscenemgr.h:212
bool initialmousewheelreversal_
Definition: uiodscenemgr.h:264
void viewMode(CallBacker *cb=0)
void showRotAxis(CallBacker *)
Definition: uitreeview.h:29
WorkMode
Definition: uivispartserv.h:324
uiGenInput * trackpadzoomspeedfld_
Definition: uiodscenemgr.h:260
void useScenePars(const IOPar &)
void setSceneProperties()
void getLoadedEMIDs(TypeSet< EM::ObjectID > &, const char *emtypestr=0, int sceneid=-1) const
void getActiveSceneName(BufferString &) const
Index_Type GeomID
Definition: commontypes.h:48
float initialzoomfactor_
Definition: uiodscenemgr.h:263
int addScene(bool maximized, ZAxisTransform *=0, const uiString &nm=uiString::emptyString())
Returns scene id.
uiGenInput * wheeldirectionfld_
Definition: uiodscenemgr.h:259
void cleanUp(bool startnew=true)
void updateStatusBar()
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size...
Definition: bufstring.h:38
void tileTimerCB(CallBacker *)
SliceType
OpendTect flat slice types.
Definition: oduicommon.h:30
uiODScene & mkNewScene()
int addWellItem(const DBKey &, int sceneid=-1)
uiTreeFactorySet * tifs_
Definition: uiodscenemgr.h:208
static GroupID get(GroupNrT i)
Definition: groupedid.h:40
uiGenInput * keybindingfld_
Definition: uiodscenemgr.h:258
Definition: picklocation.h:19
uiDockWin * dw_
Definition: uiodscenemgr.h:54
Definition: uisettings.h:60
void removeTreeItem(int displayid)
OpendTect.
Definition: commontypes.h:25
uiVisPartServer * visServer()
Definition: uiodapplmgr.h:58
bool inViewMode() const
void findItems(const char *, ObjectSet< uiTreeItem > &)
void setToWorkMode(uiVisPartServer::WorkMode wm)
void disabRightClick(bool yn)
void viewModeChg(CallBacker *cb=0)
Definition: uistring.h:235
void font3DChanged(CallBacker *)
Full key to any object in the OpendTect data store.
Definition: dbkey.h:36
uiWindowGrabber * wingrabber_
Definition: uiodscenemgr.h:209
void getLoadedPickSetIDs(DBKeySet &, bool poly, int scnid=-1) const
float getHeadOnLightIntensity(int) const
void doDirectionalLight(CallBacker *)
uiODApplMgr & applMgr()
Definition: uiodmain.h:48
Timer class.
Definition: timer.h:24
#define mDefaultFactoryInstantiation2Param(baseclss, clss, parclss1, parclss2, keywrd, usernm)
Definition: factory.h:307
Base class for z-axis transforms.
Definition: zaxistransform.h:35
Definition: uitreeitem.h:285
uiODSceneTreeTop * getTreeItemMgr(const uiTreeView *) const
void removeScene(uiODScene &scene)
void gtLoadedEMIDs(const uiODScene *, TypeSet< EM::ObjectID > &, const char *emtypestr) const
uiODApplMgr & applMgr()
Definition: uiodscenemgr.h:211
are helping classes for uiTreeViews, wich makes it easy to bundle inteligence and data to treeitems...
Definition: uitreeitem.h:34
ui3DViewer * vwr3d_
Definition: uiodscenemgr.h:57
void removeSceneCB(CallBacker *)
void gtLoadedPickSetIDs(const uiODScene &, DBKeySet &, bool poly) const
Definition: arraytesselator.h:19
void setActiveScene(int idx)
void dWheelMoved(CallBacker *)
Information of z-domain.
Definition: zdomain.h:96
void tileHorizontal()
int add2DLineItem(Pos::GeomID, int sceneid=-1)
void tileVertical()
uiMdiArea * mdiarea_
Definition: uiodscenemgr.h:204
int nrScenes()
Definition: uiodscenemgr.h:74
int addEMItem(const EM::ObjectID &, int sceneid=-1)
void cascade()
void setHeadOnLightIntensity(int, float)
int getStereoType() const

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