OpendTect  6.6
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  RCS: $Id$
9 ________________________________________________________________________
10 
11 -*/
12 
13 #include "uiodmainmod.h"
14 #include "uiodapplmgr.h"
15 #include "uisettings.h"
16 
17 #include "datapack.h"
18 #include "emposid.h"
19 #include "flatview.h"
20 #include "uivispartserv.h"
21 
22 class BufferStringSet;
23 class Timer;
24 class ZAxisTransform;
25 class uiDockWin;
26 class uiFlatViewWin;
27 class uiMdiArea;
28 class uiMdiAreaWindow;
30 class uiODTreeTop;
31 class ui3DViewer;
32 class uiTreeFactorySet;
33 class uiTreeItem;
34 class uiTreeView;
35 class uiWindowGrabber;
36 namespace Pick { class Set; }
37 namespace Geometry { class RandomLineSet; }
38 
39 
48 public:
49 
50  void cleanUp(bool startnew=true);
51  int nrScenes() { return scenes_.size(); }
52  int addScene(bool maximized,ZAxisTransform* =0,
53  const uiString& nm=uiString::emptyString());
55  void setSceneName(int sceneid,const uiString&);
56  uiString getSceneName(int sceneid) const;
62 
64  void useScenePars(const IOPar&);
66 
67  void setToViewMode(bool yn=true);
69  void viewModeChg(CallBacker* cb=0);
70  void actMode(CallBacker* cb=0);
71  void viewMode(CallBacker* cb=0);
72  bool inViewMode() const;
74 
76 
78  void setStereoType(int);
79  int getStereoType() const;
80 
81  void tile();
83  void tileVertical();
84  void cascade();
85  void layoutScenes();
86 
90  void align(CallBacker*);
92  void viewX(CallBacker*);
93  void viewY(CallBacker*);
94  void viewZ(CallBacker*);
101 
102  void setZoomValue(float);
109 
110  int askSelectScene() const; // returns sceneid
111  const ui3DViewer* get3DViewer(int sceneid) const;
112  ui3DViewer* get3DViewer(int sceneid);
114  void getSceneNames(uiStringSet&,int& act) const;
115  void setActiveScene(int idx);
117  int getActiveSceneID() const;
119 
121  uiODTreeTop* getTreeItemMgr(int sceneid) const;
122 
123  void displayIn2DViewer(int visid,int attribid,
124  bool wva);
125  void remove2DViewer(int visid);
126 
127  void updateTrees();
128  void rebuildTrees();
129  void setItemInfo(int visid);
131  void updateItemToolbar(int visid);
132  int getIDFromName(const char*) const;
133  void disabRightClick( bool yn );
134  void disabTrees( bool yn );
135 
137  int scnid=-1) const;
139  const char* emtypestr=0,
140  int sceneid=-1) const;
141  // if sceneid==-1, then all scenes
142  int addEMItem(const EM::ObjectID&,int sceneid=-1);
143  int addPickSetItem(const MultiID&,int sceneid=-1);
144  int addPickSetItem(Pick::Set&,int sceneid=-1);
145  int addRandomLineItem(int rlid,int sceneid=-1);
146  int addWellItem(const MultiID&,int sceneid=-1);
147  int add2DLineItem(Pos::GeomID,int sceneid=-1);
148  int add2DLineItem(const MultiID&,int sceneid=-1);
149  int add2DLineItem(Pos::GeomID,int sceneid,
150  bool withdata);
152  int sceneid=-1);
154  int sceneid=-1);
156  const Attrib::SelSpec&,
157  int sceneid=-1);
159  const Attrib::SelSpec&,
161  int sceneid=-1);
163  int sceneid=-1);
164 
165  void removeTreeItem(int displayid);
166  uiTreeItem* findItem(int displayid);
167  void findItems(const char*,ObjectSet<uiTreeItem>&);
168  void findItems(const char*,ObjectSet<uiTreeItem>&,
169  int sceneid);
170 
172  uiTreeView* getTree(int sceneid);
173 
174  static int cNameColumn() { return 0; }
175  static int cColorColumn() { return 1; }
176  void setViewSelectMode(int);
177 
178  float getHeadOnLightIntensity(int) const;
179  void setHeadOnLightIntensity(int,float);
180 
182 
183  static uiString sElements() { return tr("Elements"); }
184 
185 protected:
186 
190 
192 
196 
197  int vwridx_;
200 
201  inline uiODApplMgr& applMgr() { return appl_.applMgr(); }
202  inline uiVisPartServer& visServ() { return *applMgr().visServer(); }
203 
205  {
206  public:
209 
210  uiDockWin* dw_;
212  uiMdiAreaWindow* mdiwin_;
215  };
216 
219  void removeScene(Scene& scene);
221  void initTree(Scene&,int);
222  Scene* getScene(int sceneid);
223  const Scene* getScene(int sceneid) const;
225  void gtLoadedEMIDs(const Scene*,
227  const char* emtypestr) const;
230  const char* emtypestr) const;
232  TypeSet<MultiID>&, bool poly) const;
234  TypeSet<MultiID>&,bool poly) const;
235 
238 
240 
241  friend class uiODMain;
242 
243  void resetStatusBar(int id=-1);
245 };
246 
251 public:
254  uiParent*,Settings&,
255  "Mouse interaction",
256  mToUiStringTodo(sFactoryKeyword()));
257 
259 
260 private:
261  bool acceptOK();
262  virtual HelpKey helpKey() const;
263 
267 
271 };
272 
uiODSceneMgr::viewInl
void viewInl(CallBacker *)
uiODSceneMgr::mkSnapshot
void mkSnapshot(CallBacker *)
Settings
Settings class holds the user settings. It is an IOPar.
Definition: settings.h:34
uiODSceneMgr::askSelectScene
int askSelectScene() const
emposid.h
uiTreeFactorySet
Definition: uitreeitemmanager.h:287
uiODSceneMgr::cascade
void cascade()
flatview.h
uiODSceneMgr::get3DViewers
void get3DViewers(ObjectSet< ui3DViewer > &)
uiODSceneMgr::initTree
void initTree(Scene &, int)
uiODSceneMgr::viewY
void viewY(CallBacker *)
OD::SliceType
SliceType
OpendTect flat slice types.
Definition: oduicommon.h:32
uiODSceneMgr::scenesShown
Notifier< uiODSceneMgr > & scenesShown()
uiKeyBindingSettingsGroup::initialmousewheelreversal_
bool initialmousewheelreversal_
Definition: uiodscenemgr.h:270
uiODSceneMgr::viewModeChg
void viewModeChg(CallBacker *cb=0)
Pick::Set
Set of picks with something in common.
Definition: pickset.h:34
uiTreeItem
Definition: uitreeitemmanager.h:34
uiODSceneMgr::wingrabber_
uiWindowGrabber * wingrabber_
Definition: uiodscenemgr.h:199
uiODSceneMgr::addZSliceItem
int addZSliceItem(DataPack::ID, const Attrib::SelSpec &, const FlatView::DataDispPars::VD &, int sceneid=-1)
uiKeyBindingSettingsGroup::helpKey
virtual HelpKey helpKey() const
uiODSceneMgr::updateItemToolbar
void updateItemToolbar(int visid)
uiODSceneMgr::viewMode
void viewMode(CallBacker *cb=0)
uiTreeView
Definition: uitreeview.h:33
uiKeyBindingSettingsGroup::mODTextTranslationClass
mODTextTranslationClass(uiKeyBindingSettingsGroup)
uiODSceneMgr::gtLoadedEMIDs
void gtLoadedEMIDs(const Scene *, TypeSet< EM::ObjectID > &, const char *emtypestr) const
uiKeyBindingSettingsGroup::mDefaultFactoryInstantiation2Param
mDefaultFactoryInstantiation2Param(uiSettingsGroup, uiKeyBindingSettingsGroup, uiParent *, Settings &, "Mouse interaction", mToUiStringTodo(sFactoryKeyword()))
uiStringSet
Definition: uistringset.h:23
uiODSceneMgr::addPickSetItem
int addPickSetItem(const MultiID &, int sceneid=-1)
ObjectSet< ui3DViewer >
uiODSceneMgr::getIDFromName
int getIDFromName(const char *) const
uiODSceneMgr::pageUpDownPressed
void pageUpDownPressed(CallBacker *)
uiODSceneMgr::tileVertical
void tileVertical()
BufferStringSet
Set of BufferString objects.
Definition: bufstringset.h:26
uiODSceneMgr::translateText
void translateText()
uiODSceneMgr::nrScenes
mODTextTranslationClass(uiODSceneMgr) public int nrScenes()
Definition: uiodscenemgr.h:51
uiODSceneMgr::initMenuMgrDepObjs
void initMenuMgrDepObjs()
uiODSceneMgr::Scene::Scene
Scene(uiMdiArea *)
Geometry
Definition: arraytesselator.h:21
uiODSceneMgr::cNameColumn
static int cNameColumn()
Definition: uiodscenemgr.h:174
uiODSceneMgr::toHomePos
void toHomePos(CallBacker *)
uiODSceneMgr::~uiODSceneMgr
~uiODSceneMgr()
HelpKey
Definition: helpview.h:50
Pick
Definition: picklocation.h:21
uiODSceneMgr::resetStatusBar
void resetStatusBar(int id=-1)
mExpClass
#define mExpClass(module)
Definition: commondefs.h:177
uivispartserv.h
uiODSceneMgr::viewX
void viewX(CallBacker *)
uiODSceneMgr::uiODSceneMgr
uiODSceneMgr(uiODMain *)
uiODSceneMgr::Scene::mdiwin_
uiMdiAreaWindow * mdiwin_
Definition: uiodscenemgr.h:212
uiODSceneMgr::tileTimerCB
void tileTimerCB(CallBacker *)
uiODSceneMgr::addDisplayTreeItem
int addDisplayTreeItem(uiODDisplayTreeItem *, int sceneid=-1)
uiODSceneMgr::addZSliceItem
int addZSliceItem(const TrcKeyZSampling &, int sceneid=-1)
uiODSceneMgr::gtLoadedEMIDs
void gtLoadedEMIDs(const uiTreeItem *, TypeSet< EM::ObjectID > &, const char *emtypestr) const
uiKeyBindingSettingsGroup::keybindingfld_
uiGenInput * keybindingfld_
Definition: uiodscenemgr.h:264
ui3DViewer
Definition: ui3dviewer.h:29
uiODSceneMgr::tifs_
uiTreeFactorySet * tifs_
Definition: uiodscenemgr.h:198
uiODSceneMgr::useScenePars
void useScenePars(const IOPar &)
uiODSceneMgr::sceneClosed
CNotifier< uiODSceneMgr, int > sceneClosed
Definition: uiodscenemgr.h:57
uiODSceneMgr::disabRightClick
void disabRightClick(bool yn)
uiODSceneMgr::gtLoadedPickSetIDs
void gtLoadedPickSetIDs(const Scene &, TypeSet< MultiID > &, bool poly) const
uiODSceneMgr::addScene
int addScene(bool maximized, ZAxisTransform *=0, const uiString &nm=uiString::emptyString())
Returns scene id.
CallBacker
Inherit from this class to be able to send and/or receive CallBacks.
Definition: callback.h:185
uiODSceneMgr::scenes_
ObjectSet< Scene > scenes_
Definition: uiodscenemgr.h:217
uiKeyBindingSettingsGroup::initialzoomfactor_
float initialzoomfactor_
Definition: uiodscenemgr.h:269
uiODSceneMgr::rebuildTrees
void rebuildTrees()
uiODSceneMgr::getScenePars
void getScenePars(IOPar &)
uiODSceneMgr::addZSliceItem
int addZSliceItem(const TrcKeyZSampling &, const Attrib::SelSpec &, int sceneid=-1)
uiODSceneMgr::doDirectionalLight
void doDirectionalLight(CallBacker *)
uiVisPartServer::WorkMode
WorkMode
Definition: uivispartserv.h:328
uiODSceneMgr::getSceneNames
void getSceneNames(uiStringSet &, int &act) const
mODTextTranslationClass
#define mODTextTranslationClass(clss)
Definition: uistring.h:40
uiODSceneMgr::getTree
uiTreeView * getTree(int sceneid)
uiKeyBindingSettingsGroup::trackpadzoomspeedfld_
uiGenInput * trackpadzoomspeedfld_
Definition: uiodscenemgr.h:266
uiODSceneMgr::findItems
void findItems(const char *, ObjectSet< uiTreeItem > &, int sceneid)
TrcKeyZSampling
Hor+Vert sampling in 3D surveys.
Definition: trckeyzsampling.h:35
uiODSceneMgr::align
void align(CallBacker *)
Timer
Timer class.
Definition: timer.h:25
uiGenInput
General Input Element.
Definition: uigeninput.h:59
uiODSceneMgr::getSceneName
uiString getSceneName(int sceneid) const
uiKeyBindingSettingsGroup::wheeldirectionfld_
uiGenInput * wheeldirectionfld_
Definition: uiodscenemgr.h:265
uiODSceneMgr::getLoadedPickSetIDs
void getLoadedPickSetIDs(TypeSet< MultiID > &, bool poly, int scnid=-1) const
uiODSceneMgr::getTreeItemMgr
uiODTreeTop * getTreeItemMgr(int sceneid) const
uiODSceneMgr::soloMode
void soloMode(CallBacker *)
uiKeyBindingSettingsGroup::initialkeybinding_
BufferString initialkeybinding_
Definition: uiodscenemgr.h:268
uiODSceneMgr::showIfMinimized
void showIfMinimized(CallBacker *)
uiODSceneMgr::setSceneProperties
void setSceneProperties()
uiODSceneMgr::getScene
Scene * getScene(int sceneid)
ZAxisTransform
Base class for z-axis transforms.
Definition: zaxistransform.h:37
uiODSceneMgr::addEMItem
int addEMItem(const EM::ObjectID &, int sceneid=-1)
uiMdiArea
Definition: uimdiarea.h:68
uiODSceneMgr::dWheelMoved
void dWheelMoved(CallBacker *)
uiODSceneMgr::showRotAxis
void showRotAxis(CallBacker *)
uiODSceneMgr::displayIn2DViewer
void displayIn2DViewer(int visid, int attribid, bool wva)
uiODSceneMgr::mdiAreaChanged
void mdiAreaChanged(CallBacker *)
uiODSceneMgr::add2DLineItem
int add2DLineItem(const MultiID &, int sceneid=-1)
uiODSceneMgr::addPickSetItem
int addPickSetItem(Pick::Set &, int sceneid=-1)
uiWindowGrabber
Definition: uiwindowgrabber.h:62
uiODSceneMgr::get3DViewer
ui3DViewer * get3DViewer(int sceneid)
uiODSceneMgr::findItem
uiTreeItem * findItem(int displayid)
uiODSceneMgr::applMgr
uiODApplMgr & applMgr()
Definition: uiodscenemgr.h:201
uiODSceneMgr::Scene::itemmanager_
uiODTreeTop * itemmanager_
Definition: uiodscenemgr.h:214
uiODSceneMgr::setZoomValue
void setZoomValue(float)
uiODSceneMgr::updateSelectedTreeItem
void updateSelectedTreeItem()
uiODSceneMgr::removeSceneCB
void removeSceneCB(CallBacker *)
uiODSceneMgr::anyWheelStart
void anyWheelStart(CallBacker *)
uiODSceneMgr::tile
void tile()
uiODSceneMgr::cColorColumn
static int cColorColumn()
Definition: uiodscenemgr.h:175
uiODSceneMgr::hWheelMoved
void hWheelMoved(CallBacker *)
uiODSceneMgr::getLoadedEMIDs
void getLoadedEMIDs(TypeSet< EM::ObjectID > &, const char *emtypestr=0, int sceneid=-1) const
uiODSceneMgr::gtLoadedPickSetIDs
void gtLoadedPickSetIDs(const uiTreeItem &, TypeSet< MultiID > &, bool poly) const
uiODSceneMgr::get3DViewer
const ui3DViewer * get3DViewer(int sceneid) const
uiODSceneMgr::activeSceneChanged
Notifier< uiODSceneMgr > activeSceneChanged
Definition: uiodscenemgr.h:118
uiODSceneMgr::getScene
const Scene * getScene(int sceneid) const
uiODSceneMgr::zoomChanged
void zoomChanged(CallBacker *)
Notifier< uiODSceneMgr >
uiFlatViewWin
Base class for windows containing one or more uiFlatViewer(s).
Definition: uiflatviewwin.h:31
uiODSceneMgr::setHeadOnLightIntensity
void setHeadOnLightIntensity(int, float)
uiODSceneMgr::afterFinalise
void afterFinalise(CallBacker *)
uiODDisplayTreeItem
Definition: uioddisplaytreeitem.h:24
uiODSceneMgr::viewAll
void viewAll(CallBacker *)
uiODSceneMgr::treeItemFactorySet
uiTreeFactorySet * treeItemFactorySet()
Definition: uiodscenemgr.h:171
uiODSceneMgr::addRandomLineItem
int addRandomLineItem(int rlid, int sceneid=-1)
uiODSceneMgr::viewCrl
void viewCrl(CallBacker *)
uiODSceneMgr::setActiveScene
void setActiveScene(int idx)
datapack.h
uiODSceneMgr::layoutScenes
void layoutScenes()
uiODMain
OpendTect application top level object.
Definition: uiodmain.h:42
uiODSceneMgr::switchCameraType
void switchCameraType(CallBacker *)
uiODSceneMgr::setSceneName
void setSceneName(int sceneid, const uiString &)
MultiID
Compound key consisting of ints.
Definition: multiid.h:24
uiKeyBindingSettingsGroup::uiKeyBindingSettingsGroup
uiKeyBindingSettingsGroup(uiParent *, Settings &)
uiODSceneMgr::Scene::vwr3d_
ui3DViewer * vwr3d_
Definition: uiodscenemgr.h:213
uiODSceneMgr::removeTreeItem
void removeTreeItem(int displayid)
uisettings.h
BufferString
OD::String with its own variable length buffer. The buffer has a guaranteed minimum size.
Definition: bufstring.h:40
uiODSceneMgr::anyWheelStop
void anyWheelStop(CallBacker *)
uiODSceneMgr::add2DLineItem
int add2DLineItem(Pos::GeomID, int sceneid=-1)
uiODSceneMgr::actMode
void actMode(CallBacker *cb=0)
uiODSceneMgr::viewZ
void viewZ(CallBacker *)
uiodapplmgr.h
uiODSceneMgr::mkNewScene
Scene & mkNewScene()
uiKeyBindingSettingsGroup::acceptOK
bool acceptOK()
uiODSceneMgr::getActiveSceneName
void getActiveSceneName(BufferString &) const
DataPack::ID
int ID
Definition: datapack.h:37
uiODSceneMgr::vwridx_
int vwridx_
Definition: uiodscenemgr.h:197
mToUiStringTodo
#define mToUiStringTodo(i)
Definition: uistring.h:366
FlatView::DataDispPars::VD
Variable Density (=color-bar driven) parameters.
Definition: flatview.h:230
uiString
String that is able to hold international (UTF-8) strings for the user interface.
Definition: uistring.h:121
uiString::emptyString
static const uiString & emptyString()
Definition: uistring.h:300
EM::ObjectID
od_int32 ObjectID
Definition: emposid.h:23
uiODSceneMgr::appl_
uiODMain & appl_
Definition: uiodscenemgr.h:193
uiODSceneMgr::saveHomePos
void saveHomePos(CallBacker *)
uiODSceneMgr::remove2DViewer
void remove2DViewer(int visid)
uiODSceneMgr::add2DLineItem
int add2DLineItem(Pos::GeomID, int sceneid, bool withdata)
uiODSceneMgr::treeAdded
CNotifier< uiODSceneMgr, int > treeAdded
Definition: uiodscenemgr.h:59
uiODSceneMgr::visServ
uiVisPartServer & visServ()
Definition: uiodscenemgr.h:202
uiODSceneMgr::Scene::lv_
uiTreeView * lv_
Definition: uiodscenemgr.h:211
uiODSceneMgr::getStereoType
int getStereoType() const
uiODApplMgr
Application level manager - ties part servers together.
Definition: uiodapplmgr.h:55
uiODSceneMgr::Scene::dw_
uiDockWin * dw_
Definition: uiodscenemgr.h:210
uiODSceneMgr::tileHorizontal
void tileHorizontal()
uiSettingsGroup
Definition: uisettings.h:96
uiODSceneMgr::addInlCrlItem
int addInlCrlItem(OD::SliceType, int nr, int sceneid=-1)
uiODSceneMgr::setStereoType
void setStereoType(int)
uiODSceneMgr::font3DChanged
void font3DChanged(CallBacker *)
uiODTreeTop
Definition: uiodtreeitem.h:52
uiODSceneMgr::setItemInfo
void setItemInfo(int visid)
uiParent
Definition: uiparent.h:26
uiODSceneMgr::updateTrees
void updateTrees()
uiODSceneMgr::newSceneUpdated
void newSceneUpdated(CallBacker *)
uiODSceneMgr::Scene
Definition: uiodscenemgr.h:205
uiODSceneMgr::sElements
static uiString sElements()
Definition: uiodscenemgr.h:183
uiODSceneMgr::removeScene
void removeScene(Scene &scene)
uiODSceneMgr::setViewSelectMode
void setViewSelectMode(int)
uiODSceneMgr::inViewMode
bool inViewMode() const
uiODSceneMgr::setToWorkMode
void setToWorkMode(uiVisPartServer::WorkMode wm)
uiODSceneMgr::disabTrees
void disabTrees(bool yn)
uiODSceneMgr::mdiarea_
uiMdiArea * mdiarea_
Definition: uiodscenemgr.h:194
Attrib::SelSpec
Specifies an attribute selection (ID or output number of NN).
Definition: attribsel.h:45
uiODSceneMgr::setToViewMode
void setToViewMode(bool yn=true)
uiODSceneMgr::addWellItem
int addWellItem(const MultiID &, int sceneid=-1)
uiODMain::applMgr
uiODApplMgr & applMgr()
Definition: uiodmain.h:56
uiODSceneMgr::treeToBeAdded
CNotifier< uiODSceneMgr, int > treeToBeAdded
Definition: uiodscenemgr.h:58
CNotifier< uiODSceneMgr, int >
uiODSceneMgr
Manages the scenes and the corresponding trees.
Definition: uiodscenemgr.h:47
uiODSceneMgr::getHeadOnLightIntensity
float getHeadOnLightIntensity(int) const
uiODSceneMgr::findItems
void findItems(const char *, ObjectSet< uiTreeItem > &)
uiODSceneMgr::Scene::~Scene
~Scene()
IOPar
Generalized set of parameters of the keyword-value type.
Definition: iopar.h:55
uiODSceneMgr::vWheelMoved
void vWheelMoved(CallBacker *)
uiODSceneMgr::updateStatusBar
void updateStatusBar()
uiODSceneMgr::viewModeChanged
Notifier< uiODSceneMgr > viewModeChanged
Definition: uiodscenemgr.h:73
uiODSceneMgr::scenesHidden
Notifier< uiODSceneMgr > & scenesHidden()
Pos::GeomID
Index_Type GeomID
Definition: commontypes.h:87
uiODSceneMgr::getActiveSceneID
int getActiveSceneID() const
uiKeyBindingSettingsGroup
Definition: uiodscenemgr.h:250
TypeSet< MultiID >
uiODSceneMgr::getTreeItemMgr
uiODTreeTop * getTreeItemMgr(const uiTreeView *) const
uiVisPartServer
The Visualization Part Server.
Definition: uivispartserv.h:61
uiODSceneMgr::tiletimer_
Timer * tiletimer_
Definition: uiodscenemgr.h:236

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